1
0
mirror of https://github.com/FFmpeg/FFmpeg.git synced 2025-08-04 22:03:09 +02:00

lavc/vvc: Avoid UB in DB strength derivation for PLT CUs

When called for palette-predicted CUs, boundary_strength could cause
undefined behaviour due to accessing uninitialised motion information.
The spec doesn't include this, but in the reference software it seems
the deblock strength is always set to 0 for palette CUs due to some
implementation details: perhaps this is a spec issue?

Signed-off-by: Frank Plowman <post@frankplowman.com>
This commit is contained in:
Frank Plowman
2025-05-17 21:52:48 +01:00
committed by Nuo Mi
parent a18b2c2696
commit 670089304a

View File

@@ -385,6 +385,9 @@ static int boundary_strength(const VVCLocalContext *lc, const MvField *curr, con
{
RefPicList *rpl = lc->sc->rpl;
if (curr->pred_flag == PF_PLT)
return 0;
if (curr->pred_flag == PF_IBC)
return FFABS(neigh->mv[0].x - curr->mv[0].x) >= 8 || FFABS(neigh->mv[0].y - curr->mv[0].y) >= 8;