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 ESMTP id D64B542EB4 for ; Sat, 11 Jun 2022 16:48:36 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id C955C68B35A; Sat, 11 Jun 2022 19:48:33 +0300 (EEST) Received: from EUR03-DBA-obe.outbound.protection.outlook.com (mail-dbaeur03olkn2053.outbound.protection.outlook.com [40.92.58.53]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 5DE6C68B0E2 for ; Sat, 11 Jun 2022 19:48:27 +0300 (EEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=H/+bwKZWg1HWM6mH7cbyePzGhXsQoEkpsanvoaWLXEHn8voiYs3XWpUE6JNoeJXOklB9MKrK5WZdMRjtXu8dXmolxoIyqSfgSw2bsRYE9RCpkSPlRzStQ8SGsnOE34emlF/66E+XExRDwy/LpjOiAM4QpUTflgR+tWvP0tWuyvfEWONiTwC22ozn/A/APl4bvSM9l55gvKKC0YfH1BnJrYeGSkg3wbuObjdiYwLJtK+GX6z26n1zv64zwM7PEPRaauo+h+n3QFzyKVwxJ/H3gYOtKIkwsouTJ9sXTIsbYJRomvGdazhrj26A8SMYzTAnDBKjum0SiFEFIHRsvbpmGQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; 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=JNGmqnxCkNSWQ3pSeO6vbJtEKEL5qN0+WBD2q1+Snp0=; b=jxWXClZGZJrCCXdP+G8vi53vr/nVAANF2q+sJOCNYtnHsdPLRJSOmnctnywyQsq2wAY8SA0sxCT8fy+iXZNLmooimYNBsDlj8PihCTuEKasZ1SbPTX3vkAa4K30eLpgQwZG8H5X15bP/ZSFsBdETk/w5x96hkKJrC3aU9eQCY4lV435tAVIry7D7N82AJbyvYbP9k3Vlboc6AHnD9VkUGiEOVWzyb7pT/fgSUToqC6kdlDXlF+9svV0NPYt9jjcYVe0upar8Tciozf4MBcFPSVePs2o5rWu3tLKo0TLZoGpgLPUinCBMEaPNWhZTeN+HZ0elrQXJYdc6V7YuXkv0uw== 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=JNGmqnxCkNSWQ3pSeO6vbJtEKEL5qN0+WBD2q1+Snp0=; b=GatielLGEyMwVLrvf+SzVxZscjz5WVKj5TUZ7MYXAqsj9be+l1hVIVGHl1OCXMTlVupKov/Iy6OL9+EpTwcaYEsG7Ki2ed2oQKy17gz59pq7h2/J+rpxT5cTA3N0+EF9SMlqBEGc9XnXxRkMoMIpR8TjubTTET+i7fBPleSV5yxzmWSzGLX4oulsWlYWzvtfMds9inZs5H8uLOaK0OyULBeaS7PbwnZ7ihCbEmk1gbutzk4U3hQN+Rp/Nx8NmWuYD7Z5+OnEQ19Nz9onhxBEfysQ9NVLUk3DMOOBmqa/cZN1YsKwsTU1kO6T2DTwsb1c22/Kf/klOr8xBljKhF0hrw== Received: from DB6PR0101MB2214.eurprd01.prod.exchangelabs.com (2603:10a6:4:42::27) by DB6PR0102MB2584.eurprd01.prod.exchangelabs.com (2603:10a6:6:e::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5332.16; Sat, 11 Jun 2022 16:48:25 +0000 Received: from DB6PR0101MB2214.eurprd01.prod.exchangelabs.com ([fe80::60b9:9f29:40cc:f01c]) by DB6PR0101MB2214.eurprd01.prod.exchangelabs.com ([fe80::60b9:9f29:40cc:f01c%10]) with mapi id 15.20.5332.016; Sat, 11 Jun 2022 16:48:19 +0000 Message-ID: Date: Sat, 11 Jun 2022 18:48:17 +0200 Content-Language: en-US To: ffmpeg-devel@ffmpeg.org References: <20220611164530.157-1-tcChlisop0@gmail.com> <20220611164530.157-2-tcChlisop0@gmail.com> From: Andreas Rheinhardt In-Reply-To: <20220611164530.157-2-tcChlisop0@gmail.com> X-TMN: [v2YOQ0prpjNQKjh0sjVB6fEudE4rAfAT] X-ClientProxiedBy: ZR0P278CA0106.CHEP278.PROD.OUTLOOK.COM (2603:10a6:910:23::21) To DB6PR0101MB2214.eurprd01.prod.exchangelabs.com (2603:10a6:4:42::27) X-Microsoft-Original-Message-ID: <7c558d51-10e4-6f91-f164-7eda79246c8d@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: c773798b-7915-4669-7f27-08da4bca2fe0 X-MS-TrafficTypeDiagnostic: DB6PR0102MB2584:EE_ X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: NUxdl+K5f1nuIQoxBGdXxlxPzhFTKZkYxBbV4A2dndfFYsMGalZnVSMgtvdw34iwnOSJFW9NX1UhGf9coyaKtXq4gdqhUyO458Tqup3x0zqfEpjVrAh7lQXqK9Jyja5zDG3cp1B2Mq3XJoU7oWVEwrL0sRqfDnuhrrGIPnPR9jMAtmhdWA9xyR+UXSkX3ddRRWLoOCGXOKdeZK7BbJFxcZnWF4qc5nNHzRVjvRZrgVAVOytLDERfqFOb0jA9iWeISddbTMMKc5WVVsD9zJZYYPZ95pTCaSCO0we0LN6XgSJ9E3o0Tg7CGBcs8P6XWguzkPIi9K9F8pkrHPnhoBDx7O4vSqEyk2ZQ8LUyFOSGze67ngbQ9eHzjA/2ADttVJHyGkYHJfbAd10KlEQ/odWmXGvorgUHfWsJo4XORxd01+08P8o1YUaWmleaP7zIbhkyc51BICBRdtDPdV/uSYjTWCamftUn9AY0MMWG2VRUdC3WmFW1x9yhWZpzuGfvPyYFtn7oQ2VZN4uirhhUtwpCvHj8mRDWa4r+4abxkdiWu2W+TVJ3zK3bIZBvV/QL4zsbtn2t5EIeASiPbdrs48FUYA== X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?SW4xQ1ZJOUw4M1FEM1hZcE9BNE1LVEFqeHB6OGUxUVZnRVlTSDZsZ2lJSUY3?= =?utf-8?B?NDYwWDdnRjdiNW40ZmM4ZkM4UGJDMWxNUUo0VW1xVHd6VlNObHBOV0pDU1Z0?= =?utf-8?B?U2FwVlRRMjNvOUNUWnVqdTFvQzhBM3VGc3B3NVFBQXc3WDhrM29oci92YzI4?= =?utf-8?B?T3Mxcm9XYlZaN0tpdTRpVWRVamJNeTMzQ2tpejViMkhvUE4xTUF5YjBYRURQ?= =?utf-8?B?MWVMZktWR2pQb2lYWS92SnkybEN3SWFsbklGc0NrU3dxUEVCWUliQmhYVkhP?= =?utf-8?B?ei9DSnd1Wk1Sa0V3ZlMrZ1FXSnhvWjRyOElJVWt4WVI4bnJoRHUwM1lxN2pq?= =?utf-8?B?TWNyOFEyb21FMWFhcFI3RWpSSkFaUlRhTWdMcmFyMDBlN2I5bnBaWEtWUHZ5?= =?utf-8?B?bmRucTlJRk5hQ3g4ZHFxSmFqb0xWYzNCUTVwNkxhbUJ0aVNuaVNOLytoV2Vr?= =?utf-8?B?djBUQkhrcnBwTUptZWF4cTVhTFJ6MXUwUDgwbVBGY21lZnpSdXBOVm02eHpp?= =?utf-8?B?OXdITllYak8xTDBvYUNDOVhLOS96U1l4bitub2pBT09pWFA4bFNYVlBFbGpv?= =?utf-8?B?WUh3ZmQ5N2RDMWcyczA2TG1hYjJZcVJhTlAwOEgvZ2VrMkZGUG12SlcxWUR3?= =?utf-8?B?R0J2cWpIYTA3Y2VtNE13S3FUNExsMk9RdHlzOGlkenNoUjJzMHlHOUI1eno0?= =?utf-8?B?NFhCY3VkM3QxaFdiUXFyMVp0bnZ5cGlYSmRJRDJ4OHBMTHk3REsxRHVUbW9Z?= =?utf-8?B?OCthNG51cG5sdjhTZjI5bm1LMFJGM2lEeDNCd3Jha1d0R25FNXZ5UnY4TVl0?= =?utf-8?B?Zm45anlrbWs3amtNY1k2dWZ5eTAvc0ZUMzNMZnNvaFNpZVFMUGhLWGQvVFVV?= =?utf-8?B?TmtCZlFwVngyQkU2VkZaeUxhRE1wRERIZFlrZW5kOWZESU1tSVhYVmpSc1Zi?= =?utf-8?B?eEJ3UlVtajhHWlV3bG9uME9TNHBnQmd4OFk3QXBobFlpM1NnQk5lUmp4RU1C?= =?utf-8?B?OFFreVB5c1drV2VvSGt0UThsVHhJMEUxOEpqVTk1NU1JTVV5cHNaaFA1U0tw?= =?utf-8?B?RFZ2NytlSnZCTHkrSEFXTk1qclFTV0xPSlJYalVmV1BIUWJQVlAyMFlKTE9N?= =?utf-8?B?WEY0UGxPVEdzVjVjM3lmNzNBRHNUQWpIeVdSM3Zzak93TmdYRFpKY0pmazdZ?= =?utf-8?B?RTgxamZIcnlWWDIwM2FxZGdOMmZiOE0vY2ZMTlJ0RUJWVWswNUYzLzdtNUNw?= =?utf-8?B?OUlNNTl3d1ZRM0NWYUUyN0NmYUFNSStmdTdobVRXRzg1MWlOTzVQMW1aZzFl?= =?utf-8?B?QU9jTTZOcS9vK29EREhySjFGWUozcHlTWEdIdUNXWDBwMW5IaVcwTnYxam9U?= =?utf-8?B?aHZyMVJLQlRFZVg5bWFOaDBKQnJtZ3h4RHpkWUl6U0xpOG15VTY5ck5hNS9o?= =?utf-8?B?TGFjUFRzSjU3bnlzcm5hUmVvQUlRMDFoMFZNc3MvaGxyeDBaaTg1ZXZqL242?= =?utf-8?B?a2NkM2dtbFA3bEJaVUpvM0NteGxyMlladGtubHkrWmI0dlJBOThzS29PQjJk?= =?utf-8?B?Z0p2TE5iQ2w1eXA0WlNCK0ZLYzR6Z0hCWEpEdnIxRWgvRVFqcVp3YU9HRHgy?= =?utf-8?B?N3d6Z3h3OUZiWUVianpoWkFXUXZjSS9SSTEwUUtXQ3NpeG1VdVB0MzUrZTdi?= =?utf-8?B?VkNJVUpjWW1kWFJOWk1LT0xhRFBoWTVOMVYzZVVJSnFwTXJHM01CWGE4cW1H?= =?utf-8?B?bmYxNjh1NEtTU3dPN0NiUXR5SEVKY2VSWWk3TWJwMmhIb014VlNYVGlYZXJN?= =?utf-8?B?dUF3K3pNTVdUMFJ3ZUZNcFg4Z2huUnB0WG0xd0Y1ZitKalZyZFl4MVEvVVYx?= =?utf-8?B?ZzAza3h2K0ZqRCsxTnFIR1dZUzlrRk96aERCaVliYSt1aEdPSnl3bVJiV1Vl?= =?utf-8?B?cGN2SWg0V0FjNm9uTXZsQzU2QjA5Q2NaaVdHSFRiVzQ1SW5vVitzb2l3dk5w?= =?utf-8?B?Ty9DTHhxeUJRPT0=?= X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: c773798b-7915-4669-7f27-08da4bca2fe0 X-MS-Exchange-CrossTenant-AuthSource: DB6PR0101MB2214.eurprd01.prod.exchangelabs.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 Jun 2022 16:48:19.0534 (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: DB6PR0102MB2584 Subject: Re: [FFmpeg-devel] [PATCH 1/2] libavutil/dovi_meta: Add nlq_pivots to AVDOVIDataMapping 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: quietvoid: > The NLQ pivots are not documented but should be present > in the header for profile 7 RPU format. > It has been verified using Dolby's verification toolkit. > > Also implemented the parsing in libavcodec/dovi_rpu.c. > And added the info to ffprobe and showinfo. > --- > fftools/ffprobe.c | 4 ++++ > libavcodec/dovi_rpu.c | 7 +++++++ > libavfilter/vf_showinfo.c | 8 ++++++++ > libavutil/dovi_meta.h | 1 + > 4 files changed, 20 insertions(+) > > diff --git a/fftools/ffprobe.c b/fftools/ffprobe.c > index c44297c1fa..63eb9b32ae 100644 > --- a/fftools/ffprobe.c > +++ b/fftools/ffprobe.c > @@ -1934,6 +1934,10 @@ static void print_dovi_metadata(WriterContext *w, const AVDOVIMetadata *dovi) > break; > } > > + if (mapping->nlq_method_idc != AV_DOVI_NLQ_NONE) { > + print_list_fmt("nlq_pivots", "%"PRIu16, 2, mapping->nlq_pivots[idx]); > + } > + > print_int("num_x_partitions", mapping->num_x_partitions); > print_int("num_y_partitions", mapping->num_y_partitions); > > diff --git a/libavcodec/dovi_rpu.c b/libavcodec/dovi_rpu.c > index a87562c8a3..17837eb845 100644 > --- a/libavcodec/dovi_rpu.c > +++ b/libavcodec/dovi_rpu.c > @@ -315,7 +315,14 @@ int ff_dovi_rpu_parse(DOVIContext *s, const uint8_t *rpu, size_t rpu_size) > } > > if (use_nlq) { > + int nlq_pivot = 0; > vdr->mapping.nlq_method_idc = get_bits(gb, 3); > + > + for (int i = 0; i < 2; i++) { > + nlq_pivot += get_bits(gb, hdr->bl_bit_depth); > + vdr->mapping.nlq_pivots[i] = av_clip_uint16(nlq_pivot); > + } > + > /** > * The patent mentions another legal value, NLQ_MU_LAW, but it's > * not documented anywhere how to parse or apply that type of NLQ. > diff --git a/libavfilter/vf_showinfo.c b/libavfilter/vf_showinfo.c > index 12d39310ef..2148d202b1 100644 > --- a/libavfilter/vf_showinfo.c > +++ b/libavfilter/vf_showinfo.c > @@ -543,6 +543,14 @@ static void dump_dovi_metadata(AVFilterContext *ctx, const AVFrameSideData *sd) > av_log(ctx, AV_LOG_INFO, "mapping_color_space=%"PRIu8"; ", mapping->mapping_color_space); > av_log(ctx, AV_LOG_INFO, "mapping_chroma_format_idc=%"PRIu8"; ", mapping->mapping_chroma_format_idc); > av_log(ctx, AV_LOG_INFO, "nlq_method_idc=%d; ", (int) mapping->nlq_method_idc); > + > + if (mapping->nlq_method_idc != AV_DOVI_NLQ_NONE) { > + av_log(ctx, AV_LOG_INFO, "nlq_pivots={ "); > + for (int i = 0; i < 2; i++) > + av_log(ctx, AV_LOG_INFO, "%"PRIu16" ", mapping->nlq_pivots[i]); > + av_log(ctx, AV_LOG_INFO, "}; "); > + } > + > av_log(ctx, AV_LOG_INFO, "num_x_partitions=%"PRIu32"; ", mapping->num_x_partitions); > av_log(ctx, AV_LOG_INFO, "num_y_partitions=%"PRIu32"\n", mapping->num_y_partitions); > > diff --git a/libavutil/dovi_meta.h b/libavutil/dovi_meta.h > index 3d11e02bff..c7c5ba721f 100644 > --- a/libavutil/dovi_meta.h > +++ b/libavutil/dovi_meta.h > @@ -144,6 +144,7 @@ typedef struct AVDOVIDataMapping { > > /* Non-linear inverse quantization */ > enum AVDOVINLQMethod nlq_method_idc; > + uint16_t nlq_pivots[2]; /* nlq_pred_pivot_value */ > uint32_t num_x_partitions; > uint32_t num_y_partitions; > AVDOVINLQParams nlq[3]; /* per component */ This breaks ABI. New fields must be added at the end. - Andreas _______________________________________________ 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".