[FFmpeg-cvslog] libavcodec/qsvenc: Enable 444 encoding for RGB input
Wenbin Chen
git at videolan.org
Mon Feb 27 07:56:22 EET 2023
ffmpeg | branch: master | Wenbin Chen <wenbin.chen at intel.com> | Fri Dec 9 14:36:23 2022 +0800| [0825b461e64b5924fdee7055643db65870d2eaae] | committer: Haihao Xiang
libavcodec/qsvenc: Enable 444 encoding for RGB input
MSDK/VPL uses 420 chroma format as default to encode RGB, and this is
not a proper usage. Now enable 444 encoding for RGB input by default.
When main profile is used, RGB input is still encoded in 420 format.
Signed-off-by: Wenbin Chen <wenbin.chen at intel.com>
> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=0825b461e64b5924fdee7055643db65870d2eaae
---
libavcodec/qsvenc.c | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/libavcodec/qsvenc.c b/libavcodec/qsvenc.c
index fc64a086e4..3607859cb8 100644
--- a/libavcodec/qsvenc.c
+++ b/libavcodec/qsvenc.c
@@ -1118,6 +1118,10 @@ static int init_video_param(AVCodecContext *avctx, QSVEncContext *q)
q->extco3.MaxFrameSizeI = q->max_frame_size_i;
if (q->max_frame_size_p >= 0)
q->extco3.MaxFrameSizeP = q->max_frame_size_p;
+ if (sw_format == AV_PIX_FMT_BGRA &&
+ (q->profile == MFX_PROFILE_HEVC_REXT ||
+ q->profile == MFX_PROFILE_UNKNOWN))
+ q->extco3.TargetChromaFormatPlus1 = MFX_CHROMAFORMAT_YUV444 + 1;
q->extco3.ScenarioInfo = q->scenario;
} else if (avctx->codec_id == AV_CODEC_ID_AV1) {
More information about the ffmpeg-cvslog
mailing list