From 6674a126967325fbbeb36fc9d1a0c57fc07d7012 Mon Sep 17 00:00:00 2001 From: Michael Niedermayer Date: Wed, 16 Jul 2003 18:12:14 +0000 Subject: [PATCH] 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 --- libavcodec/h263.c | 4 +--- libavcodec/h263dec.c | 6 +++++- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/libavcodec/h263.c b/libavcodec/h263.c index ba28184f4c..b48c86648e 100644 --- a/libavcodec/h263.c +++ b/libavcodec/h263.c @@ -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->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 @@ -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->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->v_edge_pos= s->height; } diff --git a/libavcodec/h263dec.c b/libavcodec/h263dec.c index 33e21f5a57..067627c16c 100644 --- a/libavcodec/h263dec.c +++ b/libavcodec/h263dec.c @@ -512,13 +512,17 @@ retry: if(s->lavc_build && s->lavc_build<4655) 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) s->workaround_bugs|= FF_BUG_DIRECT_BLOCKSIZE; //printf("padding_bug_score: %d\n", s->padding_bug_score); if(s->divx_version==501 && s->divx_build==20020416) 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; }