aboutsummaryrefslogtreecommitdiffstats
path: root/libavcodec
diff options
context:
space:
mode:
authorMichael Niedermayer <michaelni@gmx.at>2003-07-16 18:12:14 +0000
committerMichael Niedermayer <michaelni@gmx.at>2003-07-16 18:12:14 +0000
commit6674a126967325fbbeb36fc9d1a0c57fc07d7012 (patch)
tree0c3ad1da6f00743c69b4e20338e69a210dae6ba3 /libavcodec
parentfa12b5469db087c5eb5652700fce4df8a94296dc (diff)
downloadffmpeg-6674a126967325fbbeb36fc9d1a0c57fc07d7012.tar.gz
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
Diffstat (limited to 'libavcodec')
-rw-r--r--libavcodec/h263.c4
-rw-r--r--libavcodec/h263dec.c6
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;
}