From patchwork Thu May 23 19:50:24 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Cosmin Stejerean X-Patchwork-Id: 49184 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a59:542:0:b0:460:55fa:d5ed with SMTP id 63csp1287290vqf; Thu, 23 May 2024 12:50:46 -0700 (PDT) X-Forwarded-Encrypted: i=2; AJvYcCUSry1XjPHHOPnNZry5HncTNIhDgnzdD315UuZQLYVCAvekBAAq/6CU3kR+N9IpUiwOOxw6niDucHz05J1mhkiUsdy5lz3yDlKYeA== X-Google-Smtp-Source: AGHT+IH9R+Y5veMTZAKQVTNzBmUySp58HSeJuYuNaI3ngT8dfu+kIOMDGnEPAXEPEomSlarkWROv X-Received: by 2002:a17:906:34c4:b0:a5d:1079:ae43 with SMTP id a640c23a62f3a-a62646cff2bmr20602766b.46.1716493846015; Thu, 23 May 2024 12:50:46 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1716493846; cv=none; d=google.com; s=arc-20160816; b=eVU3ma0V4RpLLhDKEOSNOytMZsI4WSW+/eMaKnthpbXkK6uueohRvCSRC6OyVPtRtL xe8YxXhFXljmZ6jvHMc2bxa/vLFEhrhNbXd+EORd3V8IjLeuaSc5kMaD8b+uI716oxrq dOBDBFRRIKnVAU72s9FeU9aHwtGrsOYVeLgGUdDv0zaX2WoOsUQEv9VlQ6u04QkxayCB v1+5HP93qlPn6iuUSTJwQ8ssrU4r+6U844PgFRqnHl01kCkPG1M4kPaIR+AGhQmTirj/ ZpwZ7wNFp5VVE5At12tLxQf8YZ0mFtH8gVnogssta/mz8Q93Jv2twhOhxWpD7C9a6+0Y LP4g== 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:from :list-subscribe:list-help:list-post:list-archive:list-unsubscribe :list-id:precedence:subject:feedback-id:message-id:thread-topic :thread-index:references:in-reply-to:mime-version:date:to :delivered-to; bh=3aNhOzAtKNp0oL1N1ZP5wXLvg25N8vSOCrkL2EglVb0=; fh=CBS/D0cB4KwqFBY8d8UQ4TY1w6HZ9TulitLE+VqI2+k=; b=V/2CCLsmZ0xJjLZBBemPepnoZlhIPJu58k17GYH4G72GTgsT81rEoczwMJNFKanB0/ jzCxjliv1PlpU4M2BGYti9w0eGQfkeNcdOLw3kq6xsqHIRbP+aPBFSaDmojvyCyqkpU+ NGoMYiLwZKBce0kwgOSWCLAbVXBsI25zv2WC85IHHEB6AR2/ibjeWcv2+pSl1zG2jnws wR9OFJ37zfRxQvVdXj1MT4fXlTVxzi/B5MhhA6GSAj6DPBufOQcA2MkppRTy3n3M1SMI dmhevQtQdlBMmU4ly1cdLfSBrhCjc5ciYwAiXWFl3+5X4aRaDp2KRokafCpooRK6SaIl 9Czw==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; 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 a640c23a62f3a-a626c7febcesi1588266b.150.2024.05.23.12.50.45; Thu, 23 May 2024 12:50:45 -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; 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 6CD8868D355; Thu, 23 May 2024 22:50:36 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from a27-232.smtp-out.us-west-2.amazonses.com (a27-232.smtp-out.us-west-2.amazonses.com [54.240.27.232]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 828B268D499 for ; Thu, 23 May 2024 22:50:27 +0300 (EEST) To: =?utf-8?q?ffmpeg-devel=40ffmpeg=2Eorg?= Date: Thu, 23 May 2024 19:50:24 +0000 Mime-Version: 1.0 In-Reply-To: <20240523195019.64019-1-cosmin@cosmin.at> References: <20240523195019.64019-1-cosmin@cosmin.at> <20240523195019.64019-2-cosmin@cosmin.at> X-Mailer: Amazon WorkMail Thread-Index: AQHarUpyU8iX1OOeTgC/HI1UPzU75gAAADLV Thread-Topic: [PATCH v3 1/5] avcodec/dovi_rpu - field and macro for metadata compression X-Original-Mailer: git-send-email 2.42.1 X-Wm-Sent-Timestamp: 1716493824 Message-ID: <0101018fa70133a0-c75eef16-284e-4546-b4a9-7f547e9b1d47-000000@us-west-2.amazonses.com> Feedback-ID: ::1.us-west-2.An468LAV0jCjQDrDLvlZjeAthld7qrhZr+vow8irkvU=:AmazonSES X-SES-Outgoing: 2024.05.23-54.240.27.232 Subject: [FFmpeg-devel] [PATCH v3 1/5] avcodec/dovi_rpu - field and macro for metadata compression 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: , X-Patchwork-Original-From: Cosmin Stejerean via ffmpeg-devel From: Cosmin Stejerean Reply-To: FFmpeg development discussions and patches Cc: =?utf-8?q?Cosmin_Stejerean?= Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: e4CZNQ9mi2VU From: Cosmin Stejerean Add a field to enable or disable metadata compression since not all clients support this. Introduce DOVI_ENCODING_OPTS macro to faciliate exposing this as an option to encoders. --- libavcodec/dovi_rpu.h | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/libavcodec/dovi_rpu.h b/libavcodec/dovi_rpu.h index 8ce0c88e9d..5406425c0d 100644 --- a/libavcodec/dovi_rpu.h +++ b/libavcodec/dovi_rpu.h @@ -28,6 +28,11 @@ #include "libavutil/frame.h" #include "avcodec.h" +#define DOVI_ENCODING_OPTS(dovi) \ + { "dolbyvision", "Enable Dolby Vision RPU coding", OFFSET(dovi.enable), AV_OPT_TYPE_BOOL, {.i64 = FF_DOVI_AUTOMATIC }, -1, 1, VE, .unit = "dovi" }, \ + { "auto", NULL, 0, AV_OPT_TYPE_CONST, {.i64 = FF_DOVI_AUTOMATIC}, .flags = VE, .unit = "dovi" }, \ + { "dv_enable_compression", "Enable Dolby Vision metadata compression", OFFSET(dovi.enable_compression), AV_OPT_TYPE_BOOL, {.i64 = 0 }, 0, 1, VE }, + #define DOVI_MAX_DM_ID 15 typedef struct DOVIContext { void *logctx; @@ -71,6 +76,11 @@ typedef struct DOVIContext { AVDOVIDmData *ext_blocks; int num_ext_blocks; + /** + * Enable metadata compression in the output. Currently this is experimental. + */ + int enable_compression; + /** * Private fields internal to dovi_rpu.c */