mirror of https://git.ffmpeg.org/ffmpeg.git
lavc/qsvdec: track the runtime session version
We may check the runtime version for the given features Signed-off-by: Haihao Xiang <haihao.xiang@intel.com>
This commit is contained in:
parent
8dd507bf0d
commit
7c24a768d3
|
@ -59,6 +59,7 @@ static const AVRational mfx_tb = { 1, 90000 };
|
|||
typedef struct QSVContext {
|
||||
// the session used for decoding
|
||||
mfxSession session;
|
||||
mfxVersion ver;
|
||||
|
||||
// the session we allocated internally, in case the caller did not provide
|
||||
// one
|
||||
|
@ -202,6 +203,18 @@ static int qsv_init_session(AVCodecContext *avctx, QSVContext *q, mfxSession ses
|
|||
q->session = q->internal_qs.session;
|
||||
}
|
||||
|
||||
if (MFXQueryVersion(q->session, &q->ver) != MFX_ERR_NONE) {
|
||||
av_log(avctx, AV_LOG_ERROR, "Error querying the session version. \n");
|
||||
q->session = NULL;
|
||||
|
||||
if (q->internal_qs.session) {
|
||||
MFXClose(q->internal_qs.session);
|
||||
q->internal_qs.session = NULL;
|
||||
}
|
||||
|
||||
return AVERROR_EXTERNAL;
|
||||
}
|
||||
|
||||
/* make sure the decoder is uninitialized */
|
||||
MFXVideoDECODE_Close(q->session);
|
||||
|
||||
|
|
Loading…
Reference in New Issue