# HG changeset patch # User michaelni # Date 1035312920 0 # Node ID e858fe220ce08ea928d5cf6926d24c07a84f4bb6 # Parent 21b506d700cce86abf3e48d0f5c65246f651af71 xvid qpel bug workaround diff -r 21b506d700cc -r e858fe220ce0 avcodec.h --- a/avcodec.h Sun Oct 20 17:02:41 2002 +0000 +++ b/avcodec.h Tue Oct 22 18:55:20 2002 +0000 @@ -426,6 +426,7 @@ #define FF_BUG_UMP4 8 #define FF_BUG_NO_PADDING 16 #define FF_BUG_AC_VLC 32 +#define FF_BUG_QPEL_CHROMA 64 //#define FF_BUG_FAKE_SCALABILITY 16 //autodetection should work 100% /** diff -r 21b506d700cc -r e858fe220ce0 h263dec.c --- a/h263dec.c Sun Oct 20 17:02:41 2002 +0000 +++ b/h263dec.c Tue Oct 22 18:55:20 2002 +0000 @@ -372,6 +372,10 @@ s->workaround_bugs|= FF_BUG_UMP4; s->workaround_bugs|= FF_BUG_AC_VLC; } + + if(s->divx_version){ + s->workaround_bugs|= FF_BUG_QPEL_CHROMA; + } //printf("padding_bug_score: %d\n", s->padding_bug_score); #if 0 if(s->divx_version==500) diff -r 21b506d700cc -r e858fe220ce0 mpegvideo.c --- a/mpegvideo.c Sun Oct 20 17:02:41 2002 +0000 +++ b/mpegvideo.c Tue Oct 22 18:55:20 2002 +0000 @@ -1384,7 +1384,7 @@ if(field_based){ mx= motion_x/2; my= motion_y>>1; - }else if(s->divx_version){ + }else if(s->workaround_bugs&FF_BUG_QPEL_CHROMA){ mx= (motion_x>>1)|(motion_x&1); my= (motion_y>>1)|(motion_y&1); }else{