From ac0c66382d313b581c71c21d356fe08746e3fbc0 Mon Sep 17 00:00:00 2001 From: Michael Niedermayer Date: Mon, 13 Oct 2003 11:13:10 +0000 Subject: [PATCH] dont check if the ac esc 3 could have been stored as vlc as this detects only very few errors allthough it detects several buggy encoders Originally committed as revision 2370 to svn://svn.ffmpeg.org/ffmpeg/trunk --- libavcodec/avcodec.h | 2 +- libavcodec/h263.c | 6 +++--- libavcodec/h263dec.c | 1 - 3 files changed, 4 insertions(+), 5 deletions(-) diff --git a/libavcodec/avcodec.h b/libavcodec/avcodec.h index d3a9332194..279489b9eb 100644 --- a/libavcodec/avcodec.h +++ b/libavcodec/avcodec.h @@ -676,7 +676,7 @@ typedef struct AVCodecContext { #define FF_BUG_XVID_ILACE 4 #define FF_BUG_UMP4 8 #define FF_BUG_NO_PADDING 16 -#define FF_BUG_AC_VLC 32 +#define FF_BUG_AC_VLC 0 ///< will be removed, libavcodec can now handle these non compliant files by default #define FF_BUG_QPEL_CHROMA 64 #define FF_BUG_STD_QPEL 128 #define FF_BUG_QPEL_CHROMA2 256 diff --git a/libavcodec/h263.c b/libavcodec/h263.c index ce07321126..39ed7c824c 100644 --- a/libavcodec/h263.c +++ b/libavcodec/h263.c @@ -4082,10 +4082,10 @@ static inline int mpeg4_decode_block(MpegEncContext * s, DCTELEM * block, fprintf(stderr, "|level| overflow in 3. esc, qp=%d\n", s->qscale); return -1; } -#if 1 - { +#if 0 + if(s->error_resilience >= FF_ER_COMPLIANT){ const int abs_level= ABS(level); - if(abs_level<=MAX_LEVEL && run<=MAX_RUN && !(s->workaround_bugs&FF_BUG_AC_VLC)){ + if(abs_level<=MAX_LEVEL && run<=MAX_RUN){ const int run1= run - rl->max_run[last][abs_level] - 1; if(abs_level <= rl->max_level[last][run]){ fprintf(stderr, "illegal 3. esc, vlc encoding possible\n"); diff --git a/libavcodec/h263dec.c b/libavcodec/h263dec.c index cdf9a77fc5..807d31118f 100644 --- a/libavcodec/h263dec.c +++ b/libavcodec/h263dec.c @@ -508,7 +508,6 @@ retry: if(s->avctx->codec_tag == ff_get_fourcc("UMP4")){ s->workaround_bugs|= FF_BUG_UMP4; - s->workaround_bugs|= FF_BUG_AC_VLC; } if(s->divx_version>=500){