Browse Source

mpeg4dec: restore error concealment functionality after merge

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
tags/n0.10
Michael Niedermayer 14 years ago
parent
commit
c9cab022a3
2 changed files with 3 additions and 3 deletions
  1. +1
    -1
      libavcodec/mpeg4video.h
  2. +2
    -2
      libavcodec/mpeg4videodec.c

+ 1
- 1
libavcodec/mpeg4video.h View File

@@ -174,7 +174,7 @@ static inline int ff_mpeg4_pred_dc(MpegEncContext * s, int n, int level, int *di
}else{
level += pred;
ret= level;
if(s->err_recognition&AV_EF_BITSTREAM){
if(s->err_recognition&(AV_EF_BITSTREAM|AV_EF_AGGRESSIVE)){
if(level<0){
av_log(s->avctx, AV_LOG_ERROR, "dc<0 at %dx%d\n", s->mb_x, s->mb_y);
return -1;


+ 2
- 2
libavcodec/mpeg4videodec.c View File

@@ -516,7 +516,7 @@ static inline int mpeg4_decode_dc(MpegEncContext * s, int n, int *dir_ptr)

if (code > 8){
if(get_bits1(&s->gb)==0){ /* marker */
if(s->err_recognition&AV_EF_BITSTREAM){
if(s->err_recognition&(AV_EF_BITSTREAM|AV_EF_COMPLIANT)){
av_log(s->avctx, AV_LOG_ERROR, "dc marker bit missing\n");
return -1;
}
@@ -1012,7 +1012,7 @@ static inline int mpeg4_decode_block(MpegEncContext * s, DCTELEM * block,
else level= level * qmul - qadd;

if((unsigned)(level + 2048) > 4095){
if(s->err_recognition & AV_EF_BITSTREAM){
if(s->err_recognition & (AV_EF_BITSTREAM|AV_EF_AGGRESSIVE)){
if(level > 2560 || level<-2560){
av_log(s->avctx, AV_LOG_ERROR, "|level| overflow in 3. esc, qp=%d\n", s->qscale);
return -1;


Loading…
Cancel
Save