OSDN Git Service

mpeg4videodec: move MpegEncContext.rvlc to Mpeg4DecContext
authorAnton Khirnov <anton@khirnov.net>
Tue, 26 Nov 2013 10:23:16 +0000 (11:23 +0100)
committerAnton Khirnov <anton@khirnov.net>
Fri, 29 Nov 2013 13:19:47 +0000 (14:19 +0100)
libavcodec/mpeg4video.h
libavcodec/mpeg4videodec.c
libavcodec/mpegvideo.h
libavcodec/vaapi_mpeg4.c

index bda44e6..12a49f9 100644 (file)
@@ -66,6 +66,8 @@ typedef struct Mpeg4DecContext {
     int time_increment_bits;
     int shape;
     int vol_sprite_usage;
+    // reversible vlc
+    int rvlc;
 } Mpeg4DecContext;
 
 /* dc encoding for mpeg4 */
index a14d269..65d51e2 100644 (file)
@@ -1226,7 +1226,7 @@ static int mpeg4_decode_partitioned_mb(MpegEncContext *s, int16_t block[6][64])
         s->dsp.clear_blocks(s->block[0]);
         /* decode each block */
         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,
                        "texture corrupted at %d %d %d\n",
                        s->mb_x, s->mb_y, s->mb_intra);
@@ -1935,7 +1935,7 @@ no_cplx_est:
 
         s->data_partitioning = get_bits1(gb);
         if (s->data_partitioning)
-            s->rvlc = get_bits1(gb);
+            ctx->rvlc = get_bits1(gb);
 
         if (vo_ver_id != 1) {
             s->new_pred = get_bits1(gb);
index 32ebe90..a83241a 100644 (file)
@@ -599,7 +599,6 @@ typedef struct MpegEncContext {
     int low_latency_sprite;
     int data_partitioning;           ///< data partitioning flag from header
     int partitioned_frame;           ///< is current frame partitioned
-    int rvlc;                        ///< reversible vlc
     int resync_marker;               ///< could this stream contain resync markers
     int low_delay;                   ///< no reordering needed / has no b-frames
     int vo_type;
index 7973a64..75bfb22 100644 (file)
@@ -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.quarter_sample           = s->quarter_sample;
     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->no_of_sprite_warping_points              = s->num_sprite_warping_points;
     for (i = 0; i < s->num_sprite_warping_points && i < 3; i++) {