diff options
author | Michael Niedermayer <michaelni@gmx.at> | 2003-02-02 23:34:30 +0000 |
---|---|---|
committer | Michael Niedermayer <michaelni@gmx.at> | 2003-02-02 23:34:30 +0000 |
commit | 36df88058135607162d25b73cab93e19b0a8cb76 (patch) | |
tree | ef1e8fa9fc8e4427d9684439e262ee6245040dad /libavcodec/mpegvideo.c | |
parent | fa7773216ad6091edbabfc2d3d2a3ef4f6128094 (diff) | |
download | ffmpeg-36df88058135607162d25b73cab93e19b0a8cb76.tar.gz |
divx503 decoding fix
Originally committed as revision 1538 to svn://svn.ffmpeg.org/ffmpeg/trunk
Diffstat (limited to 'libavcodec/mpegvideo.c')
-rw-r--r-- | libavcodec/mpegvideo.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/libavcodec/mpegvideo.c b/libavcodec/mpegvideo.c index d721647a57..15bd0249b0 100644 --- a/libavcodec/mpegvideo.c +++ b/libavcodec/mpegvideo.c @@ -1680,6 +1680,10 @@ static inline void qpel_motion(MpegEncContext *s, if(field_based){ mx= motion_x/2; my= motion_y>>1; + }else if(s->workaround_bugs&FF_BUG_QPEL_CHROMA2){ + static const int rtab[8]= {0,0,1,1,0,0,0,1}; + mx= (motion_x>>1) + rtab[motion_x&7]; + my= (motion_y>>1) + rtab[motion_y&7]; }else if(s->workaround_bugs&FF_BUG_QPEL_CHROMA){ mx= (motion_x>>1)|(motion_x&1); my= (motion_y>>1)|(motion_y&1); @@ -1689,6 +1693,7 @@ static inline void qpel_motion(MpegEncContext *s, } mx= (mx>>1)|(mx&1); my= (my>>1)|(my&1); + dxy= (mx&1) | ((my&1)<<1); mx>>=1; my>>=1; |