diff options
author | Ivan Uskov <ivan.uskov@nablet.com> | 2015-07-13 10:17:54 -0400 |
---|---|---|
committer | Michael Niedermayer <michael@niedermayer.cc> | 2015-07-14 02:02:55 +0200 |
commit | ce91bab70f69acc1a7e5705af95cc6fa89765825 (patch) | |
tree | d2464e5c989adee7fc0278ae0cdef042fd80459a /libavcodec/qsv_internal.h | |
parent | 96e1cc3f8b6b0b5b19820609b23642bde1ee7e7c (diff) | |
download | ffmpeg-ce91bab70f69acc1a7e5705af95cc6fa89765825.tar.gz |
libavcodec/qsv.c: Issue fixed: QSV engine does not release display handler under linux platform.
Reviewed-by: Gwenole Beauchesne <gb.devel@gmail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
Diffstat (limited to 'libavcodec/qsv_internal.h')
-rw-r--r-- | libavcodec/qsv_internal.h | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/libavcodec/qsv_internal.h b/libavcodec/qsv_internal.h index ee48a0fb9d..3d949dc0fa 100644 --- a/libavcodec/qsv_internal.h +++ b/libavcodec/qsv_internal.h @@ -58,6 +58,14 @@ typedef struct QSVFrame { struct QSVFrame *next; } QSVFrame; +typedef struct QSVSession { + mfxSession session; +#ifdef AVCODEC_QSV_LINUX_SESSION_HANDLE + int fd_display; + VADisplay va_display; +#endif +} QSVSession; + /** * Convert a libmfx error code into a ffmpeg error code. */ @@ -65,7 +73,8 @@ int ff_qsv_error(int mfx_err); int ff_qsv_codec_id_to_mfx(enum AVCodecID codec_id); -int ff_qsv_init_internal_session(AVCodecContext *avctx, mfxSession *session, +int ff_qsv_init_internal_session(AVCodecContext *avctx, QSVSession *qs, const char *load_plugins); +int ff_qsv_close_internal_session(QSVSession *qs); #endif /* AVCODEC_QSV_INTERNAL_H */ |