0
0
mirror of https://github.com/obsproject/obs-studio.git synced 2024-09-20 13:08:50 +02:00

obs-qsv11: Adjust Subjective Video Enhancements

Disable MBBRC (macro block level bitrate control) because it can reduce
objective quality metrics like VMAF.

Use AdaptiveCQM for CBR and VBR.
This commit is contained in:
Gale 2023-07-12 20:25:41 -07:00 committed by Ryan Foster
parent 99c456b777
commit 6dada921c9
3 changed files with 2 additions and 5 deletions

View File

@ -130,7 +130,6 @@ typedef struct {
mfxU32 MinDisplayMasteringLuminance;
mfxU16 MaxContentLightLevel;
mfxU16 MaxPicAverageLightLevel;
bool bMBBRC;
bool bCQM;
bool video_fmt_10bit;
} qsv_param_t;

View File

@ -335,8 +335,6 @@ mfxStatus QSV_Encoder_Internal::InitParams(qsv_param_t *pParams,
if (pParams->nRateControl == MFX_RATECONTROL_LA_ICQ ||
pParams->nRateControl == MFX_RATECONTROL_LA)
m_co2.LookAheadDepth = pParams->nLADEPTH;
if (pParams->bMBBRC)
m_co2.MBBRC = MFX_CODINGOPTION_ON;
if (pParams->nbFrames > 1)
m_co2.BRefType = MFX_B_REF_PYRAMID;
if (m_mfxEncParams.mfx.LowPower == MFX_CODINGOPTION_ON) {
@ -356,6 +354,7 @@ mfxStatus QSV_Encoder_Internal::InitParams(qsv_param_t *pParams,
m_co3.Header.BufferId = MFX_EXTBUFF_CODING_OPTION3;
m_co3.Header.BufferSz = sizeof(m_co3);
m_co3.ScenarioInfo = MFX_SCENARIO_GAME_STREAMING;
m_co3.AdaptiveCQM = MFX_CODINGOPTION_ON;
extendedBuffers.push_back((mfxExtBuffer *)&m_co3);
}

View File

@ -187,7 +187,7 @@ static void obs_qsv_defaults(obs_data_t *settings, int ver,
obs_data_set_default_int(settings, "keyint_sec", 3);
obs_data_set_default_string(settings, "latency", "normal");
obs_data_set_default_int(settings, "bframes", 3);
obs_data_set_default_bool(settings, "enhancements", false);
obs_data_set_default_bool(settings, "enhancements", true);
}
static void obs_qsv_defaults_h264_v1(obs_data_t *settings)
@ -717,7 +717,6 @@ static void update_params(struct obs_qsv *obsqsv, obs_data_t *settings)
obsqsv->params.nbFrames = (mfxU16)bFrames;
obsqsv->params.nKeyIntSec = (mfxU16)keyint_sec;
obsqsv->params.nICQQuality = (mfxU16)icq_quality;
obsqsv->params.bMBBRC = enhancements;
obsqsv->params.bCQM = enhancements;
info("settings:\n"