mpeg4videodec: move scalability from MpegEncContext to Mpeg4DecContext
authorAnton Khirnov <anton@khirnov.net>
Tue, 26 Nov 2013 13:34:52 +0000 (14:34 +0100)
committerAnton Khirnov <anton@khirnov.net>
Fri, 29 Nov 2013 16:36:28 +0000 (17:36 +0100)
libavcodec/mpeg4video.h
libavcodec/mpeg4videodec.c
libavcodec/mpegvideo.h

index 6337a08..5a1906f 100644 (file)
@@ -75,6 +75,7 @@ typedef struct Mpeg4DecContext {
 
     int new_pred;
     int enhancement_type;
+    int scalability;
 
     /* bug workarounds */
     int divx_version;
index 114d245..2e320cd 100644 (file)
@@ -1953,9 +1953,9 @@ no_cplx_est:
             ctx->new_pred = 0;
         }
 
-        s->scalability = get_bits1(gb);
+        ctx->scalability = get_bits1(gb);
 
-        if (s->scalability) {
+        if (ctx->scalability) {
             GetBitContext bak = *gb;
             int h_sampling_factor_n;
             int h_sampling_factor_m;
@@ -1975,7 +1975,7 @@ no_cplx_est:
                 v_sampling_factor_n == 0 || v_sampling_factor_m == 0) {
                 /* illegal scalability header (VERY broken encoder),
                  * trying to workaround */
-                s->scalability = 0;
+                ctx->scalability = 0;
                 *gb            = bak;
             } else
                 av_log(s->avctx, AV_LOG_ERROR, "scalability not supported\n");
@@ -2249,7 +2249,7 @@ static int decode_vop_header(Mpeg4DecContext *ctx, GetBitContext *gb)
                    ctx->cplx_estimation_trash_b);
         }
 
-        if (!s->scalability) {
+        if (!ctx->scalability) {
             if (ctx->shape != RECT_SHAPE && s->pict_type != AV_PICTURE_TYPE_I)
                 skip_bits1(gb);  // vop shape coding type
         } else {
index 55e61da..69352f9 100644 (file)
@@ -589,7 +589,6 @@ typedef struct MpegEncContext {
     int mcsel;
     int quant_precision;
     int quarter_sample;              ///< 1->qpel, 0->half pel ME/MC
-    int scalability;
     int aspect_ratio_info; //FIXME remove
     int sprite_warping_accuracy;
     int data_partitioning;           ///< data partitioning flag from header