1
0
mirror of https://github.com/FFmpeg/FFmpeg.git synced 2024-11-21 10:55:51 +02:00

wnv1: Convert to the new bitstream reader

This commit is contained in:
Alexandra Hájková 2016-04-15 10:50:38 +02:00 committed by Diego Biurrun
parent 0536e7d782
commit f9c59f26c8

View File

@ -25,7 +25,7 @@
*/
#include "avcodec.h"
#include "get_bits.h"
#include "bitstream.h"
#include "internal.h"
#include "mathops.h"
@ -34,7 +34,7 @@ typedef struct WNV1Context {
AVCodecContext *avctx;
int shift;
GetBitContext gb;
BitstreamContext bc;
} WNV1Context;
static const uint16_t code_tab[16][2] = {
@ -49,10 +49,10 @@ static VLC code_vlc;
/* returns modified base_value */
static inline int wnv1_get_code(WNV1Context *w, int base_value)
{
int v = get_vlc2(&w->gb, code_vlc.table, CODE_VLC_BITS, 1);
int v = bitstream_read_vlc(&w->bc, code_vlc.table, CODE_VLC_BITS, 1);
if (v == 15)
return ff_reverse[get_bits(&w->gb, 8 - w->shift)];
return ff_reverse[bitstream_read(&w->bc, 8 - w->shift)];
else
return base_value + ((v - 7) << w->shift);
}
@ -90,7 +90,7 @@ static int decode_frame(AVCodecContext *avctx,
for (i = 8; i < buf_size; i++)
rbuf[i] = ff_reverse[buf[i]];
init_get_bits(&l->gb, rbuf + 8, (buf_size - 8) * 8);
bitstream_init(&l->bc, rbuf + 8, (buf_size - 8) * 8);
if (buf[2] >> 4 == 6)
l->shift = 2;