From 11b93979415eb6a4d69c8d3c31e2a32edcd24871 Mon Sep 17 00:00:00 2001 From: Gwenole Beauchesne <gbeauchesne@splitted-desktop.com> Date: Mon, 30 Mar 2009 20:39:08 +0000 Subject: [PATCH] Record MPEG-4 sprite trajectory points [up to num_sprite_warping_points][isY]. Originally committed as revision 18250 to svn://svn.ffmpeg.org/ffmpeg/trunk --- libavcodec/h263.c | 6 ++++-- libavcodec/mpegvideo.h | 1 + 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/libavcodec/h263.c b/libavcodec/h263.c index 170513dc279..2a945c6edab 100644 --- a/libavcodec/h263.c +++ b/libavcodec/h263.c @@ -5339,9 +5339,11 @@ static void mpeg4_decode_sprite_trajectory(MpegEncContext * s, GetBitContext *gb } 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' diff --git a/libavcodec/mpegvideo.h b/libavcodec/mpegvideo.h index ef40083e90c..615c0faf225 100644 --- a/libavcodec/mpegvideo.h +++ b/libavcodec/mpegvideo.h @@ -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] -- GitLab