Move VDPAU check, make future VDPAU patches smaller.
authorCarl Eugen Hoyos <cehoyos@rainbow.studorg.tuwien.ac.at>
Fri, 9 Jan 2009 22:22:40 +0000 (22:22 +0000)
committerCarl Eugen Hoyos <cehoyos@rainbow.studorg.tuwien.ac.at>
Fri, 9 Jan 2009 22:22:40 +0000 (22:22 +0000)
Originally committed as revision 16508 to svn://svn.ffmpeg.org/ffmpeg/trunk

libavcodec/error_resilience.c
libavcodec/h264.c

index 55bd716..bdd3a66 100644 (file)
@@ -681,6 +681,7 @@ void ff_er_frame_end(MpegEncContext *s){
     Picture *pic= s->current_picture_ptr;
 
     if(!s->error_recognition || s->error_count==0 || s->avctx->lowres ||
     Picture *pic= s->current_picture_ptr;
 
     if(!s->error_recognition || s->error_count==0 || s->avctx->lowres ||
+       s->avctx->codec->capabilities&CODEC_CAP_HWACCEL_VDPAU ||
        s->error_count==3*s->mb_width*(s->avctx->skip_top + s->avctx->skip_bottom)) return;
 
     if(s->current_picture.motion_val[0] == NULL){
        s->error_count==3*s->mb_width*(s->avctx->skip_top + s->avctx->skip_bottom)) return;
 
     if(s->current_picture.motion_val[0] == NULL){
index 53cb838..a8bd062 100644 (file)
@@ -7647,7 +7647,7 @@ static int decode_frame(AVCodecContext *avctx,
          * past end by one (callers fault) and resync_mb_y != 0
          * causes problems for the first MB line, too.
          */
          * past end by one (callers fault) and resync_mb_y != 0
          * causes problems for the first MB line, too.
          */
-        if (avctx->codec_id != CODEC_ID_H264_VDPAU && !FIELD_PICTURE)
+        if (!FIELD_PICTURE)
             ff_er_frame_end(s);
 
         MPV_frame_end(s);
             ff_er_frame_end(s);
 
         MPV_frame_end(s);