MFX_VERSION_MAJOR == (MAJOR) && MFX_VERSION_MINOR >= (MINOR))
typedef struct QSVMid {
+ AVBufferRef *hw_frames_ref;
mfxHDL handle;
+
+ AVFrame *locked_frame;
+ AVFrame *hw_frame;
+ mfxFrameSurface1 surf;
} QSVMid;
typedef struct QSVFrame {
typedef struct QSVFramesContext {
AVBufferRef *hw_frames_ctx;
- mfxFrameInfo info;
+ void *logctx;
+
+ /* The memory ids for the external frames.
+ * Refcounted, since we need one reference owned by the QSVFramesContext
+ * (i.e. by the encoder/decoder) and another one given to the MFX session
+ * from the frame allocator. */
+ AVBufferRef *mids_buf;
QSVMid *mids;
int nb_mids;
} QSVFramesContext;