]> git.sesse.net Git - ffmpeg/blobdiff - libavcodec/qsvdec.c
Merge commit '380146924ecad2e05e9dcc5c3c2e1b5ba47c51e8'
[ffmpeg] / libavcodec / qsvdec.c
index 00990badb10b7ca0cf9c8cc75a8547cf17bd82d0..9fefc41020aad647c09c153f813463ef3b80fd7b 100644 (file)
@@ -49,7 +49,7 @@ int ff_qsv_map_pixfmt(enum AVPixelFormat format)
     }
 }
 
-int ff_qsv_decode_init(AVCodecContext *avctx, QSVContext *q, AVPacket *avpkt)
+static int qsv_decode_init(AVCodecContext *avctx, QSVContext *q, AVPacket *avpkt)
 {
     mfxVideoParam param = { { 0 } };
     mfxBitstream bs   = { { { 0 } } };
@@ -293,7 +293,8 @@ static void close_decoder(QSVContext *q)
 {
     QSVFrame *cur;
 
-    MFXVideoDECODE_Close(q->session);
+    if (q->session)
+        MFXVideoDECODE_Close(q->session);
 
     cur = q->work_frames;
     while (cur) {
@@ -322,7 +323,7 @@ static int do_qsv_decode(AVCodecContext *avctx, QSVContext *q,
     int flush    = !avpkt->size || q->reinit_pending;
 
     if (!q->engine_ready) {
-        ret = ff_qsv_decode_init(avctx, q, avpkt);
+        ret = qsv_decode_init(avctx, q, avpkt);
         if (ret)
             return ret;
     }