Mercurial > libavcodec.hg
changeset 1137:7fb0b38ab5a3 libavcodec
cleaner & more flexible edge bug workaround
author | michaelni |
---|---|
date | Sat, 15 Mar 2003 20:47:09 +0000 |
parents | 9eb49e9e8dd9 |
children | e10e841c9bf0 |
files | avcodec.h h263.c h263dec.c |
diffstat | 3 files changed, 7 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- a/avcodec.h Sat Mar 15 02:06:09 2003 +0000 +++ b/avcodec.h Sat Mar 15 20:47:09 2003 +0000 @@ -583,6 +583,7 @@ #define FF_BUG_STD_QPEL 128 #define FF_BUG_QPEL_CHROMA2 256 #define FF_BUG_DIRECT_BLOCKSIZE 512 +#define FF_BUG_EDGE 1024 //#define FF_BUG_FAKE_SCALABILITY 16 //autodetection should work 100% /**
--- a/h263.c Sat Mar 15 02:06:09 2003 +0000 +++ b/h263.c Sat Mar 15 20:47:09 2003 +0000 @@ -4814,7 +4814,7 @@ 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->divx_version==0 || s->divx_version < 500){ + if(!(s->workaround_bugs&FF_BUG_EDGE)){ s->h_edge_pos= s->width; s->v_edge_pos= s->height; }
--- a/h263dec.c Sat Mar 15 02:06:09 2003 +0000 +++ b/h263dec.c Sat Mar 15 20:47:09 2003 +0000 @@ -538,6 +538,11 @@ //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){ + s->workaround_bugs|= FF_BUG_EDGE; + } + #if 0 if(s->divx_version==500) s->padding_bug_score= 256*256*256*64;