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 664024B1D9 for ; Thu, 30 May 2024 19:34:08 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id A589568D51E; Thu, 30 May 2024 22:34:04 +0300 (EEST) Received: from EUR02-AM0-obe.outbound.protection.outlook.com (mail-am0eur02olkn2023.outbound.protection.outlook.com [40.92.49.23]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id D426D68D4BA for ; Thu, 30 May 2024 22:33:54 +0300 (EEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=mmjF0LptxY46s+ltW6kQaADmw8TsukpM9gUT4fuxD9GKAL69N507kZ3+pMUym0ibK2SZpWRlTjQnTEPuL49FtsfqVQBoqatBe58p5YSMyn5YRCKA+rGDlxZ0uQr/k+BUrQK6fSF6b/G8/1f7rKnLkzk49bh5vsd0H3oBANz4WuDAJ4CTXHnBIIw5O2QSETpztJWIGPu7GWdLLKw/Sv1y//VhfA34pBbPVmO63P24GwKLpuRuFcX5xHDzoEmksdV3DbcbSlpk06SuZUI2a518+j5euUBJyMe1etgl9BX93oHbbqrKnbpqYf+PfSxNL6rAzf7kemrYYz6jRlfj8Lpj3g== 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=ZkxtdcHVEdk2tobAPclxEdAqVXd5DEVbHQ9X+3XWnMo=; b=cDuRPEufXQ6XQuRTNZNryf6YNKxjidZsOmoqtpGq41mhbLkc3LKYdb4YPi+yZHa6VGpL0xWwyC/ZJGWvQqOAhtn9rctralnCGgPnomAaFwjqlWJi1bq+3FpgK7bUUD8nmHKH8ZCsGRN0uk4lpb1HDn/zKwK82F55amqipkCoetSfjPAgi0vmh9oc4Ka1hsfwCvESNhMk+IdXEzoHeQPTvYbR26VH4lirq4Oj65XzgFYwGIgqYnwXXENunqtfGtHdbCFcJWxU2ARQX5CPbmycQkS0jPqxgdXlDgy9Aztbz/SsGhrDUYLfc3WG7vbnMYfX6bBaRrJ3gg/qbFzGxPTHFQ== 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=ZkxtdcHVEdk2tobAPclxEdAqVXd5DEVbHQ9X+3XWnMo=; b=DCRAJG/1f7hafCacQYawf42sjcvusrn5kuQVIdRW6PgTewerrjcniQWsJVSvp++j2PSmWJV+IyFho2s2kh4WDmtEYNb825SnJuHR0/+xetqyOCAgaPXXdyrnPlhgWfr5mQbOQh/A5txrbSiF/UtF7BrOTZ5uHgo0yzo7BGZ6Mkz38TkCg/CHvz/E+dWF/o8RPoiXST2aaIV3ZiC8jRqFM8hWCAb0rk5T0lKLvPvl3Cyin4V2nPZ6knNNJELNXbOmb+6Jz545lQK73qVwm2nIXTeJ6eLXr14UG+xQTbH93kHjgUam73fLrJw5VMkHaO3QKLMxZpY1/JTjx59NZMuUAA== Received: from AS8P250MB0744.EURP250.PROD.OUTLOOK.COM (2603:10a6:20b:541::14) by AM8P250MB0213.EURP250.PROD.OUTLOOK.COM (2603:10a6:20b:324::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7633.21; Thu, 30 May 2024 19:33:53 +0000 Received: from AS8P250MB0744.EURP250.PROD.OUTLOOK.COM ([fe80::384d:40d4:ecb7:1c9]) by AS8P250MB0744.EURP250.PROD.OUTLOOK.COM ([fe80::384d:40d4:ecb7:1c9%4]) with mapi id 15.20.7611.025; Thu, 30 May 2024 19:33:53 +0000 Message-ID: Date: Thu, 30 May 2024 21:33:51 +0200 User-Agent: Mozilla Thunderbird To: ffmpeg-devel@ffmpeg.org References: <20240530174429.GZ2821752@pb2> <20240530180435.GA2821752@pb2> <20240530192637.GC2821752@pb2> Content-Language: en-US From: Andreas Rheinhardt In-Reply-To: <20240530192637.GC2821752@pb2> X-TMN: [bRL0sH3nmgq0WKv09WYmlPSi4Y4x/mSz0PHbmszFlfw=] X-ClientProxiedBy: ZR0P278CA0018.CHEP278.PROD.OUTLOOK.COM (2603:10a6:910:16::28) To AS8P250MB0744.EURP250.PROD.OUTLOOK.COM (2603:10a6:20b:541::14) X-Microsoft-Original-Message-ID: <3a9c2d6d-9948-47f1-9482-4cdecc19515b@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: AS8P250MB0744:EE_|AM8P250MB0213:EE_ X-MS-Office365-Filtering-Correlation-Id: bce044c3-c7ff-41c9-304b-08dc80df706c X-Microsoft-Antispam: BCL:0;ARA:14566002|461199019|440099019|3412199016; X-Microsoft-Antispam-Message-Info: 5UQs7OOu+ENsDLfkKOv+mb9sKoiyojjtqgjeqMcP+Led3LBt1IdhQ/B0nVuRFx4NG6hKtXCI7ZcX7rJpRD2fFWAB2dhAE0INqoflhBoRqsXMSy633TeRxJd9peoJrTWm9ZVPRXZWvFSbea0MXREHeuDB08Qr/qkCvvCjBF1bdubTirnLZ0DmUkQrGGkciYAcSaZmugSUPkvX5gQwpGoP9M7enKfnshN+Xkr3+t2aGZ+NpTezOjHfvIO9tSouG/b3QtJwkbuaVlYMIsVtvf04GbrvTSuFdMwptnCxoq6Q23wU6M+PRVEfLuMd0PRwjTnxqMti4PAY6Mj/oacKd5nS3aHPFmIHQWbpYe3w16mRf4BtUHc9nOq/V4l812San4ZRGwZAZ5WsxXHSkfrQCrrmA+IwhbZJNHpaqcKfVyh2D1BI/XMybyMgp18qKR0DNx7JHofOHk7e+2lcUZd7g/JHsPYEJjtnc55ZH4jCQQY5cyVA9oF4WiGQ5ncnlb6us8oYXCgVanHudNJ0Oa/e0761+qnLNo0UMH1nQRfMC7Nen+jTlNz+jIOc977MUZrSzt6B X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?UHBLTmorSnhIZjVWUDFOQ1B3L1c5U2Fjc3NZKy9kR2dscGI0UFN0Q2tlUkpj?= =?utf-8?B?Zmd5RW4wOWJPTS8yWmNzcVFBRWxLbDBiL04rRG1ydk1ucVlja0daYU1zenFq?= =?utf-8?B?U2tGRjVLdXloK09QRHlVTHJ4TW5yOVlPdkFHZGlkdCtrMlk0TzRsbk9VT0xa?= =?utf-8?B?eUhUZktvODltLzZnWEY5Z0JUcUJmUEZsbWRlUThXYUZZVEhFUmd1ajFudFVk?= =?utf-8?B?WnFrVmFiRzJnRFBtVEpXNFlXVmxnbTRyR3ArNUM5MDlHRWJ1aWRmMmZ2TDRp?= =?utf-8?B?NVFTQlRaU3pOVHBFK3o4aFhBNnlCRVJqWjR1VFJ4ZGZVa2h3ZWxQdjhMS1hZ?= =?utf-8?B?Tmc5K1FsWTZSZ0tSYy9TZHVUdGVPVURGR3pETU1RRlhlbGNUM3d5OE0wa2dl?= =?utf-8?B?bUxBRnhSY1pNSE9LbEZVc0JzUHNmOG9Kems3c3k0bGtXOXRUVVU4YmMyek9s?= =?utf-8?B?SDhDU09wOWxJL1VPZ2lOOUFQNi95OG54ZEozYnJ0cHdwbXNwN2xWM0FIdlNn?= =?utf-8?B?UUI1dGtYejNGaDVJaVR4ZWl5K21ud2FEcWM3VmpPVmw4VGpHZHBOZTQ4NXMw?= =?utf-8?B?bGFkZzlHanhhajhTT1gyb3dWU0ZkOVFVdkZQMERMZXlET1FPOVFmSXdtZm1S?= =?utf-8?B?bThyT0Z5eVFVaU83M2ptaHp4OERkejEyMmx5ZExMRmZlUFZqdnVEeDBZWE5o?= =?utf-8?B?WHE5UDlzQ3FnRkh6WkM0UXJnSmdiZHdMc0Z1U1hzZ3lWWGIwTXdyMldjWE96?= =?utf-8?B?SnIvTmVNNUdZU2R6bWljT25ydDNnejNycUVQaEM0a0ZNN3o4RWpMdklmYUNz?= =?utf-8?B?U2dqeUZCTFB6WEJRbyttWDJjN1BZam5yd09RWWlpYUxkcWZjR0g5SFRLbmFw?= =?utf-8?B?ZEpldklnK09qQVZVTWQwaUo4blpzdXBuNWsvVjFwbDA0cnppSHIwaG9qZ1Rv?= =?utf-8?B?bzB3QTJRYkxnUkp1dDdaKzBCN0NCN0ZHeDVyQW9SWUE3TmJjWmZsSWh4eXdV?= =?utf-8?B?d0x0TmEwS3pUQlZMaTBLRjNPYTVuUDd2TnVTbkhUVEtRL3dHUUZldkgwbzJh?= =?utf-8?B?WkNoakZHVmNtbXFrdFp5MUt4bXdZUmp2ZVI1R3FEbXVYRDUyRWZjbUZucUFJ?= =?utf-8?B?eVpkaWd0RnBNa1BPWVBzY3RCVFhBMUExbXFMenNGU3FnK1JlZzk4VnNNYzZY?= =?utf-8?B?QllCelNRZzJYRGNwRjkrcDVyZGpmVG5jdE0vSjdveTR2QSsvb3R3MkZWZ2pk?= =?utf-8?B?alNWSFRQU3M0MG1wdXNpd1k3Kzdlay9IU1NPNjhuRnhiRkcxczM3cmdBRkJp?= =?utf-8?B?U1NnZU9ENVZhUmM4VmZYci9qSXhhaVJXMG9WOTdQVVpuS1licUhlWGRHWTN6?= =?utf-8?B?anhSMkpENm1RZkFtQ3Nub29mYzcxYVRsamVUSnZBZ3pkblg2aDVzWVBML0hK?= =?utf-8?B?MVNtazdrOU1Zc0J4RXpuTVp2TXExQUIxV3VVelU5Y1g0RXZFRnBVRFZUWlM4?= =?utf-8?B?M3o2dFlQTVFnZ2hmbXZSMmJ4YkF2VFNCQmwvQzFuUW9SSUwzZDRpK3hNWnh3?= =?utf-8?B?WWdnbXIxcUlRUU8vdjVVb0NNT2JZemtla1hyN2loaGk2eFQ5MlJPcG40Kysr?= =?utf-8?B?TUVRVTROdWRveU9JV3grRklXMEExSWVjSEpZN0ljN1ZXR3cvK3UrQldZZHI1?= =?utf-8?B?RjE1akdneS91THIrWGV4clRpakt2aDdBeERGQUJGYXhNNXpCY0E4Zm1RPT0=?= X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: bce044c3-c7ff-41c9-304b-08dc80df706c X-MS-Exchange-CrossTenant-AuthSource: AS8P250MB0744.EURP250.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 May 2024 19:33:53.3402 (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: AM8P250MB0213 Subject: Re: [FFmpeg-devel] [PATCH v3] avformat/nutdec: Don't create inconsistent 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: , 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: Michael Niedermayer: > On Thu, May 30, 2024 at 08:07:48PM +0200, Andreas Rheinhardt wrote: >> Michael Niedermayer: >>> On Thu, May 30, 2024 at 07:53:42PM +0200, Andreas Rheinhardt wrote: >>>> Michael Niedermayer: >>>>> On Thu, May 30, 2024 at 02:14:20AM +0200, Andreas Rheinhardt wrote: >>>>>> Forgotten in 65ddc74988245a01421a63c5cffa4d900c47117c. >>>>>> >>>>>> Signed-off-by: Andreas Rheinhardt >>>>>> --- >>>>>> libavformat/nutdec.c | 14 ++++---------- >>>>>> 1 file changed, 4 insertions(+), 10 deletions(-) >>>>>> >>>>>> diff --git a/libavformat/nutdec.c b/libavformat/nutdec.c >>>>>> index 0bb7f154db..34b7e3cb9a 100644 >>>>>> --- a/libavformat/nutdec.c >>>>>> +++ b/libavformat/nutdec.c >>>>>> @@ -881,8 +881,6 @@ static int read_sm_data(AVFormatContext *s, AVIOContext *bc, AVPacket *pkt, int >>>>>> int count = ffio_read_varlen(bc); >>>>>> int skip_start = 0; >>>>>> int skip_end = 0; >>>>>> - int channels = 0; >>>>>> - int64_t channel_layout = 0; >>>>>> int sample_rate = 0; >>>>>> int width = 0; >>>>>> int height = 0; >>>>>> @@ -930,7 +928,7 @@ static int read_sm_data(AVFormatContext *s, AVIOContext *bc, AVPacket *pkt, int >>>>>> AV_WB64(dst, v64); >>>>>> dst += 8; >>>>>> } else if (!strcmp(name, "ChannelLayout") && value_len == 8) { >>>>>> - channel_layout = avio_rl64(bc); >>>>>> + // Ignored >>>>>> continue; >>>>>> } else { >>>>>> av_log(s, AV_LOG_WARNING, "Unknown data %s / %s\n", name, type_str); >>>>>> @@ -952,7 +950,7 @@ static int read_sm_data(AVFormatContext *s, AVIOContext *bc, AVPacket *pkt, int >>>>>> } else if (!strcmp(name, "SkipEnd")) { >>>>>> skip_end = value; >>>>>> } else if (!strcmp(name, "Channels")) { >>>>>> - channels = value; >>>>>> + // Ignored >>>>>> } else if (!strcmp(name, "SampleRate")) { >>>>>> sample_rate = value; >>>>>> } else if (!strcmp(name, "Width")) { >>>>>> @@ -965,18 +963,14 @@ static int read_sm_data(AVFormatContext *s, AVIOContext *bc, AVPacket *pkt, int >>>>>> } >>>>>> } >>>>>> >>>>>> - if (channels || channel_layout || sample_rate || width || height) { >>>>>> - uint8_t *dst = av_packet_new_side_data(pkt, AV_PKT_DATA_PARAM_CHANGE, 28); >>>>>> + if (sample_rate || width || height) { >>>>>> + uint8_t *dst = av_packet_new_side_data(pkt, AV_PKT_DATA_PARAM_CHANGE, 16); >>>>>> if (!dst) >>>>>> return AVERROR(ENOMEM); >>>>>> bytestream_put_le32(&dst, >>>>>> AV_SIDE_DATA_PARAM_CHANGE_SAMPLE_RATE*(!!sample_rate) + >>>>>> AV_SIDE_DATA_PARAM_CHANGE_DIMENSIONS*(!!(width|height)) >>>>>> ); >>>>>> - if (channels) >>>>>> - bytestream_put_le32(&dst, channels); >>>>>> - if (channel_layout) >>>>>> - bytestream_put_le64(&dst, channel_layout); >>>>>> if (sample_rate) >>>>>> bytestream_put_le32(&dst, sample_rate); >>>>>> if (width || height){ >>>>> >>>>> This would break mid stream changes to the channel layout & channels when it >>>>> is carried at format level only >>>>> >>>>> The commit message also does not adequately explain why such mid stream changes >>>>> are ignored >>>>> >>>> >>>> Mid-stream changes like this have been deprecated in >>>> 09b5d3fb44ae1036700f80c8c80b15e9074c58c3; >>>> 65ddc74988245a01421a63c5cffa4d900c47117c removed it, but only >>>> incompletely: The side data flags for channel count and channel layout >>>> changes were no longer written (in fact, they were removed from >>>> packet.h), yet it still wrote the rest of the side data as if these >>>> flags existed and had been written. That is the inconsistency this >>>> commit addresses. It does not address whether channel count/layout >>>> updates should have been removed, because that has already happened. >>> >>> i honestly belive that we should support changing channel(layout) for >>> cases like PCM in nut >>> >> >> That is orthogonal to this patch (which just wants to not create >> inconsistent side data). > > You can fix the inconsistency in 2 directions > 1. remove everyting > 2. add the code back that made it inconsistant > > This line between these 2 points is not orthogonal to what this patch changes > It also is not orthoginal to supporting PCM channel changes in NUT > nor is the change this patch does from our current state orthogonal > to what would be needed to support channel changes > > IMHO, decide on what the end goal is and work toward it. Not just > make something consistent even when its a direction that might be suboptimal > We have a release that is able to create nonsense side data; this needs to be fixed and for this to be fixed we need a patch to backport. If you think that we also need a way to signal channel layout/count updates, then you can propose such a thing afterwards. - 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".