Commit bc5abfb1 authored by Anton Khirnov's avatar Anton Khirnov

mpeg4videodec: move MpegEncContext.rvlc to Mpeg4DecContext

parent 9f0617d2
...@@ -66,6 +66,8 @@ typedef struct Mpeg4DecContext { ...@@ -66,6 +66,8 @@ typedef struct Mpeg4DecContext {
int time_increment_bits; int time_increment_bits;
int shape; int shape;
int vol_sprite_usage; int vol_sprite_usage;
// reversible vlc
int rvlc;
} Mpeg4DecContext; } Mpeg4DecContext;
/* dc encoding for mpeg4 */ /* dc encoding for mpeg4 */
......
...@@ -1226,7 +1226,7 @@ static int mpeg4_decode_partitioned_mb(MpegEncContext *s, int16_t block[6][64]) ...@@ -1226,7 +1226,7 @@ static int mpeg4_decode_partitioned_mb(MpegEncContext *s, int16_t block[6][64])
s->dsp.clear_blocks(s->block[0]); s->dsp.clear_blocks(s->block[0]);
/* decode each block */ /* decode each block */
for (i = 0; i < 6; i++) { for (i = 0; i < 6; i++) {
if (mpeg4_decode_block(s, block[i], i, cbp & 32, s->mb_intra, s->rvlc) < 0) { if (mpeg4_decode_block(s, block[i], i, cbp & 32, s->mb_intra, ctx->rvlc) < 0) {
av_log(s->avctx, AV_LOG_ERROR, av_log(s->avctx, AV_LOG_ERROR,
"texture corrupted at %d %d %d\n", "texture corrupted at %d %d %d\n",
s->mb_x, s->mb_y, s->mb_intra); s->mb_x, s->mb_y, s->mb_intra);
...@@ -1935,7 +1935,7 @@ no_cplx_est: ...@@ -1935,7 +1935,7 @@ no_cplx_est:
s->data_partitioning = get_bits1(gb); s->data_partitioning = get_bits1(gb);
if (s->data_partitioning) if (s->data_partitioning)
s->rvlc = get_bits1(gb); ctx->rvlc = get_bits1(gb);
if (vo_ver_id != 1) { if (vo_ver_id != 1) {
s->new_pred = get_bits1(gb); s->new_pred = get_bits1(gb);
......
...@@ -599,7 +599,6 @@ typedef struct MpegEncContext { ...@@ -599,7 +599,6 @@ typedef struct MpegEncContext {
int low_latency_sprite; int low_latency_sprite;
int data_partitioning; ///< data partitioning flag from header int data_partitioning; ///< data partitioning flag from header
int partitioned_frame; ///< is current frame partitioned int partitioned_frame; ///< is current frame partitioned
int rvlc; ///< reversible vlc
int resync_marker; ///< could this stream contain resync markers int resync_marker; ///< could this stream contain resync markers
int low_delay; ///< no reordering needed / has no b-frames int low_delay; ///< no reordering needed / has no b-frames
int vo_type; int vo_type;
......
...@@ -71,7 +71,7 @@ static int vaapi_mpeg4_start_frame(AVCodecContext *avctx, av_unused const uint8_ ...@@ -71,7 +71,7 @@ static int vaapi_mpeg4_start_frame(AVCodecContext *avctx, av_unused const uint8_
pic_param->vol_fields.bits.quant_type = s->mpeg_quant; pic_param->vol_fields.bits.quant_type = s->mpeg_quant;
pic_param->vol_fields.bits.quarter_sample = s->quarter_sample; pic_param->vol_fields.bits.quarter_sample = s->quarter_sample;
pic_param->vol_fields.bits.data_partitioned = s->data_partitioning; pic_param->vol_fields.bits.data_partitioned = s->data_partitioning;
pic_param->vol_fields.bits.reversible_vlc = s->rvlc; pic_param->vol_fields.bits.reversible_vlc = ctx->rvlc;
pic_param->vol_fields.bits.resync_marker_disable = !s->resync_marker; pic_param->vol_fields.bits.resync_marker_disable = !s->resync_marker;
pic_param->no_of_sprite_warping_points = s->num_sprite_warping_points; pic_param->no_of_sprite_warping_points = s->num_sprite_warping_points;
for (i = 0; i < s->num_sprite_warping_points && i < 3; i++) { for (i = 0; i < s->num_sprite_warping_points && i < 3; i++) {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment