mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2024-11-21 10:55:51 +02:00
avs: Convert to the new bitstream reader
Signed-off-by: Anton Khirnov <anton@khirnov.net>
This commit is contained in:
parent
edd4c19a78
commit
dae9b0b9c6
@ -20,7 +20,7 @@
|
||||
*/
|
||||
|
||||
#include "avcodec.h"
|
||||
#include "get_bits.h"
|
||||
#include "bitstream.h"
|
||||
#include "internal.h"
|
||||
|
||||
typedef struct AvsContext {
|
||||
@ -57,7 +57,7 @@ avs_decode_frame(AVCodecContext * avctx,
|
||||
int i, j, x, y, stride, ret, vect_w = 3, vect_h = 3;
|
||||
AvsVideoSubType sub_type;
|
||||
AvsBlockType type;
|
||||
GetBitContext change_map;
|
||||
BitstreamContext change_map;
|
||||
|
||||
if ((ret = ff_reget_buffer(avctx, p)) < 0) {
|
||||
av_log(avctx, AV_LOG_ERROR, "reget_buffer() failed\n");
|
||||
@ -125,13 +125,13 @@ avs_decode_frame(AVCodecContext * avctx,
|
||||
int map_size = ((318 / vect_w + 7) / 8) * (198 / vect_h);
|
||||
if (buf_end - table < map_size)
|
||||
return AVERROR_INVALIDDATA;
|
||||
init_get_bits(&change_map, table, map_size * 8);
|
||||
bitstream_init(&change_map, table, map_size * 8);
|
||||
table += map_size;
|
||||
}
|
||||
|
||||
for (y=0; y<198; y+=vect_h) {
|
||||
for (x=0; x<318; x+=vect_w) {
|
||||
if (sub_type == AVS_I_FRAME || get_bits1(&change_map)) {
|
||||
if (sub_type == AVS_I_FRAME || bitstream_read_bit(&change_map)) {
|
||||
if (buf_end - table < 1)
|
||||
return AVERROR_INVALIDDATA;
|
||||
vect = &buf[*table++ * (vect_w * vect_h)];
|
||||
@ -145,7 +145,7 @@ avs_decode_frame(AVCodecContext * avctx,
|
||||
}
|
||||
}
|
||||
if (sub_type != AVS_I_FRAME)
|
||||
align_get_bits(&change_map);
|
||||
bitstream_align(&change_map);
|
||||
}
|
||||
|
||||
if ((ret = av_frame_ref(picture, p)) < 0)
|
||||
|
Loading…
Reference in New Issue
Block a user