|
|
|
@@ -563,10 +563,9 @@ static int is_intra_more_likely(MpegEncContext *s){ |
|
|
|
|
|
|
|
if(undamaged_count < 5) return 0; //almost all MBs damaged -> use temporal prediction |
|
|
|
|
|
|
|
#if CONFIG_MPEG_XVMC_DECODER |
|
|
|
//prevent dsp.sad() check, that requires access to the image |
|
|
|
if(s->avctx->xvmc_acceleration && s->pict_type==FF_I_TYPE) return 1; |
|
|
|
#endif |
|
|
|
if(CONFIG_MPEG_XVMC_DECODER && s->avctx->xvmc_acceleration && s->pict_type == FF_I_TYPE) |
|
|
|
return 1; |
|
|
|
|
|
|
|
skip_amount= FFMAX(undamaged_count/50, 1); //check only upto 50 MBs |
|
|
|
is_intra_likely=0; |
|
|
|
@@ -935,10 +934,9 @@ void ff_er_frame_end(MpegEncContext *s){ |
|
|
|
}else |
|
|
|
guess_mv(s); |
|
|
|
|
|
|
|
#if CONFIG_MPEG_XVMC_DECODER |
|
|
|
/* the filters below are not XvMC compatible, skip them */ |
|
|
|
if(s->avctx->xvmc_acceleration) goto ec_clean; |
|
|
|
#endif |
|
|
|
if(CONFIG_MPEG_XVMC_DECODER && s->avctx->xvmc_acceleration) |
|
|
|
goto ec_clean; |
|
|
|
/* fill DC for inter blocks */ |
|
|
|
for(mb_y=0; mb_y<s->mb_height; mb_y++){ |
|
|
|
for(mb_x=0; mb_x<s->mb_width; mb_x++){ |
|
|
|
@@ -1024,9 +1022,7 @@ void ff_er_frame_end(MpegEncContext *s){ |
|
|
|
v_block_filter(s, s->current_picture.data[2], s->mb_width , s->mb_height , s->uvlinesize, 0); |
|
|
|
} |
|
|
|
|
|
|
|
#if CONFIG_MPEG_XVMC_DECODER |
|
|
|
ec_clean: |
|
|
|
#endif |
|
|
|
/* clean a few tables */ |
|
|
|
for(i=0; i<s->mb_num; i++){ |
|
|
|
const int mb_xy= s->mb_index2xy[i]; |
|
|
|
|