X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=libavcodec%2Fqsvdec.c;h=9fefc41020aad647c09c153f813463ef3b80fd7b;hb=071f6edb985de38e9e7b6e28e710a08f7294e8ba;hp=00990badb10b7ca0cf9c8cc75a8547cf17bd82d0;hpb=66682145216f6476426360bdb04cbc6e0e4adbb4;p=ffmpeg diff --git a/libavcodec/qsvdec.c b/libavcodec/qsvdec.c index 00990badb10..9fefc41020a 100644 --- a/libavcodec/qsvdec.c +++ b/libavcodec/qsvdec.c @@ -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; }