diff options
author | Mark Thompson <sw@jkqxz.net> | 2017-03-30 22:07:57 +0100 |
---|---|---|
committer | Mark Thompson <sw@jkqxz.net> | 2017-03-30 22:07:57 +0100 |
commit | ff821fdfced0de05e1e62c7fec2635ffc607f383 (patch) | |
tree | b3ee5ac8938408d5511234fe658e74e48c187822 /libavcodec/qsv_internal.h | |
parent | c0f2a8eac172ce720a513abe1706a026236c0579 (diff) | |
parent | 4ab61cd983b539749bd621ea271624ddb5196a8e (diff) | |
download | ffmpeg-ff821fdfced0de05e1e62c7fec2635ffc607f383.tar.gz |
Merge commit '4ab61cd983b539749bd621ea271624ddb5196a8e'
* commit '4ab61cd983b539749bd621ea271624ddb5196a8e':
qsv{enc,dec}: extend the internal frame allocator
Merged-by: Mark Thompson <sw@jkqxz.net>
Diffstat (limited to 'libavcodec/qsv_internal.h')
-rw-r--r-- | libavcodec/qsv_internal.h | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/libavcodec/qsv_internal.h b/libavcodec/qsv_internal.h index 624b2b8308..814db08e6c 100644 --- a/libavcodec/qsv_internal.h +++ b/libavcodec/qsv_internal.h @@ -39,7 +39,12 @@ 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 { @@ -55,7 +60,13 @@ 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; |