1
0
mirror of https://github.com/FFmpeg/FFmpeg.git synced 2024-12-23 12:43:46 +02:00

fix edge repeating bug for %16!=0 files, this fixes Quicktime mpeg4 (they arent buggy)

note, encoding wasnt affected by that

Originally committed as revision 2052 to svn://svn.ffmpeg.org/ffmpeg/trunk
This commit is contained in:
Michael Niedermayer 2003-07-16 18:12:14 +00:00
parent fa12b5469d
commit 6674a12696
2 changed files with 6 additions and 4 deletions

View File

@ -1900,8 +1900,6 @@ void mpeg4_encode_picture_header(MpegEncContext * s, int picture_number)
s->y_dc_scale_table= ff_mpeg4_y_dc_scale_table; //FIXME add short header support s->y_dc_scale_table= ff_mpeg4_y_dc_scale_table; //FIXME add short header support
s->c_dc_scale_table= ff_mpeg4_c_dc_scale_table; s->c_dc_scale_table= ff_mpeg4_c_dc_scale_table;
s->h_edge_pos= s->width;
s->v_edge_pos= s->height;
} }
#endif //CONFIG_ENCODERS #endif //CONFIG_ENCODERS
@ -4955,7 +4953,7 @@ static int decode_vop_header(MpegEncContext *s, GetBitContext *gb){
s->y_dc_scale_table= ff_mpeg4_y_dc_scale_table; //FIXME add short header support s->y_dc_scale_table= ff_mpeg4_y_dc_scale_table; //FIXME add short header support
s->c_dc_scale_table= ff_mpeg4_c_dc_scale_table; s->c_dc_scale_table= ff_mpeg4_c_dc_scale_table;
if(!(s->workaround_bugs&FF_BUG_EDGE)){ if(s->workaround_bugs&FF_BUG_EDGE){
s->h_edge_pos= s->width; s->h_edge_pos= s->width;
s->v_edge_pos= s->height; s->v_edge_pos= s->height;
} }

View File

@ -512,13 +512,17 @@ retry:
if(s->lavc_build && s->lavc_build<4655) if(s->lavc_build && s->lavc_build<4655)
s->workaround_bugs|= FF_BUG_DIRECT_BLOCKSIZE; s->workaround_bugs|= FF_BUG_DIRECT_BLOCKSIZE;
if(s->lavc_build && s->lavc_build<4618){
s->workaround_bugs|= FF_BUG_EDGE;
}
if(s->divx_version) if(s->divx_version)
s->workaround_bugs|= FF_BUG_DIRECT_BLOCKSIZE; s->workaround_bugs|= FF_BUG_DIRECT_BLOCKSIZE;
//printf("padding_bug_score: %d\n", s->padding_bug_score); //printf("padding_bug_score: %d\n", s->padding_bug_score);
if(s->divx_version==501 && s->divx_build==20020416) if(s->divx_version==501 && s->divx_build==20020416)
s->padding_bug_score= 256*256*256*64; s->padding_bug_score= 256*256*256*64;
if(s->divx_version>=500){ if(s->divx_version && s->divx_version<500){
s->workaround_bugs|= FF_BUG_EDGE; s->workaround_bugs|= FF_BUG_EDGE;
} }