diff options
author | Diego Biurrun <diego@biurrun.de> | 2017-04-14 20:42:47 +0200 |
---|---|---|
committer | Diego Biurrun <diego@biurrun.de> | 2017-04-25 15:39:12 +0200 |
commit | d0ce0634e09403eecaea4283cf82a2c5cea7d1e1 (patch) | |
tree | 2567b37e5b2979730e27912c4ed4fe3d4882877b /libavcodec/clearvideo.c | |
parent | 189157c3fc8eeb691e3684b09d971eb5ddb47d5b (diff) | |
download | ffmpeg-d0ce0634e09403eecaea4283cf82a2c5cea7d1e1.tar.gz |
clearvideo: Convert to the new bitstream reader
Diffstat (limited to 'libavcodec/clearvideo.c')
-rw-r--r-- | libavcodec/clearvideo.c | 24 |
1 files changed, 12 insertions, 12 deletions
diff --git a/libavcodec/clearvideo.c b/libavcodec/clearvideo.c index a0ce686385..08bf2cb6da 100644 --- a/libavcodec/clearvideo.c +++ b/libavcodec/clearvideo.c @@ -25,8 +25,8 @@ */ #include "avcodec.h" +#include "bitstream.h" #include "bytestream.h" -#include "get_bits.h" #include "idctdsp.h" #include "internal.h" @@ -123,7 +123,7 @@ typedef struct CLVContext { AVCodecContext *avctx; IDCTDSPContext idsp; AVFrame *pic; - GetBitContext gb; + BitstreamContext bc; int mb_width, mb_height; VLC dc_vlc, ac_vlc; int luma_dc_quant, chroma_dc_quant, ac_quant; @@ -135,11 +135,11 @@ typedef struct CLVContext { static inline int decode_block(CLVContext *ctx, int16_t *blk, int has_ac, int ac_quant) { - GetBitContext *gb = &ctx->gb; + BitstreamContext *bc = &ctx->bc; int idx = 1, last = 0, val, skip; memset(blk, 0, sizeof(*blk) * 64); - blk[0] = get_vlc2(gb, ctx->dc_vlc.table, 9, 3); + blk[0] = bitstream_read_vlc(bc, ctx->dc_vlc.table, 9, 3); if (blk[0] < 0) return AVERROR_INVALIDDATA; blk[0] -= 63; @@ -148,19 +148,19 @@ static inline int decode_block(CLVContext *ctx, int16_t *blk, int has_ac, return 0; while (idx < 64 && !last) { - val = get_vlc2(gb, ctx->ac_vlc.table, 9, 2); + val = bitstream_read_vlc(bc, ctx->ac_vlc.table, 9, 2); if (val < 0) return AVERROR_INVALIDDATA; if (val != 0x1BFF) { last = val >> 12; skip = (val >> 4) & 0xFF; val &= 0xF; - if (get_bits1(gb)) + if (bitstream_read_bit(bc)) val = -val; } else { - last = get_bits1(gb); - skip = get_bits(gb, 6); - val = get_sbits(gb, 8); + last = bitstream_read_bit(bc); + skip = bitstream_read(bc, 6); + val = bitstream_read_signed(bc, 8); } if (val) { int aval = FFABS(val), sign = val < 0; @@ -229,7 +229,7 @@ static int decode_mb(CLVContext *c, int x, int y) int i, has_ac[6], off; for (i = 0; i < 6; i++) - has_ac[i] = get_bits1(&c->gb); + has_ac[i] = bitstream_read_bit(&c->bc); off = x * 16 + y * 16 * c->pic->linesize[0]; for (i = 0; i < 4; i++) { @@ -301,8 +301,8 @@ static int clv_decode_frame(AVCodecContext *avctx, void *data, c->luma_dc_quant = 32; c->chroma_dc_quant = 32; - if ((ret = init_get_bits8(&c->gb, buf + bytestream2_tell(&gb), - buf_size - bytestream2_tell(&gb))) < 0) + if ((ret = bitstream_init8(&c->bc, buf + bytestream2_tell(&gb), + buf_size - bytestream2_tell(&gb))) < 0) return ret; for (i = 0; i < 3; i++) |