summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--libavcodec/h263.c6
-rw-r--r--libavcodec/mpegvideo.h1
2 files changed, 5 insertions, 2 deletions
diff --git a/libavcodec/h263.c b/libavcodec/h263.c
index 170513dc27..2a945c6eda 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 ef40083e90..615c0faf22 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]