diff options
author | Alexandra Hájková <alexandra@khirnov.net> | 2016-04-14 11:52:48 +0200 |
---|---|---|
committer | Diego Biurrun <diego@biurrun.de> | 2016-11-24 11:22:12 +0100 |
commit | e5bdfc679004199c4a1837e256046331e5e4e713 (patch) | |
tree | 3ac9eb375a57c7416e350b1c50b0dab6057a24c9 /libavcodec/vble.c | |
parent | 104a4289f925c600c13035de6c282fe656510a27 (diff) | |
download | ffmpeg-e5bdfc679004199c4a1837e256046331e5e4e713.tar.gz |
vble: Convert to the new bitstream reader
Diffstat (limited to 'libavcodec/vble.c')
-rw-r--r-- | libavcodec/vble.c | 26 |
1 files changed, 13 insertions, 13 deletions
diff --git a/libavcodec/vble.c b/libavcodec/vble.c index 1a78036731..fef10903dd 100644 --- a/libavcodec/vble.c +++ b/libavcodec/vble.c @@ -28,7 +28,7 @@ #define BITSTREAM_READER_LE #include "avcodec.h" -#include "get_bits.h" +#include "bitstream.h" #include "huffyuvdsp.h" #include "internal.h" #include "mathops.h" @@ -41,18 +41,18 @@ typedef struct VBLEContext { uint8_t *val; /* First holds the lengths of vlc symbols and then their values */ } VBLEContext; -static uint8_t vble_read_reverse_unary(GetBitContext *gb) +static uint8_t vble_read_reverse_unary(BitstreamContext *bc) { /* At most we need to read 9 bits total to get indices up to 8 */ - uint8_t val = show_bits(gb, 8); + uint8_t val = bitstream_peek(bc, 8); if (val) { val = 7 - av_log2_16bit(ff_reverse[val]); - skip_bits(gb, val + 1); + bitstream_skip(bc, val + 1); return val; } else { - skip_bits(gb, 8); - if (get_bits1(gb)) + bitstream_skip(bc, 8); + if (bitstream_read_bit(bc)) return 8; } @@ -60,13 +60,13 @@ static uint8_t vble_read_reverse_unary(GetBitContext *gb) return UINT8_MAX; } -static int vble_unpack(VBLEContext *ctx, GetBitContext *gb) +static int vble_unpack(VBLEContext *ctx, BitstreamContext *bc) { int i; /* Read all the lengths in first */ for (i = 0; i < ctx->size; i++) { - ctx->val[i] = vble_read_reverse_unary(gb); + ctx->val[i] = vble_read_reverse_unary(bc); if (ctx->val[i] == UINT8_MAX) return -1; @@ -74,12 +74,12 @@ static int vble_unpack(VBLEContext *ctx, GetBitContext *gb) for (i = 0; i < ctx->size; i++) { /* Check we have enough bits left */ - if (get_bits_left(gb) < ctx->val[i]) + if (bitstream_bits_left(bc) < ctx->val[i]) return -1; /* get_bits can't take a length of 0 */ if (ctx->val[i]) - ctx->val[i] = (1 << ctx->val[i]) + get_bits(gb, ctx->val[i]) - 1; + ctx->val[i] = (1 << ctx->val[i]) + bitstream_read(bc, ctx->val[i]) - 1; } return 0; @@ -118,7 +118,7 @@ static int vble_decode_frame(AVCodecContext *avctx, void *data, int *got_frame, { VBLEContext *ctx = avctx->priv_data; AVFrame *pic = data; - GetBitContext gb; + BitstreamContext bc; const uint8_t *src = avpkt->data; int version; int offset = 0; @@ -140,10 +140,10 @@ static int vble_decode_frame(AVCodecContext *avctx, void *data, int *got_frame, if (version != 1) av_log(avctx, AV_LOG_WARNING, "Unsupported VBLE Version: %d\n", version); - init_get_bits(&gb, src + 4, (avpkt->size - 4) * 8); + bitstream_init(&bc, src + 4, (avpkt->size - 4) * 8); /* Unpack */ - if (vble_unpack(ctx, &gb) < 0) { + if (vble_unpack(ctx, &bc) < 0) { av_log(avctx, AV_LOG_ERROR, "Invalid Code\n"); return AVERROR_INVALIDDATA; } |