From patchwork Sat Mar 23 19:19:55 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Niklas Haas X-Patchwork-Id: 47387 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a20:c889:b0:1a3:b6bb:3029 with SMTP id hb9csp369170pzb; Sat, 23 Mar 2024 12:25:40 -0700 (PDT) X-Forwarded-Encrypted: i=2; AJvYcCUQEOT5zdsAn8Zh1JZYlfoJIm3ubUUNjYWjYMI9v7o6rsfASd3AFnxx8+2Xy1MepWQPBaLXRTk76Afry0WVJS+WDIctXkH9oQ5y6g== X-Google-Smtp-Source: AGHT+IEEJV4Ds8YgEmtYW0sf8Qi1lzXI5pMbjX6HV2Y+wVaFMXeKCBA7T7m1GjDrRoLYKswxO5tO X-Received: by 2002:a17:906:a107:b0:a47:34bd:db75 with SMTP id t7-20020a170906a10700b00a4734bddb75mr1930198ejy.5.1711221939882; Sat, 23 Mar 2024 12:25:39 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1711221939; cv=none; d=google.com; s=arc-20160816; b=w6qg6PLOKgPC4eLglFFE4yBwaf7LTHo0YqlSc2xZ5PsfMl+pQ19JeoY4DRhDi1qF4w UiB44WQAt1ABdHTus53X0aiPrEZl1gGNlkwcWerklmawhZDBZRXT8WerbpGFys0GY95k pU2Uu3UL5EUlCreuLlzIGLExyXlcRdW/wFz2gaQ0g00N/0RKePplRm+eMkGh20oilfpS Cc7iPRiGUoXo4i5Iv/rBYg8AHpXOr9ILnHlF7znJp6h7gcET/anpj3VMgnz9jn2vIcPE KB0XemoQ6uBC7vO567roMVkLmLo+hWwIuYYBMl7ntSYCTMDCFFoWt9D2gpDPhk0A0b7R dIQw== 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=ySJG9HcCyCE6A41qkLz1Mh7mXgYZFzmQZF78bkgKgfE=; fh=xmAeKtysnShNOmkhiJmYkS30uw4Fu2hvBJ7qlIwukxQ=; b=nWHbbL8T7L82k7rjxc8GQ6D0bzJ6bPSizDwEk2zL/BzpzTHZnTFjIutHAmKj/ETiXN O4lYXa4XrOnfSlhBgcbyrWdsQ4OFFPzn+oAANzgGC/hREjy5v16gEKTr53a5w03DtULq Ci+PQzM8QpZZZSXM+rpdJekzKstRC+N1bGT7r00JJQYLtGLdriALi58zUEj1mgIli/IO dSCrDZOiU8vXkMJZNzRCmTs5jSX7HZv3tw8+1gBFOMHV34HkQ+ozGnYo37MBZOiz0lO1 4tB319puXMsw0O5QWGQDq/Ah1mM+bEQH2wS8rtfYENYV7dzuVbAOCK9Oo1Y6bEHDIky/ RPkw==; 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=D5yQtVwC; 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 r4-20020a170906280400b00a43db2d8b90si961079ejc.325.2024.03.23.12.25.39; Sat, 23 Mar 2024 12:25:39 -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=D5yQtVwC; 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 8ABB568D5A4; Sat, 23 Mar 2024 21:24:56 +0200 (EET) 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 0D98868D4BA for ; Sat, 23 Mar 2024 21:24:49 +0200 (EET) DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=haasn.xyz; s=mail; t=1711221884; bh=ZSYtv/Kmv7RhP0fp+W+eyu1+4q0mvbx7Bmx/xnWTrDk=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=D5yQtVwC21nwjQk1BAsNVyeMt/iXC9feX++uYeCyCWejbxtukEgT1euCc8zbtjDLx +/6zlVhLGd08d6TExGEUnWQpZjNiJPYHyvwijGCMLYhIoqNJ4EMt22/A578vdpVYxr GTJjVBCt4sa94udWRfBdPq+bKaIKDAxqOPo7ybVg= Received: from haasn.dev (unknown [10.30.0.2]) by haasn.dev (Postfix) with ESMTP id E5C5442A34; Sat, 23 Mar 2024 20:24:44 +0100 (CET) From: Niklas Haas To: ffmpeg-devel@ffmpeg.org Date: Sat, 23 Mar 2024 20:19:55 +0100 Message-ID: <20240323192440.38264-7-ffmpeg@haasn.xyz> X-Mailer: git-send-email 2.44.0 In-Reply-To: <20240323192440.38264-1-ffmpeg@haasn.xyz> References: <20240323192440.38264-1-ffmpeg@haasn.xyz> MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH v2 6/8] avcodec/dovi_rpu: add ext_blocks array to DOVIContext 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: 24zk+YJxuU35 From: Niklas Haas --- libavcodec/dovi_rpu.c | 3 +++ libavcodec/dovi_rpu.h | 6 ++++++ 2 files changed, 9 insertions(+) diff --git a/libavcodec/dovi_rpu.c b/libavcodec/dovi_rpu.c index d584d99590a..6097bd5422f 100644 --- a/libavcodec/dovi_rpu.c +++ b/libavcodec/dovi_rpu.c @@ -47,6 +47,7 @@ void ff_dovi_ctx_unref(DOVIContext *s) { for (int i = 0; i < FF_ARRAY_ELEMS(s->vdr); i++) ff_refstruct_unref(&s->vdr[i]); + ff_refstruct_unref(&s->ext_blocks); av_free(s->rpu_buf); *s = (DOVIContext) { @@ -58,6 +59,7 @@ void ff_dovi_ctx_flush(DOVIContext *s) { for (int i = 0; i < FF_ARRAY_ELEMS(s->vdr); i++) ff_refstruct_unref(&s->vdr[i]); + ff_refstruct_unref(&s->ext_blocks); *s = (DOVIContext) { .logctx = s->logctx, @@ -76,6 +78,7 @@ void ff_dovi_ctx_replace(DOVIContext *s, const DOVIContext *s0) s->dv_profile = s0->dv_profile; for (int i = 0; i <= DOVI_MAX_DM_ID; i++) ff_refstruct_replace(&s->vdr[i], s0->vdr[i]); + ff_refstruct_replace(&s->ext_blocks, s0->ext_blocks); } void ff_dovi_update_cfg(DOVIContext *s, const AVDOVIDecoderConfigurationRecord *cfg) diff --git a/libavcodec/dovi_rpu.h b/libavcodec/dovi_rpu.h index 8dcc65bb40a..9f26f332ceb 100644 --- a/libavcodec/dovi_rpu.h +++ b/libavcodec/dovi_rpu.h @@ -44,6 +44,12 @@ typedef struct DOVIContext { const AVDOVIDataMapping *mapping; const AVDOVIColorMetadata *color; + /** + * Currently active extension blocks, updates on every ff_dovi_rpu_parse() + */ + AVDOVIDmData *ext_blocks; + int num_ext_blocks; + /** * Private fields internal to dovi_rpu.c */