You've already forked FFmpeg
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:
@@ -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;
|
||||
|
||||
|
Reference in New Issue
Block a user