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:
parent
fa12b5469d
commit
6674a12696
@ -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;
|
||||||
}
|
}
|
||||||
|
@ -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;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user