AMV bug workaround

Originally committed as revision 3099 to svn://svn.ffmpeg.org/ffmpeg/trunk
pull/126/head
Michael Niedermayer 21 years ago
parent 6387c3e6b6
commit 3116cb14d1
  1. 1
      libavcodec/avcodec.h
  2. 3
      libavcodec/h263.c

@ -841,6 +841,7 @@ typedef struct AVCodecContext {
#define FF_BUG_XVID_ILACE 4 #define FF_BUG_XVID_ILACE 4
#define FF_BUG_UMP4 8 #define FF_BUG_UMP4 8
#define FF_BUG_NO_PADDING 16 #define FF_BUG_NO_PADDING 16
#define FF_BUG_AMV 32
#define FF_BUG_AC_VLC 0 ///< will be removed, libavcodec can now handle these non compliant files by default #define FF_BUG_AC_VLC 0 ///< will be removed, libavcodec can now handle these non compliant files by default
#define FF_BUG_QPEL_CHROMA 64 #define FF_BUG_QPEL_CHROMA 64
#define FF_BUG_STD_QPEL 128 #define FF_BUG_STD_QPEL 128

@ -3221,6 +3221,9 @@ static inline int get_amv(MpegEncContext *s, int n){
int x, y, mb_v, sum, dx, dy, shift; int x, y, mb_v, sum, dx, dy, shift;
int len = 1 << (s->f_code + 4); int len = 1 << (s->f_code + 4);
const int a= s->sprite_warping_accuracy; const int a= s->sprite_warping_accuracy;
if(s->workaround_bugs & FF_BUG_AMV)
len >>= s->quarter_sample;
if(s->real_sprite_warping_points==1){ if(s->real_sprite_warping_points==1){
if(s->divx_version==500 && s->divx_build==413) if(s->divx_version==500 && s->divx_build==413)

Loading…
Cancel
Save