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/qsvenc.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/qsvenc.c')
-rw-r--r-- | libavcodec/qsvenc.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/libavcodec/qsvenc.c b/libavcodec/qsvenc.c index 07be4287b7..40d60cde3c 100644 --- a/libavcodec/qsvenc.c +++ b/libavcodec/qsvenc.c @@ -1616,6 +1616,14 @@ static int submit_frame(QSVEncContext *q, const AVFrame *frame, qf->surface.Data.V = qf->surface.Data.UV + 2; break; + case AV_PIX_FMT_X2RGB10: + case AV_PIX_FMT_BGRA: + qf->surface.Data.B = qf->frame->data[0]; + qf->surface.Data.G = qf->frame->data[0] + 1; + qf->surface.Data.R = qf->frame->data[0] + 2; + qf->surface.Data.A = qf->frame->data[0] + 3; + break; + default: /* should not reach here */ av_assert0(0); |