Skip to content

Commit 16c5b81

Browse files
skyleiwugfxVPLsdm
authored andcommitted
[Encode][AV1] Gate TU1 use_ref_frame_mvs default on platform capability
Only default EnableRefFrameMvs to ON for TU1 when the platform hardware capability supports enable_ref_frame_mvs. On platforms where the capability is absent, default to OFF to avoid reporting invalid video parameters in CheckRefFrameMvs.
1 parent 47345cd commit 16c5b81

1 file changed

Lines changed: 4 additions & 4 deletions

File tree

_studio/mfx_lib/encode_hw/av1/agnostic/base/av1ehw_base_general.cpp

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3237,9 +3237,9 @@ void General::SetFH(
32373237
fh.reduced_tx_set, (unsigned)par.mfx.TargetUsage);
32383238
}
32393239

3240-
// Set use_ref_frame_mvs based on sequence header capability, user setting, and target usage
3241-
// Enabled when: sequence header supports it AND (user enables it OR target usage is best quality)
3242-
fh.use_ref_frame_mvs = (sh.enable_ref_frame_mvs == 0) ? 0 : ((IsOn(auxPar.EnableRefFrameMvs) || par.mfx.TargetUsage == MFX_TARGETUSAGE_1) ? 1 : 0);
3240+
// Set use_ref_frame_mvs based on sequence header capability and user setting.
3241+
// TU1 default (ON) is resolved at SetDefaults time, so no TU check needed here.
3242+
fh.use_ref_frame_mvs = (sh.enable_ref_frame_mvs != 0 && IsOn(auxPar.EnableRefFrameMvs)) ? 1 : 0;
32433243
fh.delta_lf_present = 0;
32443244
fh.delta_lf_multi = 0;
32453245

@@ -3524,7 +3524,7 @@ void General::SetDefaults(
35243524
SetDefault(pAuxPar->LoopFilter.ModeRefDeltaUpdate, MFX_CODINGOPTION_OFF);
35253525
SetDefault(pAuxPar->DisplayFormatSwizzle, MFX_CODINGOPTION_OFF);
35263526
SetDefault(pAuxPar->ErrorResilientMode, MFX_CODINGOPTION_OFF);
3527-
SetDefault(pAuxPar->EnableRefFrameMvs, MFX_CODINGOPTION_OFF);
3527+
SetDefaultOpt(pAuxPar->EnableRefFrameMvs, par.mfx.TargetUsage == MFX_TARGETUSAGE_1 && defPar.caps.AV1ToolSupportFlags.fields.enable_ref_frame_mvs);
35283528
}
35293529

35303530
SetDefaultOrderHint(pAuxPar);

0 commit comments

Comments
 (0)