summaryrefslogtreecommitdiff
path: root/libavcodec/qsv_internal.h
diff options
context:
space:
mode:
authorWenbin Chen <wenbin.chen-at-intel.com@ffmpeg.org>2022-06-08 13:02:48 +0800
committerHaihao Xiang <haihao.xiang@intel.com>2022-06-17 13:09:35 +0800
commit97141ffeec803c448d81ee4a53cfa2355f79f7ec (patch)
treedbd52c03ce4e4171474d76b071b070d3ff14de66 /libavcodec/qsv_internal.h
parent6a02de21278ec3bea1d2c62665f2629d5a62210f (diff)
downloadffmpeg-97141ffeec803c448d81ee4a53cfa2355f79f7ec.tar.gz
libavcodec/qsvenc: add ROI support to qsv encoder
Use The mfxEncoderCtrl parameter to enable ROI. Get side data "AVRegionOfInterest" and use it to configure "mfxExtEncoderROI" which is the MediaSDK's ROI configuration. Signed-off-by: Wenbin Chen <wenbin.chen@intel.com> Signed-off-by: Haihao Xiang <haihao.xiang@intel.com>
Diffstat (limited to 'libavcodec/qsv_internal.h')
-rw-r--r--libavcodec/qsv_internal.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/libavcodec/qsv_internal.h b/libavcodec/qsv_internal.h
index e2aecdcbd6..8131acdae9 100644
--- a/libavcodec/qsv_internal.h
+++ b/libavcodec/qsv_internal.h
@@ -51,6 +51,9 @@
#define ASYNC_DEPTH_DEFAULT 4 // internal parallelism
#define QSV_MAX_ENC_PAYLOAD 2 // # of mfxEncodeCtrl payloads supported
+#define QSV_MAX_ENC_EXTPARAM 2
+
+#define QSV_MAX_ROI_NUM 256
#define QSV_MAX_FRAME_EXT_PARAMS 4
@@ -83,6 +86,7 @@ typedef struct QSVFrame {
int num_ext_params;
mfxPayload *payloads[QSV_MAX_ENC_PAYLOAD]; ///< used for enc_ctrl.Payload
+ mfxExtBuffer *extparam[QSV_MAX_ENC_EXTPARAM]; ///< used for enc_ctrl.ExtParam
int queued;
int used;