This is a more appropriate place for it.
---
 libavcodec/h264_slice.c | 6 ++++++
 libavcodec/h264dec.c    | 4 ----
 2 files changed, 6 insertions(+), 4 deletions(-)

diff --git a/libavcodec/h264_slice.c b/libavcodec/h264_slice.c
index 244640f..53f745e 100644
--- a/libavcodec/h264_slice.c
+++ b/libavcodec/h264_slice.c
@@ -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;
 }
 
diff --git a/libavcodec/h264dec.c b/libavcodec/h264dec.c
index 59b6cb6..058125a 100644
--- a/libavcodec/h264dec.c
+++ b/libavcodec/h264dec.c
@@ -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 &&
-- 
2.0.0

_______________________________________________
libav-devel mailing list
[email protected]
https://lists.libav.org/mailman/listinfo/libav-devel

Reply via email to