[FFmpeg-devel] [PATCH] iff: remove get_image_data() and get_image_size() wrappers
Stefano Sabatini
stefano.sabatini-lala at poste.it
Tue May 10 00:02:06 CEST 2011
Remove one level of indirection, simplify code.
---
libavcodec/iff.c | 37 ++++++++-----------------------------
1 files changed, 8 insertions(+), 29 deletions(-)
diff --git a/libavcodec/iff.c b/libavcodec/iff.c
index 3ca8233..195ef10 100644
--- a/libavcodec/iff.c
+++ b/libavcodec/iff.c
@@ -38,29 +38,6 @@ typedef enum {
MASK_LASSO
} mask_type;
-/**
- * Gets the actual raw image data after video properties which
- * contains the raw image data beyond the IFF extra context.
- *
- * @param avpkt the AVPacket where to extract raw image data from
- * @return pointer to raw image data
- */
-static av_always_inline uint8_t *get_image_data(const AVPacket *const avpkt) {
- return avpkt->data + AV_RB16(avpkt->data);
-}
-
-/**
- * Gets the size of raw image data beyond the IFF extra context.
- * Please note that any value < 2 of either IFF extra context
- * or raw image data is considered as an illegal packet.
- *
- * @param avpkt the AVPacket where to extract image data size from
- * @return size of raw image data in bytes
- */
-static av_always_inline int get_image_size(const AVPacket *const avpkt) {
- return avpkt->size - AV_RB16(avpkt->data);
-}
-
typedef struct {
AVFrame frame;
int planesize;
@@ -202,14 +179,16 @@ static int extract_header(AVCodecContext *const avctx,
int palette_size = avctx->extradata_size - AV_RB16(avctx->extradata);
if (avpkt) {
+ int image_size;
if (avpkt->size < 2)
return AVERROR_INVALIDDATA;
+ image_size = avpkt->size - AV_RB16(avpkt->data);
buf = avpkt->data;
buf_size = bytestream_get_be16(&buf);
- if (buf_size <= 1 || get_image_size(avpkt) <= 1) {
+ if (buf_size <= 1 || image_size <= 1) {
av_log(avctx, AV_LOG_ERROR,
"Invalid image size received: %u -> image data offset: %d\n",
- buf_size, get_image_size(avpkt));
+ buf_size, image_size);
return AVERROR_INVALIDDATA;
}
} else {
@@ -439,8 +418,8 @@ static int decode_frame_ilbm(AVCodecContext *avctx,
AVPacket *avpkt)
{
IffContext *s = avctx->priv_data;
- const uint8_t *buf = avpkt->size >= 2 ? get_image_data(avpkt) : NULL;
- const int buf_size = avpkt->size >= 2 ? get_image_size(avpkt) : 0;
+ const uint8_t *buf = avpkt->size >= 2 ? avpkt->data + AV_RB16(avpkt->data) : NULL;
+ const int buf_size = avpkt->size >= 2 ? avpkt->size - AV_RB16(avpkt->data) : 0;
const uint8_t *buf_end = buf+buf_size;
int y, plane, res;
@@ -516,8 +495,8 @@ static int decode_frame_byterun1(AVCodecContext *avctx,
AVPacket *avpkt)
{
IffContext *s = avctx->priv_data;
- const uint8_t *buf = avpkt->size >= 2 ? get_image_data(avpkt) : NULL;
- const int buf_size = avpkt->size >= 2 ? get_image_size(avpkt) : 0;
+ const uint8_t *buf = avpkt->size >= 2 ? avpkt->data + AV_RB16(avpkt->data) : NULL;
+ const int buf_size = avpkt->size >= 2 ? avpkt->size - AV_RB16(avpkt->data) : 0;
const uint8_t *buf_end = buf+buf_size;
int y, plane, res;
--
1.7.2.3
More information about the ffmpeg-devel
mailing list