diff options
author | Michael Niedermayer <michaelni@gmx.at> | 2012-12-24 16:13:06 +0100 |
---|---|---|
committer | Michael Niedermayer <michaelni@gmx.at> | 2012-12-24 16:20:07 +0100 |
commit | 7681b8e9a922b9c1b45d95e2585b716a1caed360 (patch) | |
tree | abcd015f2c160784cae4ccef96abff2bc3b32601 /libavcodec | |
parent | 9dbedf331eca9903230368f28716f29e7375450a (diff) | |
parent | 0a9132b84c0590500bb3d6b358219323805993fc (diff) | |
download | ffmpeg-7681b8e9a922b9c1b45d95e2585b716a1caed360.tar.gz |
Merge remote-tracking branch 'qatar/master'
* qatar/master:
wnv1: cosmetics, reformat
xan: remove a trivially true if().
ansi: do not depend on get_buffer() initializing the frame.
zerocodec: remove an unused variable.
zmbv: remove some pointless comments and empty lines
Conflicts:
libavcodec/xan.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
Diffstat (limited to 'libavcodec')
-rw-r--r-- | libavcodec/ansi.c | 6 | ||||
-rw-r--r-- | libavcodec/wnv1.c | 42 | ||||
-rw-r--r-- | libavcodec/xan.c | 105 | ||||
-rw-r--r-- | libavcodec/zerocodec.c | 4 | ||||
-rw-r--r-- | libavcodec/zmbv.c | 14 |
5 files changed, 80 insertions, 91 deletions
diff --git a/libavcodec/ansi.c b/libavcodec/ansi.c index 8b2ef11921..e705da6281 100644 --- a/libavcodec/ansi.c +++ b/libavcodec/ansi.c @@ -353,6 +353,12 @@ static int decode_frame(AVCodecContext *avctx, av_log(avctx, AV_LOG_ERROR, "get_buffer() failed\n"); return ret; } + if (!avctx->frame_number) { + for (i=0; i<avctx->height; i++) + memset(s->frame.data[0]+ i*s->frame.linesize[0], 0, avctx->width); + memset(s->frame.data[1], 0, AVPALETTE_SIZE); + } + s->frame.pict_type = AV_PICTURE_TYPE_I; s->frame.palette_has_changed = 1; set_palette((uint32_t *)s->frame.data[1]); diff --git a/libavcodec/wnv1.c b/libavcodec/wnv1.c index 5dffde1fec..c59ceb7f1d 100644 --- a/libavcodec/wnv1.c +++ b/libavcodec/wnv1.c @@ -30,7 +30,7 @@ #include "mathops.h" -typedef struct WNV1Context{ +typedef struct WNV1Context { AVCodecContext *avctx; AVFrame pic; @@ -38,10 +38,10 @@ typedef struct WNV1Context{ GetBitContext gb; } WNV1Context; -static const uint16_t code_tab[16][2]={ -{0x1FD,9}, {0xFD,8}, {0x7D,7}, {0x3D,6}, {0x1D,5}, {0x0D,4}, {0x005,3}, -{0x000,1}, -{0x004,3}, {0x0C,4}, {0x1C,5}, {0x3C,6}, {0x7C,7}, {0xFC,8}, {0x1FC,9}, {0xFF,8} +static const uint16_t code_tab[16][2] = { + { 0x1FD, 9 }, { 0xFD, 8 }, { 0x7D, 7 }, { 0x3D, 6 }, { 0x1D, 5 }, { 0x0D, 4 }, { 0x005, 3 }, + { 0x000, 1 }, + { 0x004, 3 }, { 0x0C, 4 }, { 0x1C, 5 }, { 0x3C, 6 }, { 0x7C, 7 }, { 0xFC, 8 }, { 0x1FC, 9 }, { 0xFF, 8 } }; #define CODE_VLC_BITS 9 @@ -52,20 +52,20 @@ static inline int wnv1_get_code(WNV1Context *w, int base_value) { int v = get_vlc2(&w->gb, code_vlc.table, CODE_VLC_BITS, 1); - if(v==15) - return ff_reverse[ get_bits(&w->gb, 8 - w->shift) ]; + if (v == 15) + return ff_reverse[get_bits(&w->gb, 8 - w->shift)]; else - return base_value + ((v - 7)<<w->shift); + return base_value + ((v - 7) << w->shift); } static int decode_frame(AVCodecContext *avctx, void *data, int *got_frame, AVPacket *avpkt) { - const uint8_t *buf = avpkt->data; - int buf_size = avpkt->size; WNV1Context * const l = avctx->priv_data; - AVFrame * const p = &l->pic; + const uint8_t *buf = avpkt->data; + int buf_size = avpkt->size; + AVFrame * const p = &l->pic; unsigned char *Y,*U,*V; int i, j, ret; int prev_y = 0, prev_u = 0, prev_v = 0; @@ -77,12 +77,12 @@ static int decode_frame(AVCodecContext *avctx, } rbuf = av_malloc(buf_size + FF_INPUT_BUFFER_PADDING_SIZE); - if(!rbuf){ + if (!rbuf) { av_log(avctx, AV_LOG_ERROR, "Cannot allocate temporary buffer\n"); return AVERROR(ENOMEM); } - if(p->data[0]) + if (p->data[0]) avctx->release_buffer(avctx, p); p->reference = 0; @@ -93,9 +93,9 @@ static int decode_frame(AVCodecContext *avctx, } p->key_frame = 1; - for(i=8; i<buf_size; i++) - rbuf[i]= ff_reverse[ buf[i] ]; - init_get_bits(&l->gb, rbuf+8, (buf_size-8)*8); + for (i = 8; i < buf_size; i++) + rbuf[i] = ff_reverse[buf[i]]; + init_get_bits(&l->gb, rbuf + 8, (buf_size - 8) * 8); if (buf[2] >> 4 == 6) l->shift = 2; @@ -136,15 +136,16 @@ static int decode_frame(AVCodecContext *avctx, return buf_size; } -static av_cold int decode_init(AVCodecContext *avctx){ +static av_cold int decode_init(AVCodecContext *avctx) +{ WNV1Context * const l = avctx->priv_data; static VLC_TYPE code_table[1 << CODE_VLC_BITS][2]; - l->avctx = avctx; + l->avctx = avctx; avctx->pix_fmt = AV_PIX_FMT_YUV422P; avcodec_get_frame_defaults(&l->pic); - code_vlc.table = code_table; + code_vlc.table = code_table; code_vlc.table_allocated = 1 << CODE_VLC_BITS; init_vlc(&code_vlc, CODE_VLC_BITS, 16, &code_tab[0][1], 4, 2, @@ -153,7 +154,8 @@ static av_cold int decode_init(AVCodecContext *avctx){ return 0; } -static av_cold int decode_end(AVCodecContext *avctx){ +static av_cold int decode_end(AVCodecContext *avctx) +{ WNV1Context * const l = avctx->priv_data; AVFrame *pic = &l->pic; diff --git a/libavcodec/xan.c b/libavcodec/xan.c index 2aa420e508..899c1f1d22 100644 --- a/libavcodec/xan.c +++ b/libavcodec/xan.c @@ -518,66 +518,65 @@ static int xan_decode_frame(AVCodecContext *avctx, const uint8_t *buf = avpkt->data; int ret, buf_size = avpkt->size; XanContext *s = avctx->priv_data; - - if (avctx->codec->id == AV_CODEC_ID_XAN_WC3) { - const uint8_t *buf_end = buf + buf_size; - int tag = 0; - while (buf_end - buf > 8 && tag != VGA__TAG) { - unsigned *tmpptr; - uint32_t new_pal; - int size; - int i; - tag = bytestream_get_le32(&buf); - size = bytestream_get_be32(&buf); - if(size < 0) { - av_log(avctx, AV_LOG_ERROR, "Invalid tag size %d\n", size); + const uint8_t *buf_end = buf + buf_size; + int tag = 0; + + while (buf_end - buf > 8 && tag != VGA__TAG) { + unsigned *tmpptr; + uint32_t new_pal; + int size; + int i; + tag = bytestream_get_le32(&buf); + size = bytestream_get_be32(&buf); + if(size < 0) { + av_log(avctx, AV_LOG_ERROR, "Invalid tag size %d\n", size); + return AVERROR_INVALIDDATA; + } + size = FFMIN(size, buf_end - buf); + switch (tag) { + case PALT_TAG: + if (size < PALETTE_SIZE) return AVERROR_INVALIDDATA; - } - size = FFMIN(size, buf_end - buf); - switch (tag) { - case PALT_TAG: - if (size < PALETTE_SIZE) - return AVERROR_INVALIDDATA; - if (s->palettes_count >= PALETTES_MAX) - return AVERROR_INVALIDDATA; - tmpptr = av_realloc(s->palettes, - (s->palettes_count + 1) * AVPALETTE_SIZE); - if (!tmpptr) - return AVERROR(ENOMEM); - s->palettes = tmpptr; - tmpptr += s->palettes_count * AVPALETTE_COUNT; - for (i = 0; i < PALETTE_COUNT; i++) { + if (s->palettes_count >= PALETTES_MAX) + return AVERROR_INVALIDDATA; + tmpptr = av_realloc(s->palettes, + (s->palettes_count + 1) * AVPALETTE_SIZE); + if (!tmpptr) + return AVERROR(ENOMEM); + s->palettes = tmpptr; + tmpptr += s->palettes_count * AVPALETTE_COUNT; + for (i = 0; i < PALETTE_COUNT; i++) { #if RUNTIME_GAMMA - int r = gamma_corr(*buf++); - int g = gamma_corr(*buf++); - int b = gamma_corr(*buf++); + int r = gamma_corr(*buf++); + int g = gamma_corr(*buf++); + int b = gamma_corr(*buf++); #else - int r = gamma_lookup[*buf++]; - int g = gamma_lookup[*buf++]; - int b = gamma_lookup[*buf++]; + int r = gamma_lookup[*buf++]; + int g = gamma_lookup[*buf++]; + int b = gamma_lookup[*buf++]; #endif - *tmpptr++ = (0xFFU << 24) | (r << 16) | (g << 8) | b; - } - s->palettes_count++; - break; - case SHOT_TAG: - if (size < 4) - return AVERROR_INVALIDDATA; - new_pal = bytestream_get_le32(&buf); - if (new_pal < s->palettes_count) { - s->cur_palette = new_pal; - } else - av_log(avctx, AV_LOG_ERROR, "Invalid palette selected\n"); - break; - case VGA__TAG: - break; - default: - buf += size; - break; + *tmpptr++ = (0xFFU << 24) | (r << 16) | (g << 8) | b; } + s->palettes_count++; + break; + case SHOT_TAG: + if (size < 4) + return AVERROR_INVALIDDATA; + new_pal = bytestream_get_le32(&buf); + if (new_pal < s->palettes_count) { + s->cur_palette = new_pal; + } else + av_log(avctx, AV_LOG_ERROR, "Invalid palette selected\n"); + break; + case VGA__TAG: + break; + default: + buf += size; + break; } - buf_size = buf_end - buf; } + buf_size = buf_end - buf; + if (s->palettes_count <= 0) { av_log(s->avctx, AV_LOG_ERROR, "No palette found\n"); return AVERROR_INVALIDDATA; diff --git a/libavcodec/zerocodec.c b/libavcodec/zerocodec.c index cba3198473..8122cca3b2 100644 --- a/libavcodec/zerocodec.c +++ b/libavcodec/zerocodec.c @@ -25,7 +25,6 @@ typedef struct { AVFrame previous_frame; z_stream zstream; - int size; } ZeroCodecContext; static int zerocodec_decode_frame(AVCodecContext *avctx, void *data, @@ -136,9 +135,6 @@ static av_cold int zerocodec_decode_init(AVCodecContext *avctx) avctx->pix_fmt = AV_PIX_FMT_UYVY422; avctx->bits_per_raw_sample = 8; - zc->size = avpicture_get_size(avctx->pix_fmt, - avctx->width, avctx->height); - zstream->zalloc = Z_NULL; zstream->zfree = Z_NULL; zstream->opaque = Z_NULL; diff --git a/libavcodec/zmbv.c b/libavcodec/zmbv.c index 167f6f8826..83743c52a2 100644 --- a/libavcodec/zmbv.c +++ b/libavcodec/zmbv.c @@ -608,13 +608,6 @@ static int decode_frame(AVCodecContext *avctx, void *data, int *got_frame, AVPac return buf_size; } - - -/* - * - * Init zmbv decoder - * - */ static av_cold int decode_init(AVCodecContext *avctx) { ZmbvContext * const c = avctx->priv_data; @@ -655,13 +648,6 @@ static av_cold int decode_init(AVCodecContext *avctx) return 0; } - - -/* - * - * Uninit zmbv decoder - * - */ static av_cold int decode_end(AVCodecContext *avctx) { ZmbvContext * const c = avctx->priv_data; |