Message ID | 20240624172044.101722-3-ffmpeg@haasn.xyz |
---|---|
State | New |
Headers | show |
Series | [FFmpeg-devel,1/9] avcodec/dovi_rpudec: clarify semantics | expand |
Context | Check | Description |
---|---|---|
yinshiyou/make_loongarch64 | success | Make finished |
yinshiyou/make_fate_loongarch64 | success | Make fate finished |
andriy/make_x86 | success | Make finished |
andriy/make_fate_x86 | success | Make fate finished |
diff --git a/libavcodec/dovi_rpuenc.c b/libavcodec/dovi_rpuenc.c index f0cfecc91b..30b6b09f1d 100644 --- a/libavcodec/dovi_rpuenc.c +++ b/libavcodec/dovi_rpuenc.c @@ -463,12 +463,12 @@ int ff_dovi_rpu_generate(DOVIContext *s, const AVDOVIMetadata *metadata, return AVERROR_INVALIDDATA; } - vdr_rpu_id = -1; + vdr_rpu_id = mapping->vdr_rpu_id; for (int i = 0; i <= DOVI_MAX_DM_ID; i++) { if (s->vdr[i] && !memcmp(s->vdr[i], mapping, sizeof(*mapping))) { vdr_rpu_id = i; break; - } else if (vdr_rpu_id < 0 && (!s->vdr[i] || i == DOVI_MAX_DM_ID)) { + } else if (s->vdr[vdr_rpu_id] && !s->vdr[i]) { vdr_rpu_id = i; } }
From: Niklas Haas <git@haasn.dev> And only override it if we either have an exact match, or if we still have unused metadata slots (to avoid an overwrite). --- libavcodec/dovi_rpuenc.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)