diff options
author | Wenbin Chen <wenbin.chen-at-intel.com@ffmpeg.org> | 2022-02-18 13:50:12 +0800 |
---|---|---|
committer | Haihao Xiang <haihao.xiang@intel.com> | 2022-02-22 14:48:29 +0800 |
commit | 9da19c290960e976d9da42b5ee92f887a74dc8a5 (patch) | |
tree | 5de8a2c222c7f3437f9b85973031254d6e203f24 /libavcodec/qsv.c | |
parent | b1c26ce9fe4da93e4ca4108a32f478ded7cfd428 (diff) | |
download | ffmpeg-9da19c290960e976d9da42b5ee92f887a74dc8a5.tar.gz |
libavcodec/qsvenc_hevc: encode RGB format rawvideo
Add support for hevc_qsv to input RGB format frame. It will
transform frame to yuv inside MediaSDK instead of using auto
scale. Now hevc_qsv supports directly encoding BGRA and X2RGB10
format. The X2RGB10 correspond to the A2RGB20 format and BGRA
correspond to RGB4 format in MediaSDK.
Signed-off-by: Wenbin Chen <wenbin.chen@intel.com>
Signed-off-by: Haihao Xiang <haihao.xiang@intel.com>
Diffstat (limited to 'libavcodec/qsv.c')
-rw-r--r-- | libavcodec/qsv.c | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/libavcodec/qsv.c b/libavcodec/qsv.c index 1a432dbd82..b75877e698 100644 --- a/libavcodec/qsv.c +++ b/libavcodec/qsv.c @@ -189,6 +189,12 @@ enum AVPixelFormat ff_qsv_map_fourcc(uint32_t fourcc) case MFX_FOURCC_NV12: return AV_PIX_FMT_NV12; case MFX_FOURCC_P010: return AV_PIX_FMT_P010; case MFX_FOURCC_P8: return AV_PIX_FMT_PAL8; +#if QSV_VERSION_ATLEAST(1, 9) + case MFX_FOURCC_A2RGB10: return AV_PIX_FMT_X2RGB10; +#endif +#if QSV_VERSION_ATLEAST(1, 17) + case MFX_FOURCC_RGB4: return AV_PIX_FMT_BGRA; +#endif #if CONFIG_VAAPI case MFX_FOURCC_YUY2: return AV_PIX_FMT_YUYV422; #if QSV_VERSION_ATLEAST(1, 27) @@ -211,6 +217,16 @@ int ff_qsv_map_pixfmt(enum AVPixelFormat format, uint32_t *fourcc) case AV_PIX_FMT_P010: *fourcc = MFX_FOURCC_P010; return AV_PIX_FMT_P010; +#if QSV_VERSION_ATLEAST(1, 9) + case AV_PIX_FMT_X2RGB10: + *fourcc = MFX_FOURCC_A2RGB10; + return AV_PIX_FMT_X2RGB10; +#endif +#if QSV_VERSION_ATLEAST(1, 17) + case AV_PIX_FMT_BGRA: + *fourcc = MFX_FOURCC_RGB4; + return AV_PIX_FMT_BGRA; +#endif #if CONFIG_VAAPI case AV_PIX_FMT_YUV422P: case AV_PIX_FMT_YUYV422: |