[FFmpeg-cvslog] r18250 - in trunk/libavcodec: h263.c mpegvideo.h

gb subversion
Mon Mar 30 22:39:09 CEST 2009


Author: gb
Date: Mon Mar 30 22:39:08 2009
New Revision: 18250

Log:
Record MPEG-4 sprite trajectory points [up to num_sprite_warping_points][isY].

Modified:
   trunk/libavcodec/h263.c
   trunk/libavcodec/mpegvideo.h

Modified: trunk/libavcodec/h263.c
==============================================================================
--- trunk/libavcodec/h263.c	Mon Mar 30 17:36:59 2009	(r18249)
+++ trunk/libavcodec/h263.c	Mon Mar 30 22:39:08 2009	(r18250)
@@ -5339,9 +5339,11 @@ static void mpeg4_decode_sprite_trajecto
         }
         skip_bits1(gb); /* marker bit */
 //printf("%d %d %d %d\n", x, y, i, s->sprite_warping_accuracy);
-        d[i][0]= x;
-        d[i][1]= y;
+        s->sprite_traj[i][0]= d[i][0]= x;
+        s->sprite_traj[i][1]= d[i][1]= y;
     }
+    for(; i<4; i++)
+        s->sprite_traj[i][0]= s->sprite_traj[i][1]= 0;
 
     while((1<<alpha)<w) alpha++;
     while((1<<beta )<h) beta++; // there seems to be a typo in the mpeg4 std for the definition of w' and h'

Modified: trunk/libavcodec/mpegvideo.h
==============================================================================
--- trunk/libavcodec/mpegvideo.h	Mon Mar 30 17:36:59 2009	(r18249)
+++ trunk/libavcodec/mpegvideo.h	Mon Mar 30 22:39:08 2009	(r18250)
@@ -519,6 +519,7 @@ typedef struct MpegEncContext {
     int sprite_brightness_change;
     int num_sprite_warping_points;
     int real_sprite_warping_points;
+    uint16_t sprite_traj[4][2];      ///< sprite trajectory points
     int sprite_offset[2][2];         ///< sprite offset[isChroma][isMVY]
     int sprite_delta[2][2];          ///< sprite_delta [isY][isMVY]
     int sprite_shift[2];             ///< sprite shift [isChroma]



More information about the ffmpeg-cvslog mailing list