From ec892563ae41e5f694dcd3d68b0299478b1552c0 Mon Sep 17 00:00:00 2001 From: Michael Niedermayer Date: Fri, 19 Nov 2004 13:08:25 +0000 Subject: [PATCH] reset ref_index Originally committed as revision 3690 to svn://svn.ffmpeg.org/ffmpeg/trunk --- libavcodec/error_resilience.c | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/libavcodec/error_resilience.c b/libavcodec/error_resilience.c index c18d775..9896123 100644 --- a/libavcodec/error_resilience.c +++ b/libavcodec/error_resilience.c @@ -666,6 +666,8 @@ void ff_er_frame_end(MpegEncContext *s){ int threshold_part[4]= {100,100,100}; int threshold= 50; int is_intra_likely; + int size = s->b8_stride * 2 * s->mb_height; + Picture *pic= s->current_picture_ptr; if(!s->error_resilience || s->error_count==0 || s->error_count==3*s->mb_width*(s->avctx->skip_top + s->avctx->skip_bottom)) return; @@ -673,9 +675,6 @@ void ff_er_frame_end(MpegEncContext *s){ av_log(s->avctx, AV_LOG_INFO, "concealing %d errors\n", s->error_count); if(s->current_picture.motion_val[0] == NULL){ - int size = s->b8_stride * 2 * s->mb_height; - Picture *pic= s->current_picture_ptr; - av_log(s->avctx, AV_LOG_ERROR, "Warning MVs not available\n"); for(i=0; i<2; i++){ @@ -687,6 +686,11 @@ void ff_er_frame_end(MpegEncContext *s){ s->current_picture= *s->current_picture_ptr; } + for(i=0; i<2; i++){ + if(pic->ref_index[i]) + memset(pic->ref_index[i], 0, size * sizeof(uint8_t)); + } + if(s->avctx->debug&FF_DEBUG_ER){ for(mb_y=0; mb_ymb_height; mb_y++){ for(mb_x=0; mb_xmb_width; mb_x++){ -- 2.7.4