mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2024-12-23 12:43:46 +02:00
xvid qpel bug workaround
Originally committed as revision 1063 to svn://svn.ffmpeg.org/ffmpeg/trunk
This commit is contained in:
parent
3b4b29dcd9
commit
03e93d35b0
@ -426,6 +426,7 @@ typedef struct AVCodecContext {
|
||||
#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%
|
||||
|
||||
/**
|
||||
|
@ -372,6 +372,10 @@ uint64_t time= rdtsc();
|
||||
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)
|
||||
|
@ -1384,7 +1384,7 @@ static inline void qpel_motion(MpegEncContext *s,
|
||||
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{
|
||||
|
Loading…
Reference in New Issue
Block a user