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@intel.com>
This commit is contained in:
Wenbin Chen 2022-12-09 14:36:23 +08:00 committed by Haihao Xiang
parent 6489e0679d
commit 0825b461e6
1 changed files with 4 additions and 0 deletions

View File

@ -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) {