[Ffmpeg-cvslog] r6237 - trunk/libavcodec/vc1.c
kostya
subversion
Tue Sep 12 06:35:11 CEST 2006
Author: kostya
Date: Tue Sep 12 06:35:11 2006
New Revision: 6237
Modified:
trunk/libavcodec/vc1.c
Log:
Swap back and forward motion vectors to achieve correct picture
Modified: trunk/libavcodec/vc1.c
==============================================================================
--- trunk/libavcodec/vc1.c (original)
+++ trunk/libavcodec/vc1.c Tue Sep 12 06:35:11 2006
@@ -2104,6 +2104,16 @@
*/
static inline void vc1_b_mc(VC1Context *v, int dmv_x[2], int dmv_y[2], int direct, int mode)
{
+ int t;
+
+ //XXX: more elegant solution is possible
+ t = v->s.mv[0][0][0];
+ v->s.mv[0][0][0] = v->s.mv[1][0][0];
+ v->s.mv[1][0][0] = t;
+ t = v->s.mv[0][0][1];
+ v->s.mv[0][0][1] = v->s.mv[1][0][1];
+ v->s.mv[1][0][1] = t;
+
if(direct) {
vc1_mc_1mv(v, 0);
vc1_interp_mc(v);
@@ -2115,7 +2125,7 @@
return;
}
- vc1_mc_1mv(v, (mode == BMV_TYPE_FORWARD));
+ vc1_mc_1mv(v, (mode == BMV_TYPE_BACKWARD));
}
static inline void vc1_pred_b_mv(VC1Context *v, int dmv_x[2], int dmv_y[2], int direct, int mvtype)
More information about the ffmpeg-cvslog
mailing list