From patchwork Wed Aug 16 15:44:26 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Zhao Zhili X-Patchwork-Id: 43238 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a20:4c9d:b0:130:ccc6:6c4b with SMTP id fq29csp1345143pzb; Wed, 16 Aug 2023 08:44:53 -0700 (PDT) X-Google-Smtp-Source: AGHT+IEoZACxFVvateUtPbsrY9VxBztnrVkqTrhsB9Vs8qXyWz6sgO30qTSnLXPu4HAwtl639WjY X-Received: by 2002:a17:906:7491:b0:99b:ed8d:de4 with SMTP id e17-20020a170906749100b0099bed8d0de4mr1882986ejl.20.1692200693245; Wed, 16 Aug 2023 08:44:53 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1692200693; cv=none; d=google.com; s=arc-20160816; b=Tk1z/TsnsOZ1nSVpwgn/Kanu8W2BlFXl567E4OE+lnrOokghjRI2xv6S8Aocov6uYz CH1SSKKwPBL+U0kclPGTtWcxk/zlLsqu4jZUoH78T3nKnHvdyKQ+u5A4Ump9GnHrvelR TKob9DIAF3/OCpX03PQGU1xRkRkEYc+KBJOjlO/LBAA/3T5LPzQFvtVsC2JC1Q3aNYAn fDYT0ep5WxVrlzwTMp0odwW7UQNQQl0Yt3ro2Vga6rZEqaeYJDkWltIZGhnFc9PkrzdV o7K2TOCKtB2hyUfx7JbFzniOcF19KLJ+ZzaxUniODRYJl4NyAVB4fGbwrAg1yk7o+mQd 3rOg== 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 :list-subscribe:list-help:list-post:list-archive:list-unsubscribe :list-id:precedence:subject:mime-version:date:to:from:message-id :dkim-signature:delivered-to; bh=hB+eN0tDSz5N4wcceXDlq6ESf1/GVp0Xy9FFaEs80R0=; fh=fgsEC5uuZOuzV7r9mTXgvURIGbxpRO08JRnNlycBIXw=; b=rROstX/57ORubb/yrHkB2kNVTWWrgC/ma73DtRXZVkrHusQSWi0pHGR73SB09gRMMb 2S/3JP08YViw5WzZ5xJiiiC8PBGZUD0INyo3IG4WHZyYtOc7I4cwjbyqNeXctiXG+B+s inrgjiZ7lskE0k1KwEJHiZaiiJJKSGpupERTSASHQXGvkr9tyhtzBuFQDcK4gt4WpXJe Mw/S3iZlwqq+OPSbO1qt/ms6RexdSCM0S/AM5GK4D28PFuxXChdKz2+uusAGqbpPlcZC 7hY+nkQS2nlYO/LqKK3F3w8JG48vkoLPi/3WXwQi3VAJdVdpAgxbiNTOMjtWW94sKfhg cpEg== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@foxmail.com header.s=s201512 header.b=ch3EFiaK; 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; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=foxmail.com Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id x21-20020a170906135500b00992abdccff6si11131390ejb.576.2023.08.16.08.44.51; Wed, 16 Aug 2023 08:44:53 -0700 (PDT) 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; dkim=neutral (body hash did not verify) header.i=@foxmail.com header.s=s201512 header.b=ch3EFiaK; 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; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=foxmail.com Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 9511968C68A; Wed, 16 Aug 2023 18:44:47 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from out203-205-221-221.mail.qq.com (out203-205-221-221.mail.qq.com [203.205.221.221]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id AEA2A68C0A3 for ; Wed, 16 Aug 2023 18:44:39 +0300 (EEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=foxmail.com; s=s201512; t=1692200670; bh=sH3l7C/GDdgnoyUEP29/V2zzNjS9myFUP9/If441Pmk=; h=From:To:Cc:Subject:Date; b=ch3EFiaKGlmi37xbKS1zNOabGw6Ct0UImzx32NOhG7mH+IXNo9HCM871stm6osGAe KNGItZR9YAOe3UxYWv0zZK5VY5+xAL5xGnNBj+RVOG4Ya/xQT1BXGNs16h4VqnOaPp RxWP8lGUoDoQ+duolcbR1mdePr6N7xQBEsuQmKyo= Received: from ZHILIZHAO-PC4.localdomain ([113.118.105.198]) by newxmesmtplogicsvrsza12-0.qq.com (NewEsmtp) with SMTP id B1D10ABA; Wed, 16 Aug 2023 23:44:29 +0800 X-QQ-mid: xmsmtpt1692200669t43lku39e Message-ID: X-QQ-XMAILINFO: OUMxvQDaATieaSMo1FCLiTU8PjXDTqLEvoFLXZGjQz/i7X4FzxJupjFIPRj4vF AFS5hWeJOl5ZEcs9i0t7ImrIjYp/GdJDzgOFcJkjUVCKLk5ceEYJfiJMPnpCueGBMcyjmw1NEXep MpfoI6oy33rH4DSsBR9F2n9LbpmpH9BO1IRvzpLMFiqZRGB11i+fRVGqyolN1ys9mXYL0oh2HNnD Xp78CqICV90FzmPLaI5yXDMHTxDH7Ku0nDp0su5ZcxV8B/mItOhyUryPX7b3WnH9AeMQmSoTJIPq FLfCOMRgCIdF8Nfx/CMGczfRk0CX0GNdFe55oOaUtnjsz5aDUonncVNLxtS7xmKjN9Sh1iaPZyvk tM349kUaSQbmvSbKaHXG/1UiYIL9A/EUJCpuRZK9SGokTu+Oipe2z5dFIyZ8J6GMSaPTQz6gjRZn 9HMKYEqSEf8Il1j5au9aDhk5CnA6p0gbsFi4sjxfdVPTGWxoOdmtbACd4JyIOWJiDNn5uSj+2oZI yloAbfkSwV00JhBE4BcE+6EIrm1bn5tDP//YJFJ67YGjWANUmMbgV4jpRamT80Mrs2dU9p8RhsEO zBbmS13rcdtN3UBlBv1zqz6lYljjN+Xvf8fy4OpGLL7puGYi9HoV0YClLYE2whtpvvpQNPtVfa6V RO+pfIuxafBsZ+5CLaRucELmVJIT+BtdnFwAsiQWUU0khSrvwMiVZsQB7IkXNphhnup0QV4YRULZ uvCq/1eS0uMLzp96n8pE9LcqXIjt7lA5M58VFLLzgx9rsqrvHPgLurlmuW5EBFRxfyTSiRAw42MG oD/xlunonqz4iojRW+Kpkcm9Z5y7+0MTSJiJxyuybJq87XPZ+GiwZH9KOFlsIyYucdXNDPSA92lf 2FJDAK+AcWMkFNGje2Oway6wfzuCW+RpAx7ZR3yj9328YDzGNl+VQ4pvIUf+jaey4Iv4kqzcGHsM VBEAcnnVusEhm9CSN1PcaJWgdOGOq3/02opsH/Mfg= X-QQ-XMRINFO: NS+P29fieYNw95Bth2bWPxk= From: Zhao Zhili To: ffmpeg-devel@ffmpeg.org Date: Wed, 16 Aug 2023 23:44:26 +0800 X-OQ-MSGID: <20230816154426.3128-1-quinkblack@foxmail.com> X-Mailer: git-send-email 2.34.1 MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH] avutil/channel_layout: make pre-defined channel layouts C++ friendly 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 Cc: Zhao Zhili Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: iCnEw8et9BG6 From: Zhao Zhili C++ doesn't support designated initializers until C++20. We have a bunch of pre-defined channel layouts, the gains to make them usable in C++ exceed the losses. Signed-off-by: Zhao Zhili --- libavutil/channel_layout.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/libavutil/channel_layout.h b/libavutil/channel_layout.h index f345415c55..817a5ad370 100644 --- a/libavutil/channel_layout.h +++ b/libavutil/channel_layout.h @@ -359,7 +359,7 @@ typedef struct AVChannelLayout { } AVChannelLayout; #define AV_CHANNEL_LAYOUT_MASK(nb, m) \ - { .order = AV_CHANNEL_ORDER_NATIVE, .nb_channels = (nb), .u = { .mask = (m) }} + { AV_CHANNEL_ORDER_NATIVE, (nb), { m }, NULL } /** * @name Common pre-defined channel layouts @@ -397,7 +397,7 @@ typedef struct AVChannelLayout { #define AV_CHANNEL_LAYOUT_STEREO_DOWNMIX AV_CHANNEL_LAYOUT_MASK(2, AV_CH_LAYOUT_STEREO_DOWNMIX) #define AV_CHANNEL_LAYOUT_22POINT2 AV_CHANNEL_LAYOUT_MASK(24, AV_CH_LAYOUT_22POINT2) #define AV_CHANNEL_LAYOUT_AMBISONIC_FIRST_ORDER \ - { .order = AV_CHANNEL_ORDER_AMBISONIC, .nb_channels = 4, .u = { .mask = 0 }} + { AV_CHANNEL_ORDER_AMBISONIC, 4, { 0 }, NULL } /** @} */ struct AVBPrint;