OSDN Git Service

mpeg4videodec: move sprite_brightness_change 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:43 +0000 (17:36 +0100)
libavcodec/mpeg4video.h
libavcodec/mpeg4videodec.c
libavcodec/mpegvideo.h

index 5a1906f..4a5b989 100644 (file)
@@ -66,6 +66,7 @@ typedef struct Mpeg4DecContext {
     int time_increment_bits;
     int shape;
     int vol_sprite_usage;
+    int sprite_brightness_change;
     // reversible vlc
     int rvlc;
     ///< could this stream contain resync markers
index 2e320cd..20dd14b 100644 (file)
@@ -1789,7 +1789,7 @@ static int decode_vol_header(Mpeg4DecContext *ctx, GetBitContext *gb)
                 return -1;
             }
             s->sprite_warping_accuracy  = get_bits(gb, 2);
-            s->sprite_brightness_change = get_bits1(gb);
+            ctx->sprite_brightness_change = get_bits1(gb);
             if (ctx->vol_sprite_usage == STATIC_SPRITE)
                 skip_bits1(gb); // low_latency_sprite
         }
@@ -2204,7 +2204,7 @@ static int decode_vop_header(Mpeg4DecContext *ctx, GetBitContext *gb)
          ctx->vol_sprite_usage == GMC_SPRITE)) {
         if (mpeg4_decode_sprite_trajectory(ctx, gb) < 0)
             return AVERROR_INVALIDDATA;
-        if (s->sprite_brightness_change)
+        if (ctx->sprite_brightness_change)
             av_log(s->avctx, AV_LOG_ERROR,
                    "sprite_brightness_change not supported\n");
         if (ctx->vol_sprite_usage == STATIC_SPRITE)
index 69352f9..9c245c8 100644 (file)
@@ -579,7 +579,6 @@ typedef struct MpegEncContext {
     uint16_t pb_time;               ///< time distance between the last b and p,s,i frame
     uint16_t pp_field_time;
     uint16_t pb_field_time;         ///< like above, just for interlaced
-    int sprite_brightness_change;
     int num_sprite_warping_points;
     int real_sprite_warping_points;
     uint16_t sprite_traj[4][2];      ///< sprite trajectory points