You've already forked FFmpeg
							
							
				mirror of
				https://github.com/FFmpeg/FFmpeg.git
				synced 2025-10-30 23:18:11 +02:00 
			
		
		
		
	xvid qpel bug workaround
Originally committed as revision 1063 to svn://svn.ffmpeg.org/ffmpeg/trunk
This commit is contained in:
		| @@ -426,6 +426,7 @@ typedef struct AVCodecContext { | |||||||
| #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_AC_VLC           32 | #define FF_BUG_AC_VLC           32 | ||||||
|  | #define FF_BUG_QPEL_CHROMA      64 | ||||||
| //#define FF_BUG_FAKE_SCALABILITY 16 //autodetection should work 100% | //#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_UMP4; | ||||||
|             s->workaround_bugs|= FF_BUG_AC_VLC; |             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); | //printf("padding_bug_score: %d\n", s->padding_bug_score); | ||||||
| #if 0 | #if 0 | ||||||
|         if(s->divx_version==500) |         if(s->divx_version==500) | ||||||
|   | |||||||
| @@ -1384,7 +1384,7 @@ static inline void qpel_motion(MpegEncContext *s, | |||||||
|     if(field_based){ |     if(field_based){ | ||||||
|         mx= motion_x/2; |         mx= motion_x/2; | ||||||
|         my= motion_y>>1; |         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); |         mx= (motion_x>>1)|(motion_x&1); | ||||||
|         my= (motion_y>>1)|(motion_y&1); |         my= (motion_y>>1)|(motion_y&1); | ||||||
|     }else{ |     }else{ | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user