From patchwork Thu Sep 12 00:59:17 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: James Almer X-Patchwork-Id: 51548 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:612c:14c:b0:48e:c0f8:d0de with SMTP id h12csp841130vqi; Thu, 12 Sep 2024 04:04:17 -0700 (PDT) X-Forwarded-Encrypted: i=2; AJvYcCUZbkgOR+lVoKiquEfu6IqLKliF8yzpkBaDRk9Zd1sAyUkGPiOjaf+uVhNfjLqYgXYbI1z9GLngcslsG+nmTEWd@gmail.com X-Google-Smtp-Source: AGHT+IG4HTmGdVSjF4pmL4kgZaVjMOlSrqzlTgC1ogQDYrz3wy9SxIVVS8R+RNbNs3zP1VuzQj6H X-Received: by 2002:a05:6512:1384:b0:535:6a05:f9e3 with SMTP id 2adb3069b0e04-53678fa9edfmr1357593e87.7.1726139056988; Thu, 12 Sep 2024 04:04:16 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1726139056; cv=none; d=google.com; s=arc-20240605; b=EQRjRgnoiq65MSeP5r1fBtaKTH/rraKwaBdAEHw29ilVjTsfrbjux+m6cl+AZ8lplQ Q06xDPcVcGp4AWkj8Wn/YwiaZb23Cni+Ra4skEGfzPIDwAnhhLyf5erPl4xyyUCmvMSQ g4HuJ7aMnf7H/GvW6Q8RG+k0nTJBTZoJfVGQlxsVDLFHG1IzS7DOyU8r8vgz+qwBpj6U O//EnlW8nsZ5Pon1Z6BA1H6Jm9y7TxjzPjeiRU+/pUkiXXGsTV8yL7LMAWF0KBhCfYOW oGqus4px93q5G25mS5Pz6ajbrMiVlAfqFED0y9IFKypJUGjgVOG3zjn4d9Y+SJE1Z6HY aZiw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=sender:errors-to:content-transfer-encoding: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=aNDb8X4OvRloVWb4uQkLg7DVkjaB3OPZrHEVsxHb5OQ=; fh=YOA8vD9MJZuwZ71F/05pj6KdCjf6jQRmzLS+CATXUQk=; b=bXYUt+yWswzP9PI9P/dtzoEJQokwx61y0jYgtPf+sqJwmR3wws5Y+Ujr35UktN7KCS M/FAQgpBlfGl85C5a/0K0r56RRJxbVZXD6i82gvyE1+6X8xAIspMg6qIr6oVBOD4o9+0 96UVCISIXrcLnxkm9SvJljY+8aVEZH59zP6LigEmhSUzPosu92hRJMvyXc4LRZ050adZ Z1xI1P70r8JepWGfggvwz8ziv+HEW2Mwgaq2mqadv+8iQnd1S9wBFjk95EIjB0P34eWN HsoUMZ/4Z7kObjuXT6GI+vVkpCsLbMPZQEtP5nru1SFWpc+qQVOXOQtSABuYG35KblwY HCOA==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@gmail.com header.s=20230601 header.b=nLTYyl3v; 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; dmarc=fail (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com; dara=fail header.i=@gmail.com Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id 2adb3069b0e04-5365f9067b8si3567772e87.537.2024.09.12.04.04.15; Thu, 12 Sep 2024 04:04:16 -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=@gmail.com header.s=20230601 header.b=nLTYyl3v; 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; dmarc=fail (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com; dara=fail header.i=@gmail.com Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id EFAD568D778; Thu, 12 Sep 2024 03:59:45 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-pf1-f180.google.com (mail-pf1-f180.google.com [209.85.210.180]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 76AA968D3AE for ; Thu, 12 Sep 2024 03:59:39 +0300 (EEST) Received: by mail-pf1-f180.google.com with SMTP id d2e1a72fcca58-718f28f77f4so334779b3a.1 for ; Wed, 11 Sep 2024 17:59:39 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1726102777; x=1726707577; darn=ffmpeg.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:from:to:cc:subject:date:message-id :reply-to; bh=KKD9m52++go+L6Yeh+VpT6s6mD07RiRZY6IeOcAZT4o=; b=nLTYyl3v4mU8OYPENIrwongT9Up+wDDvl2gD0VKLIiIzo7gAMWJLP1kQZYJYhxAzQG CSowXFhZ2Ehu+49B/VzI3vc9Tm5zYypp4gWgqg+haOBjlmTh/bSxKcDJdNoLdQLLT1RZ jlAi/jmutYkS2xDA5cH1nFbj6Izh1Kv4KJbClQ8pfxVIjTiWfn+jz1g+WIESefG2WPOP uLbfGgZYRISjCS6+moEMdWunp5/FKI9V/rVma/jkFZDOFVUemRnbsKLPPVHhrIEcPsFv 1QI6xN9Pzu7WjlI7yb7t/FZBKJXZ1QenF1UIXcw7Jc4nBO3LyhmEZHegBpzOSSh3yq9d Kd/w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1726102777; x=1726707577; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=KKD9m52++go+L6Yeh+VpT6s6mD07RiRZY6IeOcAZT4o=; b=ulkWrYTLWu0LaZyVP7ROchsHgHUj46UfZE+QzcW9Xip3Ntg/FM9gHVp8BVwY7IaIL1 u2Rpor5DTjUY4CcoLO8+5kqSzgdKKR10jcuiIkGWWtijEdBNlDtmFVCecBUQTxIJ4Dvk hqIhFsLOHIACKRNEbGQPaBz+P1h0tSHS3jpUcDRqLdw81Xuo+TNboHqTnBRvU5YKa6AH D3pdqwKF5TqFxMUGAIGgyxS6ehd9hoSbMH00QEphzP0KsninamhKvB4O+iEQ5Ci5PkZ5 1MeSyTSvn6dKnMoq5Ida2ly2ZuJs9SItrszulmY2OQtx1qmi515h0batPkANFB60lgNx 1ioQ== X-Gm-Message-State: AOJu0YwLrjpFOSIZDgyxefWIbmGx4OfQYbx0ViA0ZKjO1pII4CqLWF/A yA8CTq/Jjcc0trhY/HrKc8OXDHLDFIAgVcf8oNzPUPsvN0St6yT1t4zQsQ== X-Received: by 2002:a05:6a21:e96:b0:1cf:440a:d445 with SMTP id adf61e73a8af0-1cf75f2a627mr1312366637.21.1726102777074; Wed, 11 Sep 2024 17:59:37 -0700 (PDT) Received: from localhost.localdomain ([181.92.233.116]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-71908fc8210sm3557769b3a.36.2024.09.11.17.59.35 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 11 Sep 2024 17:59:36 -0700 (PDT) From: James Almer To: ffmpeg-devel@ffmpeg.org Date: Wed, 11 Sep 2024 21:59:17 -0300 Message-ID: <20240912005925.10151-3-jamrial@gmail.com> X-Mailer: git-send-email 2.46.0 In-Reply-To: <20240912005925.10151-1-jamrial@gmail.com> References: <20240912005925.10151-1-jamrial@gmail.com> MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH 03/10] avcodec: add an export_side_data flag to export picture enhancement layers 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 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: L4VitNZ3G/Gy Signed-off-by: James Almer --- doc/APIchanges | 3 +++ libavcodec/avcodec.h | 6 ++++++ libavcodec/options_table.h | 1 + libavcodec/version.h | 2 +- 4 files changed, 11 insertions(+), 1 deletion(-) diff --git a/doc/APIchanges b/doc/APIchanges index 5d7b5ab91c..f937be87cc 100644 --- a/doc/APIchanges +++ b/doc/APIchanges @@ -2,6 +2,9 @@ The last version increases of all libraries were on 2024-03-07 API changes, most recent first: +2024-09-08 - xxxxxxxxxx - lavc 61.14.100 - avcodec.h + Adds a new flag AV_CODEC_EXPORT_DATA_ENHANCEMENTS for export_side_data. + 2024-09-08 - xxxxxxxxxx - lavu 59.37.100 - frame.h Add AV_FRAME_DATA_LCEVC. diff --git a/libavcodec/avcodec.h b/libavcodec/avcodec.h index 376e130f7d..77ca8dee1f 100644 --- a/libavcodec/avcodec.h +++ b/libavcodec/avcodec.h @@ -419,6 +419,12 @@ typedef struct RcOverride{ */ #define AV_CODEC_EXPORT_DATA_FILM_GRAIN (1 << 3) +/** + * Decoding only. + * Do not apply picture enhancement layers, export them instead. + */ +#define AV_CODEC_EXPORT_DATA_ENHANCEMENTS (1 << 4) + /** * The decoder will keep a reference to the frame and may reuse it later. */ diff --git a/libavcodec/options_table.h b/libavcodec/options_table.h index 33f1bce887..47da41b0ad 100644 --- a/libavcodec/options_table.h +++ b/libavcodec/options_table.h @@ -93,6 +93,7 @@ static const AVOption avcodec_options[] = { {"prft", "export Producer Reference Time through packet side data", 0, AV_OPT_TYPE_CONST, {.i64 = AV_CODEC_EXPORT_DATA_PRFT}, INT_MIN, INT_MAX, A|V|S|E, .unit = "export_side_data"}, {"venc_params", "export video encoding parameters through frame side data", 0, AV_OPT_TYPE_CONST, {.i64 = AV_CODEC_EXPORT_DATA_VIDEO_ENC_PARAMS}, INT_MIN, INT_MAX, V|D, .unit = "export_side_data"}, {"film_grain", "export film grain parameters through frame side data", 0, AV_OPT_TYPE_CONST, {.i64 = AV_CODEC_EXPORT_DATA_FILM_GRAIN}, INT_MIN, INT_MAX, V|D, .unit = "export_side_data"}, +{"enhancements", "export picture enhancement metadata through frame side data", 0, AV_OPT_TYPE_CONST, {.i64 = AV_CODEC_EXPORT_DATA_ENHANCEMENTS}, INT_MIN, INT_MAX, V|D, .unit = "export_side_data"}, {"time_base", NULL, OFFSET(time_base), AV_OPT_TYPE_RATIONAL, {.dbl = 0}, 0, INT_MAX}, {"g", "set the group of picture (GOP) size", OFFSET(gop_size), AV_OPT_TYPE_INT, {.i64 = 12 }, INT_MIN, INT_MAX, V|E}, {"ar", "set audio sampling rate (in Hz)", OFFSET(sample_rate), AV_OPT_TYPE_INT, {.i64 = DEFAULT }, 0, INT_MAX, A|D|E}, diff --git a/libavcodec/version.h b/libavcodec/version.h index 755c90bbc1..7531c6c42a 100644 --- a/libavcodec/version.h +++ b/libavcodec/version.h @@ -29,7 +29,7 @@ #include "version_major.h" -#define LIBAVCODEC_VERSION_MINOR 13 +#define LIBAVCODEC_VERSION_MINOR 14 #define LIBAVCODEC_VERSION_MICRO 100 #define LIBAVCODEC_VERSION_INT AV_VERSION_INT(LIBAVCODEC_VERSION_MAJOR, \