diff options
author | Michael Niedermayer <michaelni@gmx.at> | 2011-11-12 02:07:37 +0100 |
---|---|---|
committer | Michael Niedermayer <michaelni@gmx.at> | 2011-11-12 03:11:22 +0100 |
commit | 2fea60c60084c4e70d7cef128ea3bca5690ce465 (patch) | |
tree | b9c7159be8d6c80136523f8cb65b0b95ff8e17a9 /libavcodec/vble.c | |
parent | 177bcc1ad9fe6da8400a8c2297ee1b1bfa2c999a (diff) | |
download | ffmpeg-2fea60c60084c4e70d7cef128ea3bca5690ce465.tar.gz |
vble: remove len array, its unneeded
also remove unneeded memset()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Diffstat (limited to 'libavcodec/vble.c')
-rw-r--r-- | libavcodec/vble.c | 25 |
1 files changed, 6 insertions, 19 deletions
diff --git a/libavcodec/vble.c b/libavcodec/vble.c index ae4645b779..d0aa8b3251 100644 --- a/libavcodec/vble.c +++ b/libavcodec/vble.c @@ -34,8 +34,7 @@ typedef struct { int size; int flags; - uint8_t *len; - uint8_t *val; + uint8_t *val; ///< This array first holds the lengths of vlc symbols and then their value. } VBLEContext; static int vble_unpack(VBLEContext *ctx, GetBitContext *gb) @@ -62,27 +61,24 @@ static int vble_unpack(VBLEContext *ctx, GetBitContext *gb) if (val) { val = LUT[val]; skip_bits(gb, val + 1); - ctx->len[i] = val; + ctx->val[i] = val; } else { skip_bits(gb, 8); if (!get_bits1(gb)) return -1; - ctx->len[i] = 8; + ctx->val[i] = 8; } - allbits += ctx->len[i]; + allbits += ctx->val[i]; } /* Check we have enough bits left */ if (get_bits_left(gb) < allbits) return -1; - /* For any values that have length 0 */ - memset(ctx->val, 0, ctx->size); - for (i = 0; i < ctx->size; i++) { /* get_bits can't take a length of 0 */ - if (ctx->len[i]) - ctx->val[i] = (1 << ctx->len[i]) + get_bits(gb, ctx->len[i]) - 1; + if (ctx->val[i]) + ctx->val[i] = (1 << ctx->val[i]) + get_bits(gb, ctx->val[i]) - 1; } return 0; @@ -191,7 +187,6 @@ static av_cold int vble_decode_close(AVCodecContext *avctx) avctx->release_buffer(avctx, pic); av_freep(&avctx->coded_frame); - av_freep(&ctx->len); av_freep(&ctx->val); return 0; @@ -217,14 +212,6 @@ static av_cold int vble_decode_init(AVCodecContext *avctx) ctx->size = avpicture_get_size(avctx->pix_fmt, avctx->width, avctx->height); - ctx->len = av_malloc(ctx->size * sizeof(*ctx->len)); - - if (!ctx->len) { - av_log(avctx, AV_LOG_ERROR, "Could not allocate lengths buffer.\n"); - vble_decode_close(avctx); - return AVERROR(ENOMEM); - } - ctx->val = av_malloc(ctx->size * sizeof(*ctx->val)); if (!ctx->val) { |