|
|
|
@ -703,7 +703,7 @@ static int is_intra_more_likely(MpegEncContext *s){ |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
void ff_er_frame_start(MpegEncContext *s){ |
|
|
|
|
if(!s->error_recognition) return; |
|
|
|
|
if(!s->err_recognition) return; |
|
|
|
|
|
|
|
|
|
memset(s->error_status_table, MV_ERROR|AC_ERROR|DC_ERROR|VP_START|AC_END|DC_END|MV_END, s->mb_stride*s->mb_height*sizeof(uint8_t)); |
|
|
|
|
s->error_count= 3*s->mb_num; |
|
|
|
@ -731,7 +731,7 @@ void ff_er_add_slice(MpegEncContext *s, int startx, int starty, int endx, int en |
|
|
|
|
return; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
if(!s->error_recognition) return; |
|
|
|
|
if(!s->err_recognition) return; |
|
|
|
|
|
|
|
|
|
mask &= ~VP_START; |
|
|
|
|
if(status & (AC_ERROR|AC_END)){ |
|
|
|
@ -787,7 +787,7 @@ void ff_er_frame_end(MpegEncContext *s){ |
|
|
|
|
int size = s->b8_stride * 2 * s->mb_height; |
|
|
|
|
Picture *pic= s->current_picture_ptr; |
|
|
|
|
|
|
|
|
|
if(!s->error_recognition || s->error_count==0 || s->avctx->lowres || |
|
|
|
|
if(!s->err_recognition || s->error_count==0 || s->avctx->lowres || |
|
|
|
|
s->avctx->hwaccel || |
|
|
|
|
s->avctx->codec->capabilities&CODEC_CAP_HWACCEL_VDPAU || |
|
|
|
|
s->picture_structure != PICT_FRAME || // we do not support ER of field pictures yet, though it should not crash if enabled
|
|
|
|
@ -859,7 +859,7 @@ void ff_er_frame_end(MpegEncContext *s){ |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
/* handle missing slices */ |
|
|
|
|
if(s->error_recognition>=4){ |
|
|
|
|
if(s->err_recognition&AV_EF_EXPLODE){ |
|
|
|
|
int end_ok=1; |
|
|
|
|
|
|
|
|
|
for(i=s->mb_num-2; i>=s->mb_width+100; i--){ //FIXME +100 hack
|
|
|
|
|