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
pull/126/head
Michael Niedermayer 22 years ago
parent 117a5490bd
commit ac0c66382d
  1. 2
      libavcodec/avcodec.h
  2. 6
      libavcodec/h263.c
  3. 1
      libavcodec/h263dec.c

@ -676,7 +676,7 @@ typedef struct AVCodecContext {
#define FF_BUG_XVID_ILACE 4 #define FF_BUG_XVID_ILACE 4
#define FF_BUG_UMP4 8 #define FF_BUG_UMP4 8
#define FF_BUG_NO_PADDING 16 #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_QPEL_CHROMA 64
#define FF_BUG_STD_QPEL 128 #define FF_BUG_STD_QPEL 128
#define FF_BUG_QPEL_CHROMA2 256 #define FF_BUG_QPEL_CHROMA2 256

@ -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); fprintf(stderr, "|level| overflow in 3. esc, qp=%d\n", s->qscale);
return -1; return -1;
} }
#if 1 #if 0
{ if(s->error_resilience >= FF_ER_COMPLIANT){
const int abs_level= ABS(level); 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; const int run1= run - rl->max_run[last][abs_level] - 1;
if(abs_level <= rl->max_level[last][run]){ if(abs_level <= rl->max_level[last][run]){
fprintf(stderr, "illegal 3. esc, vlc encoding possible\n"); fprintf(stderr, "illegal 3. esc, vlc encoding possible\n");

@ -508,7 +508,6 @@ retry:
if(s->avctx->codec_tag == ff_get_fourcc("UMP4")){ if(s->avctx->codec_tag == ff_get_fourcc("UMP4")){
s->workaround_bugs|= FF_BUG_UMP4; s->workaround_bugs|= FF_BUG_UMP4;
s->workaround_bugs|= FF_BUG_AC_VLC;
} }
if(s->divx_version>=500){ if(s->divx_version>=500){

Loading…
Cancel
Save