From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org [79.124.17.100]) by master.gitmailbox.com (Postfix) with ESMTPS id 85CF64BF01 for ; Thu, 6 Mar 2025 14:56:35 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id EEA3668F232; Thu, 6 Mar 2025 16:56:31 +0200 (EET) Received: from EUR03-VI1-obe.outbound.protection.outlook.com (mail-vi1eur03olkn2050.outbound.protection.outlook.com [40.92.57.50]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 79D2468E8AA for ; Thu, 6 Mar 2025 16:56:25 +0200 (EET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=CwJikFPi/LEmxV5aHA7BXPbZ7zcedzoTVwt0aqLAgh6NbzrpUKdM96uv2nVPbHaxIESkfa2ELscAhRP65o8YJksKZzFiIj134Dwp47WSus0sJ1d42lfrD95688dfBHhNT8wJp7jFf+w89CWdWa8TfJ7T6LPwgZ7qJnSthVoTsrkn4vZJ8UnZM0jsZKvYEbaDSPFHlFp0GDIt/f25H2ICVjB3PA/59eIeFPN4IEi6tlE+y129hcYjDuQJTGDWaONUxc/cRyZEqLEAjTG86/we5PNnQVHcir4Jj6yv3udqXHvBgvZzek1q0eVlm8b0JZDyire3VGZl3Z4FC1OBRSDJJw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=SBC/C8MCP9yB+iMDp1V/AFifhtHfm5FqVPobJG6YVos=; b=LME06QVIDwBhbGeM3/kGl64QV5bfE+m44FElDfOU1jLvu9P7qN3ZLzfi/kypgxRqTggtqjEJ96dQeD040eJu3Z1tG9hE37twTwyJvk/Qdj6R3dvEO2SP+/JT7t9BlimO0wrdc+uB+duojPJiOzIbaff0T85+RF7l33D1+zQ98ld9wjVQCoe8inKTAkFd/y5no/qr3dgsgcAbLN9ya1/UxGOpSVgrt+sFUgRZEkSPXj9Bnc64ALw85kNFtE78JTSFz8FxnJlrvF7gj6mVMnY4LxdMpGJLvgHZ3n3M/VvTl/0MLzuxrjiWJSVfE2lXcCk/G9xt2dZJfRtQHIAw80cGmQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none; dkim=none; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=outlook.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=SBC/C8MCP9yB+iMDp1V/AFifhtHfm5FqVPobJG6YVos=; b=lVCnInoO2kmk+qagXbST4dXuMHjFi9uCd+e0wT9Im3BlSqEM4sGUeMgJLptlSMoheF7PriiXCn6shmRyiDW5Kk1/tjob24YBXSmcvHvlZ9p/+fwIhqhlCh19yW0M2pRZWkhK0Am0cFhNFn+RUD1j7nLm1J5vlWAaI5Rg0CXsCNYC57/EO0jIiPGLiyuEaQA/8TNFGF2EEB41U8M1Zu0hCpI+mqkQvV2qgqP8zKsCpUM426grj+1rww1iyL893oWB6Yp6Zu011nEr5PDVDNvKU/QCWqzi96iBJqXEeQjm2AAYKX9h1mQulfuyPtPSY9GCpPNDlw3MCJpORvfq+7Gaew== Received: from AS8P250MB0744.EURP250.PROD.OUTLOOK.COM (2603:10a6:20b:541::14) by AS4P250MB0750.EURP250.PROD.OUTLOOK.COM (2603:10a6:20b:576::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8511.16; Thu, 6 Mar 2025 14:56:24 +0000 Received: from AS8P250MB0744.EURP250.PROD.OUTLOOK.COM ([fe80::384d:40d4:ecb7:1c9]) by AS8P250MB0744.EURP250.PROD.OUTLOOK.COM ([fe80::384d:40d4:ecb7:1c9%5]) with mapi id 15.20.8511.014; Thu, 6 Mar 2025 14:56:24 +0000 Message-ID: Date: Thu, 6 Mar 2025 15:56:22 +0100 User-Agent: Mozilla Thunderbird To: ffmpeg-devel@ffmpeg.org References: <20250220172454.2952-1-jamrial@gmail.com> <20250220172454.2952-2-jamrial@gmail.com> Content-Language: en-US From: Andreas Rheinhardt In-Reply-To: <20250220172454.2952-2-jamrial@gmail.com> X-ClientProxiedBy: ZR0P278CA0072.CHEP278.PROD.OUTLOOK.COM (2603:10a6:910:21::23) To AS8P250MB0744.EURP250.PROD.OUTLOOK.COM (2603:10a6:20b:541::14) X-Microsoft-Original-Message-ID: MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: AS8P250MB0744:EE_|AS4P250MB0750:EE_ X-MS-Office365-Filtering-Correlation-Id: c8acb2a2-1815-4136-d96e-08dd5cbf1056 X-Microsoft-Antispam: BCL:0; ARA:14566002|19110799003|15080799006|5072599009|8060799006|7092599003|12121999004|461199028|6090799003|3412199025|440099028|41001999003; X-Microsoft-Antispam-Message-Info: =?utf-8?B?UUxmYVlIMi9KQlpXLytqQU1xakErdzF1allkMW9XN1B3cHpBZGY5OVUzSzRq?= =?utf-8?B?Zkc0d1dyQTV3Nk9mUlBjbWdaQUxKQ2FvTml4SDVxUFVLaytSNG5yWDJpaXpJ?= =?utf-8?B?eTZTUTJnOFpSNjYyaGgveWFYZTc4eXNEbWRFNUxBRmJQRVV6V25VbG1ZZ2x5?= =?utf-8?B?YXpQT0Z1bDdLd0c5VldUTndROFdVTmZhMlVuRkM4QjZqc3V4QlBua0xoOHZS?= =?utf-8?B?czN5cGRhR094b0puVlF1Q29LSEMwTWt0VGFMUmdFOVp6RDlJalErNGFJWG1s?= =?utf-8?B?MUR6dytMUno2Nksvb2xIYXk5Tnc0WkFJcmR5Q3l1cTkyMTZNMTNMZkVUUWhV?= =?utf-8?B?eWR1RnBiMzFydGg5TmRsWlVWUlN1N25TS2pUUy9oS0poRUVXakNlWG01Vk9V?= =?utf-8?B?WHludVZrSFdlaE5YR0pmY2FSY0gyeFlucjhudGlBU3Z0azlGZzh0SFA5bEVs?= =?utf-8?B?a21VaTBWMHRTTWE0YS9HWVhhWHpHelBGakhEWEpCN1kvMk9PNEFKdzFXVE55?= =?utf-8?B?UHZyVnkyWHpRL1VYdVI5K3grNjRZQ0EvNlNPSlF6YnNMY1A5SEVaNVpMYzAx?= =?utf-8?B?cHBMN2FLdFV6dHJwbGxUMFZxS3Z3OGU3Y21UQkNaNHJsMGdIL0hYMFNQWXJ2?= =?utf-8?B?MVRJOFhLZlpEZ1VaUEszRzU0M0pzZmJLRXh0a2sxTUFDR0Q1Q2szNzdtWHVQ?= =?utf-8?B?alFZQzVqcnZMTDVGS3hSTTNLUkRkRmxGamV6djQ5cUdMVEhkcmN0YVJLeFpO?= =?utf-8?B?OFFKMEliQWhrVktVQUdhRTF0V0Q2eThGbC8rVTlEMFZ6RTlGcWVQSmovY0M3?= =?utf-8?B?YmYyd0VObVdIMllFc3RUUUNxakozU3dXM1RpSDF6WEJwOWkvcExrbm9Ic24v?= =?utf-8?B?eGhCK1lwS1dxeTZUbExhUXhRb25aV2hNUmtSWTBJSFd1QS9MSWV4US80bWRR?= =?utf-8?B?WnRpQUtMb29CRUxndElKMjZUWHhwZ1prbDJvK0FjQUgvS0QrT05lajZjVVlY?= =?utf-8?B?ZDh2RGhnRWd0R0VWMzdpZ3JhaE9MakltODl2bDNRVWxIRlU5UkJJYkNoanFJ?= =?utf-8?B?OFJKTTc1MVdmcjQxclhSYU81RXYyTEhPbmJFMVFsNlZIeGt5Rmp3U0UzYnRQ?= =?utf-8?B?dWM0N0liRm5HWnVINkhJalh5Mmo3ZkxvN0xSdndQMFBNakV4MzRSRStwYStS?= =?utf-8?B?cFNnOU1PWUVUTDFKYWpwODZxRnhwRy9qa1J5aHVTd1ZqczhqalZFbUFCMHdV?= =?utf-8?B?b0RtaCszY0dIWmFDWlErdFdXVVlFdGtvV0hndG5QODhvQ2xLTVo0Rm0yVTVU?= =?utf-8?B?SWlWb2FRaGQ1RjZ5aDJjamJaMVZjMWxuYW1iczMvYStYeXpoaGQ3T3I3RDRi?= =?utf-8?B?ellFc0I3MU9wNGhwYVFrN2xXMWN0R1BQaXdUbkxGS3NVSVBYUnVRZnZpbGh3?= =?utf-8?B?SWhnbnF0WWQ2N29vSUw5c0x1YjhoTXJJcDQ5aWptU2M1TitreXAxamh1SG1l?= =?utf-8?B?MHZFMy9Dd09tOC91VEk4SmFLb044L3BQdk45eDBXbElhOW1xbzFSYXhXK3dJ?= =?utf-8?Q?qvslEQcadiDp5tjYXk0XAw63k=3D?= X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?dUZudHEvVjI5NlZCL0ZLejBIbDF4VkJjYmhoaDBpSFZyaXZFaWMwaldZcGtp?= =?utf-8?B?aEJ4R2l3VU5qZ2FncjFreTdUT0xDZ3ZLZU1rODg1SEhibmloMWppbkxaNVph?= =?utf-8?B?alJSd1VjRHBMUzZEVHhlQmtKRFhoUFkzcFFqOVl6MzRpZDVLTnREeVcyZEVH?= =?utf-8?B?OUt5NkRZZmlBSllxcldZL3VwQXBsanhDenZ5V01ueUYveG9uTmk3V1VYMW02?= =?utf-8?B?TExlOXBXT3hRRFp1am9iOGFJcWM0eVAwZnBMcmxqdTI5cjd3ZDRScUZOSFRl?= =?utf-8?B?eG5OWlRyU3BIK1RhWXV0R25OM0hPaWkvb3pFZnl1M2x0Tm1ib3FIOWY5cE5o?= =?utf-8?B?OFJieUU1bWVxblROZTZORytIT3lGMHk2MEZnejF1SXdaZmdGSHYvaFhOdytQ?= =?utf-8?B?WkRjVlhoNXA0Q1J5MGoyWkdmc3VXa0sxNlQzZTZFSW5oWFRIbWVpNTRpclZQ?= =?utf-8?B?OW1tNXFOVHNRMjNLQjZIWWxHUU92djdkWkovdTQrWTFIZEFHRkhiTXcrYmZt?= =?utf-8?B?a25wT3pJZHUrVW1ILzUvck01MHZESHBXSm9KM05aRi85bG5Tc3dseFdpcGRh?= =?utf-8?B?Z3pqSHFnOXdRTW05Y09OVjVQS0VpVWlNVXRZSWF2SVFTd2FmdkM4UUxocjV2?= =?utf-8?B?SHhaVVNraWtSdk9VbnVONWhheitkc3BhaFRDeGN2UEFITVJDcmc1Y0hVWUVH?= =?utf-8?B?cFhnT25YZExtWDN6V1NjSnQzTHlpYlRUdUVwbVVRT3YrWUwrV0hhT3pFMUFk?= =?utf-8?B?YkkzdktRdDM2N3pQUWk3ODRFMDlQcFA5T3VCWGZkSGRVYWdJZ2VlOVRpaHpF?= =?utf-8?B?YnNnNTRpODBOWVQrMUJjVTRvVXA0YjNLcmJKbGxaTXZ3RHR2ZVJIejhHbWN6?= =?utf-8?B?cDdmZThBSkJOeVY0aXNFU0d5dVZnTzRRTWhzSGNNVlhPNW5OaHdOQ1dENFVD?= =?utf-8?B?U05PQ0NYQW1vV1A0MzZaRnBvRU45SXJSaTJTRkZWSVdKSnlGVHhkbjhoK1V5?= =?utf-8?B?TjZmd0JqWGJsNjdSL0JrR3RhaHRkOWVkMUFFV0d3VGZNL0I5OGVHN2N0a2k1?= =?utf-8?B?VVcvaUl5aEtCd3JETUVUdDNVV3Z6dlo0YTYrRnAwb0NKYmM0R3dWWWtnMUVv?= =?utf-8?B?VDZ2aDRYQ2tJelk1SU1wQVlmY2xRWHQ0dDF4RVF5Y0xsQXMvSWVETHJubE1a?= =?utf-8?B?dUVnNm5DVEc5TzhrSE1OM1ZkMFdkNUR2QXozSlJ6R0J4clcraDRza3NMa3Vk?= =?utf-8?B?ZXdRdmVmbkFmQkNZY1ZsbDJsNTc4N01DQysvU2tmRW5xNWEvSFdsTVUyMyt2?= =?utf-8?B?QXpGall6MDQ2VEtlZEYzVHhPWXRic2RJZTFMZVdzdUFTY3BMaGNsT2JRSjFD?= =?utf-8?B?RFZoZXFjdGZnUUZmRXozbmlETEFrR1d4T1M2R2ZTRUt2azlGZnFQMTQvcVNU?= =?utf-8?B?Qld5NWlYVmI4SHBNY3Q1ODFVOW1rM2JZa1U5aFYzL1EwaUFYbEhYOWQxaGNE?= =?utf-8?B?cE9TdFpUcTZ6dDI4bE1aR2RqcWQ4UjFMNzNBVCtVN1JSa084aFo0NFpTNmNw?= =?utf-8?B?VHlsY1RoOWp4VWFITkE0Sno4U0c0NFhTSkN0dlI0WWJVZWc5TmdPVWlsUmlT?= =?utf-8?B?SWNDa3NTMmdrcDE0NGFXY0RlMGVsVWkxb2xnaVRVWUExMDVhQmNJNEg5cUJl?= =?utf-8?B?ME5FWDNmQ0Z5eTkzOWd6RmxYY01neENxbng4TDZyM2g5UFlhV04veHR3PT0=?= X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: c8acb2a2-1815-4136-d96e-08dd5cbf1056 X-MS-Exchange-CrossTenant-AuthSource: AS8P250MB0744.EURP250.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 Mar 2025 14:56:24.2251 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 84df9e7f-e9f6-40af-b435-aaaaaaaaaaaa X-MS-Exchange-CrossTenant-RMS-PersistedConsumerOrg: 00000000-0000-0000-0000-000000000000 X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS4P250MB0750 Subject: Re: [FFmpeg-devel] [PATCH 02/11] avutil/side_data: allow the addition of internal fields to AVSideDataDescriptor 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 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" Archived-At: List-Archive: List-Post: James Almer: > Will be useful in the following commits to add fields that don't need to be > exposed. > > Signed-off-by: James Almer > --- > libavutil/side_data.c | 70 +++++++++++++++++++++++-------------------- > 1 file changed, 37 insertions(+), 33 deletions(-) > > diff --git a/libavutil/side_data.c b/libavutil/side_data.c > index 17965f2d3c..8c57fd838a 100644 > --- a/libavutil/side_data.c > +++ b/libavutil/side_data.c > @@ -24,44 +24,48 @@ > #include "mem.h" > #include "side_data.h" > > -static const AVSideDataDescriptor sd_props[] = { > - [AV_FRAME_DATA_PANSCAN] = { "AVPanScan", AV_SIDE_DATA_PROP_SIZE_DEPENDENT }, > - [AV_FRAME_DATA_A53_CC] = { "ATSC A53 Part 4 Closed Captions" }, > - [AV_FRAME_DATA_MATRIXENCODING] = { "AVMatrixEncoding", AV_SIDE_DATA_PROP_CHANNEL_DEPENDENT }, > - [AV_FRAME_DATA_DOWNMIX_INFO] = { "Metadata relevant to a downmix procedure", AV_SIDE_DATA_PROP_CHANNEL_DEPENDENT }, > - [AV_FRAME_DATA_AFD] = { "Active format description" }, > - [AV_FRAME_DATA_MOTION_VECTORS] = { "Motion vectors", AV_SIDE_DATA_PROP_SIZE_DEPENDENT }, > - [AV_FRAME_DATA_SKIP_SAMPLES] = { "Skip samples" }, > - [AV_FRAME_DATA_GOP_TIMECODE] = { "GOP timecode" }, > - [AV_FRAME_DATA_S12M_TIMECODE] = { "SMPTE 12-1 timecode" }, > - [AV_FRAME_DATA_DYNAMIC_HDR_PLUS] = { "HDR Dynamic Metadata SMPTE2094-40 (HDR10+)", AV_SIDE_DATA_PROP_COLOR_DEPENDENT }, > - [AV_FRAME_DATA_DYNAMIC_HDR_VIVID] = { "HDR Dynamic Metadata CUVA 005.1 2021 (Vivid)", AV_SIDE_DATA_PROP_COLOR_DEPENDENT }, > - [AV_FRAME_DATA_REGIONS_OF_INTEREST] = { "Regions Of Interest", AV_SIDE_DATA_PROP_SIZE_DEPENDENT }, > - [AV_FRAME_DATA_VIDEO_ENC_PARAMS] = { "Video encoding parameters" }, > - [AV_FRAME_DATA_FILM_GRAIN_PARAMS] = { "Film grain parameters" }, > - [AV_FRAME_DATA_DETECTION_BBOXES] = { "Bounding boxes for object detection and classification", AV_SIDE_DATA_PROP_SIZE_DEPENDENT }, > - [AV_FRAME_DATA_DOVI_RPU_BUFFER] = { "Dolby Vision RPU Data", AV_SIDE_DATA_PROP_COLOR_DEPENDENT }, > - [AV_FRAME_DATA_DOVI_METADATA] = { "Dolby Vision Metadata", AV_SIDE_DATA_PROP_COLOR_DEPENDENT }, > - [AV_FRAME_DATA_LCEVC] = { "LCEVC NAL data", AV_SIDE_DATA_PROP_SIZE_DEPENDENT }, > - [AV_FRAME_DATA_VIEW_ID] = { "View ID" }, > - [AV_FRAME_DATA_STEREO3D] = { "Stereo 3D", AV_SIDE_DATA_PROP_GLOBAL }, > - [AV_FRAME_DATA_REPLAYGAIN] = { "AVReplayGain", AV_SIDE_DATA_PROP_GLOBAL }, > - [AV_FRAME_DATA_DISPLAYMATRIX] = { "3x3 displaymatrix", AV_SIDE_DATA_PROP_GLOBAL }, > - [AV_FRAME_DATA_AUDIO_SERVICE_TYPE] = { "Audio service type", AV_SIDE_DATA_PROP_GLOBAL }, > - [AV_FRAME_DATA_MASTERING_DISPLAY_METADATA] = { "Mastering display metadata", AV_SIDE_DATA_PROP_GLOBAL | AV_SIDE_DATA_PROP_COLOR_DEPENDENT }, > - [AV_FRAME_DATA_CONTENT_LIGHT_LEVEL] = { "Content light level metadata", AV_SIDE_DATA_PROP_GLOBAL | AV_SIDE_DATA_PROP_COLOR_DEPENDENT }, > - [AV_FRAME_DATA_AMBIENT_VIEWING_ENVIRONMENT] = { "Ambient viewing environment", AV_SIDE_DATA_PROP_GLOBAL }, > - [AV_FRAME_DATA_SPHERICAL] = { "Spherical Mapping", AV_SIDE_DATA_PROP_GLOBAL | AV_SIDE_DATA_PROP_SIZE_DEPENDENT }, > - [AV_FRAME_DATA_ICC_PROFILE] = { "ICC profile", AV_SIDE_DATA_PROP_GLOBAL | AV_SIDE_DATA_PROP_COLOR_DEPENDENT }, > - [AV_FRAME_DATA_SEI_UNREGISTERED] = { "H.26[45] User Data Unregistered SEI message", AV_SIDE_DATA_PROP_MULTI }, > - [AV_FRAME_DATA_VIDEO_HINT] = { "Encoding video hint", AV_SIDE_DATA_PROP_SIZE_DEPENDENT }, > +typedef struct FFSideDataDescriptor { > + AVSideDataDescriptor p; > +} FFSideDataDescriptor; > + > +static const FFSideDataDescriptor sd_props[] = { > + [AV_FRAME_DATA_PANSCAN] = { .p = { "AVPanScan", AV_SIDE_DATA_PROP_SIZE_DEPENDENT } }, > + [AV_FRAME_DATA_A53_CC] = { .p = { "ATSC A53 Part 4 Closed Captions" } }, > + [AV_FRAME_DATA_MATRIXENCODING] = { .p = { "AVMatrixEncoding", AV_SIDE_DATA_PROP_CHANNEL_DEPENDENT } }, > + [AV_FRAME_DATA_DOWNMIX_INFO] = { .p = { "Metadata relevant to a downmix procedure", AV_SIDE_DATA_PROP_CHANNEL_DEPENDENT } }, > + [AV_FRAME_DATA_AFD] = { .p = { "Active format description" } }, > + [AV_FRAME_DATA_MOTION_VECTORS] = { .p = { "Motion vectors", AV_SIDE_DATA_PROP_SIZE_DEPENDENT } }, > + [AV_FRAME_DATA_SKIP_SAMPLES] = { .p = { "Skip samples" } }, > + [AV_FRAME_DATA_GOP_TIMECODE] = { .p = { "GOP timecode" } }, > + [AV_FRAME_DATA_S12M_TIMECODE] = { .p = { "SMPTE 12-1 timecode" } }, > + [AV_FRAME_DATA_DYNAMIC_HDR_PLUS] = { .p = { "HDR Dynamic Metadata SMPTE2094-40 (HDR10+)", AV_SIDE_DATA_PROP_COLOR_DEPENDENT } }, > + [AV_FRAME_DATA_DYNAMIC_HDR_VIVID] = { .p = { "HDR Dynamic Metadata CUVA 005.1 2021 (Vivid)", AV_SIDE_DATA_PROP_COLOR_DEPENDENT } }, > + [AV_FRAME_DATA_REGIONS_OF_INTEREST] = { .p = { "Regions Of Interest", AV_SIDE_DATA_PROP_SIZE_DEPENDENT } }, > + [AV_FRAME_DATA_VIDEO_ENC_PARAMS] = { .p = { "Video encoding parameters" } }, > + [AV_FRAME_DATA_FILM_GRAIN_PARAMS] = { .p = { "Film grain parameters" } }, > + [AV_FRAME_DATA_DETECTION_BBOXES] = { .p = { "Bounding boxes for object detection and classification", AV_SIDE_DATA_PROP_SIZE_DEPENDENT } }, > + [AV_FRAME_DATA_DOVI_RPU_BUFFER] = { .p = { "Dolby Vision RPU Data", AV_SIDE_DATA_PROP_COLOR_DEPENDENT } }, > + [AV_FRAME_DATA_DOVI_METADATA] = { .p = { "Dolby Vision Metadata", AV_SIDE_DATA_PROP_COLOR_DEPENDENT } }, > + [AV_FRAME_DATA_LCEVC] = { .p = { "LCEVC NAL data", AV_SIDE_DATA_PROP_SIZE_DEPENDENT } }, > + [AV_FRAME_DATA_VIEW_ID] = { .p = { "View ID" } }, > + [AV_FRAME_DATA_STEREO3D] = { .p = { "Stereo 3D", AV_SIDE_DATA_PROP_GLOBAL } }, > + [AV_FRAME_DATA_REPLAYGAIN] = { .p = { "AVReplayGain", AV_SIDE_DATA_PROP_GLOBAL } }, > + [AV_FRAME_DATA_DISPLAYMATRIX] = { .p = { "3x3 displaymatrix", AV_SIDE_DATA_PROP_GLOBAL } }, > + [AV_FRAME_DATA_AUDIO_SERVICE_TYPE] = { .p = { "Audio service type", AV_SIDE_DATA_PROP_GLOBAL } }, > + [AV_FRAME_DATA_MASTERING_DISPLAY_METADATA] = { .p = { "Mastering display metadata", AV_SIDE_DATA_PROP_GLOBAL | AV_SIDE_DATA_PROP_COLOR_DEPENDENT } }, > + [AV_FRAME_DATA_CONTENT_LIGHT_LEVEL] = { .p = { "Content light level metadata", AV_SIDE_DATA_PROP_GLOBAL | AV_SIDE_DATA_PROP_COLOR_DEPENDENT } }, > + [AV_FRAME_DATA_AMBIENT_VIEWING_ENVIRONMENT] = { .p = { "Ambient viewing environment", AV_SIDE_DATA_PROP_GLOBAL } }, > + [AV_FRAME_DATA_SPHERICAL] = { .p = { "Spherical Mapping", AV_SIDE_DATA_PROP_GLOBAL | AV_SIDE_DATA_PROP_SIZE_DEPENDENT } }, > + [AV_FRAME_DATA_ICC_PROFILE] = { .p = { "ICC profile", AV_SIDE_DATA_PROP_GLOBAL | AV_SIDE_DATA_PROP_COLOR_DEPENDENT } }, > + [AV_FRAME_DATA_SEI_UNREGISTERED] = { .p = { "H.26[45] User Data Unregistered SEI message", AV_SIDE_DATA_PROP_MULTI } }, > + [AV_FRAME_DATA_VIDEO_HINT] = { .p = { "Encoding video hint", AV_SIDE_DATA_PROP_SIZE_DEPENDENT } }, > }; This would benefit from using a macro to remove boilerplate like AV_FRAME_DATA_ and ".p = { ": #define E(TYPE, NAME, PROPS) \ [AV_FRAME_DATA_ ## TYPE] = { .p.name = NAME, .p.props = (PROPS) }, An X macro would be even better. > > const AVSideDataDescriptor *av_frame_side_data_desc(enum AVFrameSideDataType type) > { > unsigned t = type; > - if (t < FF_ARRAY_ELEMS(sd_props) && sd_props[t].name) > - return &sd_props[t]; > + if (t < FF_ARRAY_ELEMS(sd_props) && sd_props[t].p.name) > + return &sd_props[t].p; > return NULL; > } > _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".