diff options
author | Diego 'Flameeyes' Pettenò <flameeyes@gmail.com> | 2008-03-01 03:05:13 +0100 |
---|---|---|
committer | Diego 'Flameeyes' Pettenò <flameeyes@gmail.com> | 2008-03-01 03:05:13 +0100 |
commit | 1d0b3b20c34517b9d1ddf3ea347776304b0c4b44 (patch) | |
tree | 89f4fc640c2becc6f00ae08996754952ecf149c1 /contrib/ffmpeg/libavcodec/error_resilience.c | |
parent | 09496ad3469a0ade8dbd9a351e639b78f20b7942 (diff) | |
download | xine-lib-1d0b3b20c34517b9d1ddf3ea347776304b0c4b44.tar.gz xine-lib-1d0b3b20c34517b9d1ddf3ea347776304b0c4b44.tar.bz2 |
Update internal FFmpeg copy.
Diffstat (limited to 'contrib/ffmpeg/libavcodec/error_resilience.c')
-rw-r--r-- | contrib/ffmpeg/libavcodec/error_resilience.c | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/contrib/ffmpeg/libavcodec/error_resilience.c b/contrib/ffmpeg/libavcodec/error_resilience.c index 175ccf73a..17f04d5ab 100644 --- a/contrib/ffmpeg/libavcodec/error_resilience.c +++ b/contrib/ffmpeg/libavcodec/error_resilience.c @@ -30,7 +30,6 @@ #include "avcodec.h" #include "dsputil.h" #include "mpegvideo.h" -#include "common.h" static void decode_mb(MpegEncContext *s){ s->dest[0] = s->current_picture.data[0] + (s->mb_y * 16* s->linesize ) + s->mb_x * 16; @@ -109,7 +108,7 @@ static void filter181(int16_t *data, int width, int height, int stride){ } /** - * guess the dc of blocks which dont have a undamaged dc + * guess the dc of blocks which do not have an undamaged dc * @param w width in 8 pixel blocks * @param h height in 8 pixel blocks */ @@ -564,6 +563,11 @@ static int is_intra_more_likely(MpegEncContext *s){ if(undamaged_count < 5) return 0; //allmost all MBs damaged -> use temporal prediction +#ifdef HAVE_XVMC + //prevent dsp.sad() check, that requires access to the image + if(s->avctx->xvmc_acceleration && s->pict_type==I_TYPE) return 1; +#endif + skip_amount= FFMAX(undamaged_count/50, 1); //check only upto 50 MBs is_intra_likely=0; @@ -765,7 +769,7 @@ void ff_er_frame_end(MpegEncContext *s){ if( error2==(VP_START|DC_ERROR|AC_ERROR|MV_ERROR|AC_END|DC_END|MV_END) && error1!=(VP_START|DC_ERROR|AC_ERROR|MV_ERROR|AC_END|DC_END|MV_END) - && ((error1&AC_END) || (error1&DC_END) || (error1&MV_END))){ //end & uninited + && ((error1&AC_END) || (error1&DC_END) || (error1&MV_END))){ //end & uninit end_ok=0; } |