h264: call the hwaccel frame_start() from h264_field_start()
authorAnton Khirnov <anton@khirnov.net>
Fri, 20 May 2016 10:21:36 +0000 (12:21 +0200)
committerAnton Khirnov <anton@khirnov.net>
Tue, 21 Jun 2016 09:19:51 +0000 (11:19 +0200)
This is a more appropriate place for it.

libavcodec/h264_slice.c
libavcodec/h264dec.c

index 244640f..53f745e 100644 (file)
@@ -1344,6 +1344,12 @@ static int h264_field_start(H264Context *h, const H264SliceContext *sl,
             return ret;
     }
 
+    if (h->avctx->hwaccel) {
+        ret = h->avctx->hwaccel->start_frame(h->avctx, NULL, 0);
+        if (ret < 0)
+            return ret;
+    }
+
     return 0;
 }
 
index c99f6e6..b98d141 100644 (file)
@@ -722,10 +722,6 @@ static int decode_nal_units(H264Context *h, const uint8_t *buf, int buf_size)
             if (h->current_slice == 1) {
                 if (!(avctx->flags2 & AV_CODEC_FLAG2_CHUNKS))
                     decode_postinit(h, i >= nals_needed);
-
-                if (h->avctx->hwaccel &&
-                    (ret = h->avctx->hwaccel->start_frame(h->avctx, NULL, 0)) < 0)
-                    return ret;
             }
 
             if (sl->redundant_pic_count == 0 &&