feat: gate MV range cap on bSubcodecMode

This commit is contained in:
Isaac 2026-04-07 08:36:38 +02:00
parent 96daaaa794
commit d224a25d07

View file

@ -1526,6 +1526,13 @@ void GetMvMvdRange (SWelsSvcCodingParam* pParam, int32_t& iMvRange, int32_t& iMv
iMvRange = WELS_MIN (iMvRange, iFixMvRange);
// [subcodec] Limit MV range to 16 pixels for sprite compositing.
// Sprites use a 16px padded canvas; tighter MV range prevents referencing
// pixels outside the padding that will differ in the composite frame.
if (pParam->bSubcodecMode) {
iMvRange = WELS_MIN (iMvRange, 16);
}
iMvdRange = (iMvRange + 1) << 1;
iMvdRange = WELS_MIN (iMvdRange, iFixMvdRange);