diff options
author | Alexandra Hájková <alexandra@khirnov.net> | 2016-04-14 11:59:21 +0200 |
---|---|---|
committer | Diego Biurrun <diego@biurrun.de> | 2016-11-24 11:22:12 +0100 |
commit | 0536e7d78248d8c563f21271fa5ace0b4f38c727 (patch) | |
tree | 8caf9f61ffcc699d7868ba1b2c477dbacca7ab6a /libavcodec | |
parent | e5bdfc679004199c4a1837e256046331e5e4e713 (diff) | |
download | ffmpeg-0536e7d78248d8c563f21271fa5ace0b4f38c727.tar.gz |
vima: Convert to the new bitstream reader
Diffstat (limited to 'libavcodec')
-rw-r--r-- | libavcodec/vima.c | 24 |
1 files changed, 12 insertions, 12 deletions
diff --git a/libavcodec/vima.c b/libavcodec/vima.c index 6f539a86b6..0db18972a2 100644 --- a/libavcodec/vima.c +++ b/libavcodec/vima.c @@ -29,7 +29,7 @@ #include "adpcm_data.h" #include "avcodec.h" -#include "get_bits.h" +#include "bitstream.h" #include "internal.h" static int predict_table_init = 0; @@ -118,7 +118,7 @@ static av_cold int decode_init(AVCodecContext *avctx) static int decode_frame(AVCodecContext *avctx, void *data, int *got_frame_ptr, AVPacket *pkt) { - GetBitContext gb; + BitstreamContext bc; AVFrame *frame = data; int16_t pcm_data[2]; uint32_t samples; @@ -129,19 +129,19 @@ static int decode_frame(AVCodecContext *avctx, void *data, if (pkt->size < 13) return AVERROR_INVALIDDATA; - if ((ret = init_get_bits8(&gb, pkt->data, pkt->size)) < 0) + if ((ret = bitstream_init8(&bc, pkt->data, pkt->size)) < 0) return ret; - samples = get_bits_long(&gb, 32); + samples = bitstream_read(&bc, 32); if (samples == 0xffffffff) { - skip_bits_long(&gb, 32); - samples = get_bits_long(&gb, 32); + bitstream_skip(&bc, 32); + samples = bitstream_read(&bc, 32); } if (samples > pkt->size * 2) return AVERROR_INVALIDDATA; - channel_hint[0] = get_sbits(&gb, 8); + channel_hint[0] = bitstream_read_signed(&bc, 8); if (channel_hint[0] & 0x80) { channel_hint[0] = ~channel_hint[0]; channels = 2; @@ -149,10 +149,10 @@ static int decode_frame(AVCodecContext *avctx, void *data, avctx->channels = channels; avctx->channel_layout = (channels == 2) ? AV_CH_LAYOUT_STEREO : AV_CH_LAYOUT_MONO; - pcm_data[0] = get_sbits(&gb, 16); + pcm_data[0] = bitstream_read_signed(&bc, 16); if (channels > 1) { - channel_hint[1] = get_sbits(&gb, 8); - pcm_data[1] = get_sbits(&gb, 16); + channel_hint[1] = bitstream_read_signed(&bc, 8); + pcm_data[1] = bitstream_read_signed(&bc, 16); } frame->nb_samples = samples; @@ -170,7 +170,7 @@ static int decode_frame(AVCodecContext *avctx, void *data, step_index = av_clip(step_index, 0, 88); lookup_size = size_table[step_index]; - lookup = get_bits(&gb, lookup_size); + lookup = bitstream_read(&bc, lookup_size); highbit = 1 << (lookup_size - 1); lowbits = highbit - 1; @@ -180,7 +180,7 @@ static int decode_frame(AVCodecContext *avctx, void *data, highbit = 0; if (lookup == lowbits) { - output = get_sbits(&gb, 16); + output = bitstream_read_signed(&bc, 16); } else { int predict_index, diff; |