summaryrefslogtreecommitdiff
path: root/libavcodec/qsv_internal.h
diff options
context:
space:
mode:
authorAnton Khirnov <anton@khirnov.net>2016-05-27 13:23:19 +0200
committerAnton Khirnov <anton@khirnov.net>2016-06-21 19:53:38 +0200
commita0524d9b1e1bb0012207584f067096df7792df6c (patch)
treebdfb1267c302c700a8a4c5830631320a22d381fa /libavcodec/qsv_internal.h
parent59e7361cc791e5103be1712dc59a2055f118d0da (diff)
downloadffmpeg-a0524d9b1e1bb0012207584f067096df7792df6c.tar.gz
qsvdec: support getting the session from an AVHWFramesContext
Diffstat (limited to 'libavcodec/qsv_internal.h')
-rw-r--r--libavcodec/qsv_internal.h11
1 files changed, 11 insertions, 0 deletions
diff --git a/libavcodec/qsv_internal.h b/libavcodec/qsv_internal.h
index 1b7a2e77b2..ceee8df1dd 100644
--- a/libavcodec/qsv_internal.h
+++ b/libavcodec/qsv_internal.h
@@ -47,6 +47,13 @@ typedef struct QSVFrame {
struct QSVFrame *next;
} QSVFrame;
+typedef struct QSVFramesContext {
+ AVBufferRef *hw_frames_ctx;
+ mfxFrameInfo info;
+ mfxMemId *mids;
+ int nb_mids;
+} QSVFramesContext;
+
/**
* Convert a libmfx error code into a libav error code.
*/
@@ -57,4 +64,8 @@ int ff_qsv_codec_id_to_mfx(enum AVCodecID codec_id);
int ff_qsv_init_internal_session(AVCodecContext *avctx, mfxSession *session,
const char *load_plugins);
+int ff_qsv_init_session_hwcontext(AVCodecContext *avctx, mfxSession *session,
+ QSVFramesContext *qsv_frames_ctx,
+ const char *load_plugins, int opaque);
+
#endif /* AVCODEC_QSV_INTERNAL_H */