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 E26FE49186 for ; Sun, 4 Feb 2024 20:00:24 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id D3B5968D119; Sun, 4 Feb 2024 22:00:21 +0200 (EET) Received: from EUR01-DB5-obe.outbound.protection.outlook.com (mail-db5eur01olkn2027.outbound.protection.outlook.com [40.92.64.27]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 1D8A768C248 for ; Sun, 4 Feb 2024 22:00:16 +0200 (EET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=X/eJBy3Jq6p3bRGcv+elxMqZEDQ1TELxCMIhbf4ORUB6rHe3eDNE6WsjgWMiK6W3a0qqy5qQv9+guOpZjK732Fui3PwRopCrkBe5FQH98GVQiE8L/s26Pq1kp+YmAXMbe2zC5D6uXu4yvN1AEin7uMUSJMwbM5JQmPW8yg1H2le5tmApVvnsoQzb99TQp7qDJW8sgzivY/j4MWWObPwYyS80C8ua7QMYnTMEwNjwzhgVeKGsCExQ9QD0+I9jeUg7+hE+tHluSmmlWgbXPtmBEQ3OcfiAfSO0G6iW39PBqNWxDfmjGkIND0uniBlBEY9G6SwRb+0W30LnzXbwlHzHwA== 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=JXx5j2xnmaQOxM7VH/GIrSE0TFAdmNAZwk3QRf7lhTs=; b=MrA8EzoIDoC4PGPywEs/Lzp+rzSvoEJbsrGBl6+e31a8y7C20cUymBa1ORTEHP/8HP2pSUC9ArE+ifyOVFNDANJq10Z+3LYh9r5kJsoOjTA0Iib9FDHBPx/9+cwzMWttfIwffqSNC2USXDSLX/i4GwvmQEZzPV/4typZsbcnE+6EgXZe64r8ApYQE4HxumMCnAZjMdYQmmtuE4uBct9psW4qA7y6A0ti5NcZRODM0e3esdfrbKieq21nDhZCt5q3cRgCSkIckPgeRKkACHE2BrBPV3qb9jOcYzRgqvFxthbLsGpb73jlm4G5+0Igcwm6+euyzW6Bvhnb2rOS3bnoZw== 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=JXx5j2xnmaQOxM7VH/GIrSE0TFAdmNAZwk3QRf7lhTs=; b=sz4DtNQks3Wg0KL5CV/Wt3K9iH9sNI1/L5WNvuTFlDEvThVpUK97TC0X2RBJP1p2g6r//essNIshFBzamNah8NjJQho7u2clfUszKlF+x/XSR8qwvag2nZcdTpqCBuEXC6egJsmdRljG7TfJ8A3xHRIxbTYYT+OUE6eYA//KIKho400VuUjwLexS1vOeMW4bjxhEc7UW2UN2GfjLKOstcA6ejwCW1ekhI93Jafywul1AqKc+dhcyBfFeJjELt/RlL5KAgWD1/UUY80W32/IjXlvqakK0qhGtglfqPBuKx6hrjOIEd/DUu+5V6dQQZ9qE6avdDifQAqDwoqLXq+WUNw== Received: from AS8P250MB0744.EURP250.PROD.OUTLOOK.COM (2603:10a6:20b:541::14) by AM8P250MB0230.EURP250.PROD.OUTLOOK.COM (2603:10a6:20b:325::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7249.34; Sun, 4 Feb 2024 20:00:14 +0000 Received: from AS8P250MB0744.EURP250.PROD.OUTLOOK.COM ([fe80::65aa:deb0:a18e:d48d]) by AS8P250MB0744.EURP250.PROD.OUTLOOK.COM ([fe80::65aa:deb0:a18e:d48d%5]) with mapi id 15.20.7202.031; Sun, 4 Feb 2024 20:00:14 +0000 Message-ID: Date: Sun, 4 Feb 2024 21:02:06 +0100 User-Agent: Mozilla Thunderbird To: ffmpeg-devel@ffmpeg.org References: <20240125134425.374-1-jamrial@gmail.com> <20240125134425.374-17-jamrial@gmail.com> Content-Language: en-US From: Andreas Rheinhardt In-Reply-To: <20240125134425.374-17-jamrial@gmail.com> X-TMN: [qSxMDbCJsB+xgDUsC+wN54ZqVJCqYrQ99+YhrUoP1e0=] X-ClientProxiedBy: FR3P281CA0209.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:a5::8) 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_|AM8P250MB0230:EE_ X-MS-Office365-Filtering-Correlation-Id: 5248d95f-c7d6-4862-79d9-08dc25bbe6b4 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: /X/MY6Ld1I9LVpue7dAhTr+jSeua71liryhl6wXetvxrtX7Ut5YpYv2kCFPrNxJmamzHolua2IcYkvx+Pi92iPiQWUf10UqEok7betVa6wk3apRguHhKgwWVtxBN2RxAiuobLqZOKoLukXQZhjJs2wwr6TLoi9Sz3tHENhApUS76UKxc86OBHzGp+c6dsRZNkN6kHqmiIk/SngZzwLFW8QZpUjFzSYM+CqVHJ/6yqo1Zf94mJjz0k8DwHdBYZ4aBRQt5fyRB2gNODqUgyS8ZETAtvv2OKqFOjDNGDAFHD0PLAoCC8/vT5XafCK0FKjoWyvOLiD7Tpoua5p1fnZU0OzkVywspRM6a+bCqfGZ7naUeHEDh2IOIJrO8UIpJS0PPTnit2yhO/sOtsfX9kVe8KT2gkSe36hN2RpLwAbT7KVEOafDLFUxHYGi6rXDKQb5PxBz/v+LqZfR6YK3/DGQUz3paVeLh0UnXhsZlCO+deBnwUHBEXuET5YGDRUCajK7DC4vVjgiC99LovkYOKWgTRbz1yQ6iGHFpbqEzJgdGcxupeXjKgGy2evbzB9LJKo0k X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?SE9zYzZaVy9PSVV4T3JhUWlSWDR6ejNKVEtsTHJlQXQ0Rnc1NmFCN2JPL2pE?= =?utf-8?B?R2MzNUVaWVNvVXFydUNnaDU3Y3JkZS8vSDBiRmtSZk5xSFZCZm9SUmIxdm1o?= =?utf-8?B?RUdkZ2V2SWF2SjBLZHNjbmZia09EZDZycFVmd29OeUJ2WGRBNTlBaHcwUzI4?= =?utf-8?B?VDQ2SEdHdFVXTmdUNmNESDNpU09KNlp5N0RWOHAwTDE1dHl5c210MnBBY3oy?= =?utf-8?B?dXN6NWk1Sm4zdVZzbTc4ZXEzNmpQZVpGclQ3MFI0OEJ2WTdlektQR2ZwWm5H?= =?utf-8?B?YXVDdlorOEJjb2JIOHR6QjhvcjVvVnplZ054eXJma0Jhcy9JMWhCQ3V6U0t4?= =?utf-8?B?ay9jclE3d1J6K2ExN1U0Y1IrN3lxd1ZoQXlLbG9rbkczNkx4RE51T1Jtd3A1?= =?utf-8?B?MW5FMHhtOEhKMHpKQW10a2RxeE9zLys2MUpzanFzenIxUGxmKzY3UUphLzdK?= =?utf-8?B?UGFJcTBrUStycVNzUG1IdmhxMjRuUUVuQ21yM090OWF4MlVqM0REb2tlTytQ?= =?utf-8?B?NHdrM1VubkpwOEpiZjZrdjVZOHZLRGxLeGs1cUpqbzRhTXRUSW1LOHU3RVJv?= =?utf-8?B?VGc5MzFtYk1ldXFVZ3BzRmJlZGUvODgyQVMzVlBDOEZ6K0E2cndSWDEzYVpD?= =?utf-8?B?bjlFclp6WDFzUzdxSmk5dWxyNUNFN0YvOUFUQUNPKzNzNFBHSVhNQk1IVy9V?= =?utf-8?B?RldVZ1Y4QXNEY1pHNy9vZmd1cFJ6WktqaG5ab2k1Q2loOEhXV1dObUd3WURa?= =?utf-8?B?V05lRXB0eENsT3Z2c2V0czhOQnFHQmk4MFNWcklkUmZqNnFPNVo4MVBtNUly?= =?utf-8?B?NVd1UHJlcHFURHMyS2hkVUlmVVF1QWlST0E0ZzN0SU5icWsrcFlXSzVTbHA1?= =?utf-8?B?elRpQ0JUK1ZqVVhTTHRlejZpcTltOFdwOWhmNHVxWVhJeGdlUHEwQjZvTHJ4?= =?utf-8?B?VUdSd0JVNzFSaURqQzNrRGVYdHpxQjJHU1BTUHl1Y0lmcXZCZGREM0NZMzZ0?= =?utf-8?B?U1Y4Y0VsU1hORzdFV0FXR1drY0xNd3hDMDVXMjF5eWtndGNhaEs1ZHdpSkdP?= =?utf-8?B?bjJWdUNnZzFKaklTcUNidTZTby9rOXU2enNlMUl6cUtBUFhwRkZ3cEt1MStZ?= =?utf-8?B?NE50N2l4VFMxU1ROaHlvRS83UE50ZUkxZU5SaUh5WkxCNUhlYVhwUzlsQU0w?= =?utf-8?B?QnVVUXpqYm8xV2E1N1VORlRmNzlUV2FHcS9hOUR0MTVnUmFoK3VieWNQZUNr?= =?utf-8?B?eDNXUXlCYmIvV0t4NmJJQmlUUjc0RWgrd0trUVpuT0UxNTlxVkl5YkJEcWJG?= =?utf-8?B?dC9ubzN0bFdjRDg0bEFJVzZmZXplN3N5ejlWc1lZaEhFNVQ3UDJ1RWJMV2hk?= =?utf-8?B?Z3dOanVhWXlSN1NNVzZUV0JDRWtHc2ZnbnN0V2ZTNkpUNVEwanliZ3lXZm5v?= =?utf-8?B?cS9MdmNXMnpLVTZsSTFuSmNFeXhsTjRPVjhpZlJ5QmFsQzYrMHlqMk5ZSit1?= =?utf-8?B?S3RVVlI3RTJxeWtXN3g0NnFET3pDVUpsSVNpc0tiUm5UYjF1R042eGZpNktO?= =?utf-8?B?TmlhTldDTTZmZHZ6bW9VSlBzZlRrdmExVHgwQ3MvUjBtcU5oQVh3QStFUm9D?= =?utf-8?B?RlhtSnBOLzdZOU9MQTdHNDFTUzdjYjVNdGdqOUQwWXV3Qm1lMUxDNkRuNzJN?= =?utf-8?Q?GwSkzdf6bz6Ksvo2rTkz?= X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 5248d95f-c7d6-4862-79d9-08dc25bbe6b4 X-MS-Exchange-CrossTenant-AuthSource: AS8P250MB0744.EURP250.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Feb 2024 20:00:14.1333 (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: AM8P250MB0230 Subject: Re: [FFmpeg-devel] [PATCH 16/24] avutil: remove deprecated FF_API_OLD_CHANNEL_LAYOUT 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: > Signed-off-by: James Almer > --- > diff --git a/libavutil/channel_layout.c b/libavutil/channel_layout.c > index b59d798f29..35b03078c8 100644 > --- a/libavutil/channel_layout.c > +++ b/libavutil/channel_layout.c > @@ -214,190 +214,6 @@ static const struct channel_layout_name channel_layout_map[] = { > { "22.2", AV_CHANNEL_LAYOUT_22POINT2, }, > }; > > -#if FF_API_OLD_CHANNEL_LAYOUT > -FF_DISABLE_DEPRECATION_WARNINGS > -static uint64_t get_channel_layout_single(const char *name, int name_len) > -{ > - int i; > - char *end; > - int64_t layout; > - > - for (i = 0; i < FF_ARRAY_ELEMS(channel_layout_map); i++) { > - if (strlen(channel_layout_map[i].name) == name_len && > - !memcmp(channel_layout_map[i].name, name, name_len)) > - return channel_layout_map[i].layout.u.mask; > - } > - for (i = 0; i < FF_ARRAY_ELEMS(channel_names); i++) > - if (channel_names[i].name && > - strlen(channel_names[i].name) == name_len && > - !memcmp(channel_names[i].name, name, name_len)) > - return (int64_t)1 << i; > - > - errno = 0; > - i = strtol(name, &end, 10); > - > - if (!errno && (end + 1 - name == name_len && *end == 'c')) > - return av_get_default_channel_layout(i); > - > - errno = 0; > - layout = strtoll(name, &end, 0); > - if (!errno && end - name == name_len) > - return FFMAX(layout, 0); > - return 0; > -} > - > -uint64_t av_get_channel_layout(const char *name) > -{ > - const char *n, *e; > - const char *name_end = name + strlen(name); > - int64_t layout = 0, layout_single; > - > - for (n = name; n < name_end; n = e + 1) { > - for (e = n; e < name_end && *e != '+' && *e != '|'; e++); > - layout_single = get_channel_layout_single(n, e - n); > - if (!layout_single) > - return 0; > - layout |= layout_single; > - } > - return layout; > -} > - > -int av_get_extended_channel_layout(const char *name, uint64_t* channel_layout, int* nb_channels) > -{ > - int nb = 0; > - char *end; > - uint64_t layout = av_get_channel_layout(name); > - > - if (layout) { > - *channel_layout = layout; > - *nb_channels = av_get_channel_layout_nb_channels(layout); > - return 0; > - } > - > - nb = strtol(name, &end, 10); > - if (!errno && *end == 'C' && *(end + 1) == '\0' && nb > 0 && nb < 64) { > - *channel_layout = 0; > - *nb_channels = nb; > - return 0; > - } > - > - return AVERROR(EINVAL); > -} > - > -void av_bprint_channel_layout(struct AVBPrint *bp, > - int nb_channels, uint64_t channel_layout) > -{ > - int i; > - > - if (nb_channels <= 0) > - nb_channels = av_get_channel_layout_nb_channels(channel_layout); > - > - for (i = 0; i < FF_ARRAY_ELEMS(channel_layout_map); i++) > - if (nb_channels == channel_layout_map[i].layout.nb_channels && > - channel_layout == channel_layout_map[i].layout.u.mask) { > - av_bprintf(bp, "%s", channel_layout_map[i].name); > - return; > - } > - > - av_bprintf(bp, "%d channels", nb_channels); > - if (channel_layout) { > - int i, ch; > - av_bprintf(bp, " ("); > - for (i = 0, ch = 0; i < 64; i++) { > - if ((channel_layout & (UINT64_C(1) << i))) { > - const char *name = get_channel_name(i); > - if (name) { > - if (ch > 0) > - av_bprintf(bp, "+"); > - av_bprintf(bp, "%s", name); > - } > - ch++; > - } > - } > - av_bprintf(bp, ")"); > - } > -} > - > -void av_get_channel_layout_string(char *buf, int buf_size, > - int nb_channels, uint64_t channel_layout) > -{ > - AVBPrint bp; > - > - av_bprint_init_for_buffer(&bp, buf, buf_size); > - av_bprint_channel_layout(&bp, nb_channels, channel_layout); > -} > - > -int av_get_channel_layout_nb_channels(uint64_t channel_layout) > -{ > - return av_popcount64(channel_layout); > -} > - > -int64_t av_get_default_channel_layout(int nb_channels) { > - int i; > - for (i = 0; i < FF_ARRAY_ELEMS(channel_layout_map); i++) > - if (nb_channels == channel_layout_map[i].layout.nb_channels) > - return channel_layout_map[i].layout.u.mask; > - return 0; > -} > - > -int av_get_channel_layout_channel_index(uint64_t channel_layout, > - uint64_t channel) > -{ > - if (!(channel_layout & channel) || > - av_get_channel_layout_nb_channels(channel) != 1) > - return AVERROR(EINVAL); > - channel_layout &= channel - 1; > - return av_get_channel_layout_nb_channels(channel_layout); > -} > - > -const char *av_get_channel_name(uint64_t channel) > -{ > - int i; > - if (av_get_channel_layout_nb_channels(channel) != 1) > - return NULL; > - for (i = 0; i < 64; i++) > - if ((1ULL< - return get_channel_name(i); This function is now unused after this patch and needs to be removed as well. > - return NULL; > -} > - > -const char *av_get_channel_description(uint64_t channel) > -{ > - int i; > - if (av_get_channel_layout_nb_channels(channel) != 1) > - return NULL; > - for (i = 0; i < FF_ARRAY_ELEMS(channel_names); i++) > - if ((1ULL< - return channel_names[i].description; > - return NULL; > -} > - > -uint64_t av_channel_layout_extract_channel(uint64_t channel_layout, int index) > -{ > - int i; > - > - if (av_get_channel_layout_nb_channels(channel_layout) <= index) > - return 0; > - > - for (i = 0; i < 64; i++) { > - if ((1ULL << i) & channel_layout && !index--) > - return 1ULL << i; > - } > - return 0; > -} > - > -int av_get_standard_channel_layout(unsigned index, uint64_t *layout, > - const char **name) > -{ > - if (index >= FF_ARRAY_ELEMS(channel_layout_map)) > - return AVERROR_EOF; > - if (layout) *layout = channel_layout_map[index].layout.u.mask; > - if (name) *name = channel_layout_map[index].name; > - return 0; > -} > -FF_ENABLE_DEPRECATION_WARNINGS > -#endif > - > int av_channel_layout_from_mask(AVChannelLayout *channel_layout, > uint64_t mask) > { _______________________________________________ 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".