From patchwork Sun Feb 4 15:14:10 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Cosmin Stejerean X-Patchwork-Id: 46017 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a20:7b08:b0:19e:8a94:b663 with SMTP id s8csp272332pzh; Sun, 4 Feb 2024 07:14:32 -0800 (PST) X-Google-Smtp-Source: AGHT+IFPAN64zu52LxnAbN4Ix607cRPJitHHUppBNfKI0pT1F4qYYxfpRKM+Q7V6AHqZL+YU/9Iv X-Received: by 2002:aa7:c30f:0:b0:55f:ec52:73c4 with SMTP id l15-20020aa7c30f000000b0055fec5273c4mr3453019edq.34.1707059671758; Sun, 04 Feb 2024 07:14:31 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1707059671; cv=none; d=google.com; s=arc-20160816; b=Su2zoCt/HgQi+sft+FZoNCLsiUq26Pa4g747JVIFjgQ5pS8LMCLO/iO5MWloKUOrYN TQio5YvM+qEP3bqYJYTRLHKtYcPi8ij0dWu3HNty96dBDtVYwZLmflfVuhUy7y74Ekai a+e/MZfApYCEwVJ1s/cMrbUwdW1xicVMDbK+UpYqQ3E0zRXnWGQ/fc7+x4UeUBESymDn AO39t5q22X/b0xeRCR1gkWO7+xQQEhAEzb3fU1JxTMRAvEXIcLYUmrGWcKCQHEKIu1td 8G8ydjsZj99p+eobLauku7stZWr77wkEq2Oq3Qz1a1ft98kungdrL392u9wRxPD3rCvn CDZg== 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=uDDh+ZbqYuTdp6auzg8e0fFM502VrEXCOSkj604PzSs=; fh=8f2go5e8M8ZvHHEWnGkwYcok1gUQj/gAHgANnfmuWo0=; b=YX9yTgXTW46yE7/mSX3Kxo0lrzpaAiFF5aGzuE/M/IH/QE2kLgBeZDL5ARjK5b9axb M6hNMMXoKGYmKCyB/Zj+8NwvSb4xix5qo/T0MvYf3xysgxyGS1EXyblXw4iPYAD0sE88 SX835IwFTxsI+pAgiDvbKPSRXLWv0Frb4b2Gdmy3xlY0jIPMssngLZS64O94/5Y5belX C2FAz1qdx1JyZnsHr7moPTbGwCP23mM4NhxcpErz7cpdIC9LQu8O/OKmS7S+WK0yqZLi 4L72lh0Jb6+UZBP5m4DTkWYX4i4cPYQexlnvOgjBimsF2l2+m+0AVIKv+ztQ9aCcz+kK 2iEQ==; 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 X-Forwarded-Encrypted: i=0; AJvYcCVvuaXVi8B+QPF0G24RFLgZSkkhig/WOc3VNX4cTtJysOmc+ZgNJNRg1Y6X3uivKDnu/dE71E0qDNqzUJAVsGFqjGiqD4sN0oZo7TA2yprgihcsFYXNcRzhGLUU3qfJHRKBpCfXNdfu5PeLouN2hEKfep7SYhSyLRCQ7hJQ6wqLHDV2xSF9VyDooDPbLXBziYhPza4+/Aa7nsa5Rb5xyR0nnyxBHgvMp49h+JvSQmUvt3gBG9IDQREaeIFesfe5zAHNNWKBZXCDwmZ0ZYiqHmSyXsbLKhc/WwApSwV/1UB9+n6G2uf/IAjLXN3VMppUzAub9wS4kCyATULeS7bcjJ3flVzHQ36qx+jAOw+uU6Hku0ir1SjQCeFXJ6gCu6n4ewAGlwRu6dvaIr1siGvVERpE41tXbytP2aJ+xQU/AYGNB4zcBtnSpWJLS4v2so+gvmR+k9ufSpEJG5ExsFIE+Kz/JM6fBW4y5/A7PU11RpuLq+k9eLFvlrrgdnTAiPhhZzFcNKbdM6baFBUFxbg0YgVqdrmHV4+fBcaYmom+MeG+/g/xDQVpACRLaZwZAvufejq8sMoNILUB7k4zKMSg1YuPBEQQmiEshb4nXIf8EPzL4r7fn1B8dvjA52niLn6y5wbB/VGUU+J/7d36M8e9V+MOiin7g/08NF9d5Y/vTEPOcoV0yXOHgmNGqNiKZIfpG2lGErU2pyUg6Cy+jcQJ8O1KqX8DDjHT5gyfhB0Noqr5lhCWfpJ97W8C6Ng4x4KxTvElmE4HeQh7OSKgI6NxI2okhNvqcwdP2FntdrMWX85N+2Lcr/2RbHSOT107xggVQ0NiKVtWpegxsKFR5F+yVK/JBfP3yGfqU143ztBqgOg4PUg1AtUDVX4muVZ/nEBq9mMPlFdMxIfNxzE71do9shCglK7khtiwsIcn1nceYxe+snyC8QjBdQZm0rraGjVnV5pPuU RI4cNkz9DS7zqEayEU2d+72HzGNHqcCcXF9lvBO0ackX5bbfYP0Jh/+1urx4r+KNnXBBWboFjs/o58F4cCcZDNmdkz0K/pPG2K1g2eX5ADxM4Osx/jJ85ZWWzh62pG1OReR//bsJ/lQ0LXIs+U8xdbjzCgbw0tIoQtMEIjXlqmhog82rEezX501t7W91ODc25wKqk/07Xwrz2j+Iq6UN1X9RnzNpt8vyIzdMLor8pxwmI5Du8mG1tQF/m9hMm2DVl7YwumUw3IQL6jf2p2m62FRpFyoYtJEfP8vIJObItDbKBNxJ7hU2Zn73oVfggfwk2J0IpUBuVhLASjTq6LWrdgQzVt68JaHyyUWaIdUjOEDzZceO4/XHMRg7zOWpSuQexO5pDDwocHe28KKVOy+EOIjO/c8NiQqzDZgGNEoZMlatawvxucj171672FrR0W5wUTWiLGizwAvTQt2JK+tShNCaKxwgJjiuCpAK74L56G4euLN4qyfnwcF/Nvdn1dErx6/cJY9+bzkMlA/gY9c/oCai3/3awSMe4DdeKK/PuQEA5wOWD9uQssYXgf5aMTfbGixt9HI9VCCzqN3zudr/rPmJ8ZlGtYAMr7ypd5PrLtllNGqMuv6sgePPJKF4KBeai20+0CbULzJQQiHVL1cA== Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id 12-20020a508e4c000000b0055f13f8627dsi2928779edx.166.2024.02.04.07.14.31; Sun, 04 Feb 2024 07:14:31 -0800 (PST) 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 2C9AA68CE0C; Sun, 4 Feb 2024 17:14:20 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from a27-228.smtp-out.us-west-2.amazonses.com (a27-228.smtp-out.us-west-2.amazonses.com [54.240.27.228]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 68A5568CE0C for ; Sun, 4 Feb 2024 17:14:13 +0200 (EET) To: =?utf-8?q?ffmpeg-devel=40ffmpeg=2Eorg?= Date: Sun, 4 Feb 2024 15:14:10 +0000 Mime-Version: 1.0 In-Reply-To: <20240204151404.28289-1-cosmin@cosmin.at> References: <20240204151404.28289-1-cosmin@cosmin.at> <20240204151404.28289-2-cosmin@cosmin.at> X-Mailer: Amazon WorkMail Thread-Index: AQHaV3zM+T1rFAMATIyo76W5iH4qaAAAAEtJ Thread-Topic: [PATCH v4 1/3] avcodec: add ambient viewing environment packet side data. X-Original-Mailer: git-send-email 2.42.1 X-Wm-Sent-Timestamp: 1707059649 Message-ID: <0101018d74af1fbe-f83033cd-38a7-448a-ab20-a948c3c63553-000000@us-west-2.amazonses.com> Feedback-ID: 1.us-west-2.An468LAV0jCjQDrDLvlZjeAthld7qrhZr+vow8irkvU=:AmazonSES X-SES-Outgoing: 2024.02.04-54.240.27.228 Subject: [FFmpeg-devel] [PATCH v4 1/3] avcodec: add ambient viewing environment packet side data. 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: ZBK/iYOJerxW From: Damiano Galassi --- doc/APIchanges | 3 +++ fftools/ffprobe.c | 3 +++ libavcodec/avpacket.c | 1 + libavcodec/decode.c | 1 + libavcodec/packet.h | 9 ++++++++- libavcodec/version.h | 2 +- 6 files changed, 17 insertions(+), 2 deletions(-) diff --git a/doc/APIchanges b/doc/APIchanges index e477ed78e0..1f5724324a 100644 --- a/doc/APIchanges +++ b/doc/APIchanges @@ -2,6 +2,9 @@ The last version increases of all libraries were on 2023-02-09 API changes, most recent first: +2024-02-04 - xxxxxxxxxx - lavc 60.39.100 - packet.h + Add AV_PKT_DATA_AMBIENT_VIEWING_ENVIRONMENT. + 2023-11-xx - xxxxxxxxxx - lavfi 9.16.100 - buffersink.h buffersrc.h Add av_buffersink_get_colorspace and av_buffersink_get_color_range. Add AVBufferSrcParameters.color_space and AVBufferSrcParameters.color_range. diff --git a/fftools/ffprobe.c b/fftools/ffprobe.c index f33e2471cb..aa1153e709 100644 --- a/fftools/ffprobe.c +++ b/fftools/ffprobe.c @@ -2392,6 +2392,9 @@ static void print_pkt_side_data(WriterContext *w, AVContentLightMetadata *metadata = (AVContentLightMetadata *)sd->data; print_int("max_content", metadata->MaxCLL); print_int("max_average", metadata->MaxFALL); + } else if (sd->type == AV_PKT_DATA_AMBIENT_VIEWING_ENVIRONMENT) { + print_ambient_viewing_environment( + w, (const AVAmbientViewingEnvironment *)sd->data); } else if (sd->type == AV_PKT_DATA_DYNAMIC_HDR10_PLUS) { AVDynamicHDRPlus *metadata = (AVDynamicHDRPlus *)sd->data; print_dynamic_hdr10_plus(w, metadata); diff --git a/libavcodec/avpacket.c b/libavcodec/avpacket.c index 0f8c9b77ae..e118bbaad1 100644 --- a/libavcodec/avpacket.c +++ b/libavcodec/avpacket.c @@ -301,6 +301,7 @@ const char *av_packet_side_data_name(enum AVPacketSideDataType type) case AV_PKT_DATA_DOVI_CONF: return "DOVI configuration record"; case AV_PKT_DATA_S12M_TIMECODE: return "SMPTE ST 12-1:2014 timecode"; case AV_PKT_DATA_DYNAMIC_HDR10_PLUS: return "HDR10+ Dynamic Metadata (SMPTE 2094-40)"; + case AV_PKT_DATA_AMBIENT_VIEWING_ENVIRONMENT:return "Ambient viewing environment"; case AV_PKT_DATA_IAMF_MIX_GAIN_PARAM: return "IAMF Mix Gain Parameter Data"; case AV_PKT_DATA_IAMF_DEMIXING_INFO_PARAM: return "IAMF Demixing Info Parameter Data"; case AV_PKT_DATA_IAMF_RECON_GAIN_INFO_PARAM: return "IAMF Recon Gain Info Parameter Data"; diff --git a/libavcodec/decode.c b/libavcodec/decode.c index 2cfb3fcf97..da6446d879 100644 --- a/libavcodec/decode.c +++ b/libavcodec/decode.c @@ -1434,6 +1434,7 @@ static const struct { { AV_PKT_DATA_CONTENT_LIGHT_LEVEL, AV_FRAME_DATA_CONTENT_LIGHT_LEVEL }, { AV_PKT_DATA_ICC_PROFILE, AV_FRAME_DATA_ICC_PROFILE }, { AV_PKT_DATA_DYNAMIC_HDR10_PLUS, AV_FRAME_DATA_DYNAMIC_HDR_PLUS }, + { AV_PKT_DATA_AMBIENT_VIEWING_ENVIRONMENT,AV_FRAME_DATA_AMBIENT_VIEWING_ENVIRONMENT }, }; int ff_decode_frame_props_from_pkt(const AVCodecContext *avctx, diff --git a/libavcodec/packet.h b/libavcodec/packet.h index 2c57d262c6..bb28e7d62a 100644 --- a/libavcodec/packet.h +++ b/libavcodec/packet.h @@ -331,7 +331,14 @@ enum AVPacketSideDataType { * If its value becomes huge, some code using it * needs to be updated as it assumes it to be smaller than other limits. */ - AV_PKT_DATA_NB + AV_PKT_DATA_NB, + + /** + * Ambient viewing environment metadata, as defined by H.274.. This metadata + * should be associated with a video stream and contains data in the form + * of the AVAmbientViewingEnvironment struct. + */ + AV_PKT_DATA_AMBIENT_VIEWING_ENVIRONMENT }; #define AV_PKT_DATA_QUALITY_FACTOR AV_PKT_DATA_QUALITY_STATS //DEPRECATED diff --git a/libavcodec/version.h b/libavcodec/version.h index 0fae3d06d3..f2f14eaed1 100644 --- a/libavcodec/version.h +++ b/libavcodec/version.h @@ -29,7 +29,7 @@ #include "version_major.h" -#define LIBAVCODEC_VERSION_MINOR 38 +#define LIBAVCODEC_VERSION_MINOR 39 #define LIBAVCODEC_VERSION_MICRO 100 #define LIBAVCODEC_VERSION_INT AV_VERSION_INT(LIBAVCODEC_VERSION_MAJOR, \