From patchwork Mon Jun 24 17:20:38 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Niklas Haas X-Patchwork-Id: 50136 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a59:ae71:0:b0:482:c625:d099 with SMTP id w17csp2155557vqz; Mon, 24 Jun 2024 10:21:20 -0700 (PDT) X-Forwarded-Encrypted: i=2; AJvYcCURwx1tEYNSpTZtnmxFBxSeya4a26dhBHWDOiKNO74fPAHaRbK0zA1jCGbses9ZC96PDNivMavpsKnPqRCiAmCasMKJ3qZNtL3ZjQ== X-Google-Smtp-Source: AGHT+IGIWFDbzenpdxebgIvu15GP4xY+ugWui3HLkuf7HANZiXj4iOfdhfPiKuLUCzhOXUj7oswZ X-Received: by 2002:a50:a417:0:b0:57a:4c22:c0 with SMTP id 4fb4d7f45d1cf-57d4bd6060amr3033508a12.10.1719249680301; Mon, 24 Jun 2024 10:21:20 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1719249680; cv=none; d=google.com; s=arc-20160816; b=dc1rCXs7ODsmFXKgS23O8NZvtqX/61SyXVYNOyS7Nd7bQNV+pI1aH3QxjB39VMwbox bch/qgbn9OOkN5mHe2al61kbI8QX2iT20D5ZYKAomTSPRmwuyqKNYAJOWwLLrE58QEb4 JmV+8mDWTmQD70oW+CR52k1+dRKqsY3C22jTohkECjIcabFw+cvM7lH7YkBirVCuLO2x rIkJ2odepvMjp78M14x5BTdP6BpXQC21ce/sc90e1ASjwfsXvPCFcqTZWliwx1D8Loyh Dax520NNVvbcae9+LaJeYDh3VzOQaG6p8o/La0tsTx/ANfT57RdzYS3lxN+f4gVxM5wM t3FA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:content-transfer-encoding:cc:reply-to :list-subscribe:list-help:list-post:list-archive:list-unsubscribe :list-id:precedence:subject:mime-version:references:in-reply-to :message-id:date:to:from:dkim-signature:delivered-to; bh=UtrHcARtGYyGHSXzgsMmMGuGsnYKug3RsSjONgcG/nU=; fh=xmAeKtysnShNOmkhiJmYkS30uw4Fu2hvBJ7qlIwukxQ=; b=KvlwsUzjUSQmGmBuJMnLMzQIa1MUVr9nAbXRuTF2YRA5mJ/4I0WIfYh5bvuWhuBdjC wmcUSY4xirdimJJcpNKw/hDAFrMInaE3LgLZBnvOY8eTOeL+otTFYITFk656yB+3cAkk KcZFhLyvw0L9FOXY8BFyS1iGJ9Uc+5vhLyssBT1kdsbwOKPV8XKMgJxvPF/byJrlbE0Z ZH+IL7phhI/7fxANKgI80hIyIYA0uvKk4q2S5v47mMXKfjeB+xtMwXtBrc2+fSXopgjN kXQc9LvHm+BFq2xUp8WheCslWVyHHRkuww8WkMZGOAyvgfgmrVvXTW4o8F96zbhf1PBX JeUA==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@haasn.xyz header.s=mail header.b=Js47CUq+; spf=pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) smtp.mailfrom=ffmpeg-devel-bounces@ffmpeg.org Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id 4fb4d7f45d1cf-57d33f66a44si3525211a12.185.2024.06.24.10.21.20; Mon, 24 Jun 2024 10:21:20 -0700 (PDT) Received-SPF: pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) client-ip=79.124.17.100; Authentication-Results: mx.google.com; dkim=neutral (body hash did not verify) header.i=@haasn.xyz header.s=mail header.b=Js47CUq+; spf=pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) smtp.mailfrom=ffmpeg-devel-bounces@ffmpeg.org Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 40E8368D5FB; Mon, 24 Jun 2024 20:21:00 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from haasn.dev (haasn.dev [78.46.187.166]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 8F71568D412 for ; Mon, 24 Jun 2024 20:20:48 +0300 (EEST) DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=haasn.xyz; s=mail; t=1719249648; bh=M+ZjfHnMd6l7bJLwWsj2IRsOb57xEgyhT3jo/yNz1W0=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=Js47CUq+vLN3clDfMDVvuTI4VBe4MKKXqBRK9+KowxhEWO0E0UHM0bBqVnOe1i6rA suomFln+Dy3IMwBY3fmOWZZTkzwXJbTLbDzRRAI02Vn9VQzvB370VIVl7MPolqJG2H k25tHvTPguqtJf217PFLzn1PISbezwWb47ZbE9ac= Received: from haasn.dev (unknown [10.30.0.2]) by haasn.dev (Postfix) with ESMTP id 50FF6429DE; Mon, 24 Jun 2024 19:20:48 +0200 (CEST) From: Niklas Haas To: ffmpeg-devel@ffmpeg.org Date: Mon, 24 Jun 2024 19:20:38 +0200 Message-ID: <20240624172044.101722-3-ffmpeg@haasn.xyz> X-Mailer: git-send-email 2.45.1 In-Reply-To: <20240624172044.101722-1-ffmpeg@haasn.xyz> References: <20240624172044.101722-1-ffmpeg@haasn.xyz> MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH 3/9] avcodec/dovi_rpuenc: try to re-use existing vdr_rpu_id X-BeenThere: ffmpeg-devel@ffmpeg.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: FFmpeg development discussions and patches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: FFmpeg development discussions and patches Cc: Niklas Haas Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: wnisntxDMqpx From: Niklas Haas 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(-) 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; } }