From patchwork Sat Aug 1 11:07:24 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: =?utf-8?q?Jan_Ekstr=C3=B6m?= X-Patchwork-Id: 21415 Return-Path: X-Original-To: patchwork@ffaux-bg.ffmpeg.org Delivered-To: patchwork@ffaux-bg.ffmpeg.org Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org [79.124.17.100]) by ffaux.localdomain (Postfix) with ESMTP id 56B1844930D for ; Sat, 1 Aug 2020 14:14:14 +0300 (EEST) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 3D394689734; Sat, 1 Aug 2020 14:14:14 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-ed1-f41.google.com (mail-ed1-f41.google.com [209.85.208.41]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id C3535689734 for ; Sat, 1 Aug 2020 14:14:07 +0300 (EEST) Received: by mail-ed1-f41.google.com with SMTP id bs17so5295149edb.1 for ; Sat, 01 Aug 2020 04:14:07 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=jQ37SjFs5JtKSBCNwV4Xk+PbRmAi+krmRWJsq9yQ5K4=; b=Jst51QXDCusdtpHY2lp4ydMa6EpjCMr4yOPd5enaFKeAuvncxhYHk8HmWzYWff3jW6 F+pDsf+b8eh6BWEY//aUaN7WiLp7UV9Lkvheih7rvh56n+QLR2BcQsf5VmnJsT3ViGjv WB+fODL3KaToh6+SRhMCWHa1OAe42YmzZ3eMGtLlYccTE5GH9Qt5MWVefg9cHVViHDm0 M1mtI3pUy7Cxg2PJzZEIvHvsiE2K3fYGpbIJJFkgyE6YAADQRTFiheMJ8Wq2BydVztZS szlbOG4UH0K8q1nkB12y1uGIzgwREAB38hddYzsIqOs0L+5XAGpry80BeEmGfTri8PGz ZNxA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=jQ37SjFs5JtKSBCNwV4Xk+PbRmAi+krmRWJsq9yQ5K4=; b=kgQZdnA9idhN8H8J1m3TnL23mHRfS3GCy6IvoYg0x/odxsaQK2YDd/Qga/Llqefjux 5jCcdKu9vZq7ZFKspCh7tvX0J0vwB9GtK+YvF9YV5aD/6GUQcW6yEWVU+P2s5OtZH/P3 nECa/lm/KwBI6a3qk3mGtebTFjxaQo1I8twnGVvWjipkTGBsAjfx6fhmajkDMafEniAy Et3R2pJXkzfe9yLhKKZ8kzlEr2uDNZ8NVCa+L+8Nll7+kqTWPI/2mOxzoFmfTlIsC4be nT3saVJP3UtWWc2RFNe6sXlUFi/MJB/L8u85KPvIh8Kceyg+FgWTG4uBo3MKShQ7F1H3 NqqA== X-Gm-Message-State: AOAM532GAhRCirjqnoTuF2raTfHDtvqmWq46YGyxUf/1QmNE2SwosLDa 4s5HKbGchPIX4vRLR2NKnxqQd569 X-Google-Smtp-Source: ABdhPJwW3M6/qE/mvF38cr5n3OscIu2zMhVT6VUmcyo4nVnY84P18vIrprVntYeCf+N9w7fU7eYAeQ== X-Received: by 2002:a2e:9156:: with SMTP id q22mr3992739ljg.348.1596280053812; Sat, 01 Aug 2020 04:07:33 -0700 (PDT) Received: from localhost.localdomain (91-159-194-103.elisa-laajakaista.fi. [91.159.194.103]) by smtp.gmail.com with ESMTPSA id f24sm2694045ljc.99.2020.08.01.04.07.32 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 01 Aug 2020 04:07:32 -0700 (PDT) From: =?utf-8?q?Jan_Ekstr=C3=B6m?= To: ffmpeg-devel@ffmpeg.org Date: Sat, 1 Aug 2020 14:07:24 +0300 Message-Id: <20200801110730.30642-2-jeebjp@gmail.com> X-Mailer: git-send-email 2.26.2 In-Reply-To: <20200801110730.30642-1-jeebjp@gmail.com> References: <20200729113952.14574-1-jeebjp@gmail.com> <20200801110730.30642-1-jeebjp@gmail.com> MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH 1/7] avutil/channel_layout: add 22.2 layout X-BeenThere: ffmpeg-devel@ffmpeg.org X-Mailman-Version: 2.1.20 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 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" Requires some extraneous top side and bottom front channels to be defined. According to STD-B59v2, the defined channel layout is: - FL - FR - FC - LFE1 - BL - BR - FLc - FRc - BC - LFE2 - SiL - SiR - TpFL - TpFR - TpFC - TpC - TpBL - TpBR - TpSiL - TpSiR - TpBC - BtFC - BtFL - BtFR --- doc/APIchanges | 5 +++++ libavutil/channel_layout.c | 6 ++++++ libavutil/channel_layout.h | 6 ++++++ libavutil/version.h | 2 +- 4 files changed, 18 insertions(+), 1 deletion(-) diff --git a/doc/APIchanges b/doc/APIchanges index 72a4833fbc..d839b2c413 100644 --- a/doc/APIchanges +++ b/doc/APIchanges @@ -15,6 +15,11 @@ libavutil: 2017-10-21 API changes, most recent first: +2020-06-16 - xxxxxxxxxx - lavu 56.58.100 - channel_layout.h + Add AV_CH_LAYOUT_22POINT2 together with its newly required pieces: + AV_CH_TOP_SIDE_LEFT, AV_CH_TOP_SIDE_RIGHT, AV_CH_BOTTOM_FRONT_LEFT, + AV_CH_BOTTOM_FRONT_CENTER, AV_CH_BOTTOM_FRONT_RIGHT. + 2020-07-xx - xxxxxxxxxx - lavu 56.57.100 - cpu.h Add AV_CPU_FLAG_MMI and AV_CPU_FLAG_MSA. diff --git a/libavutil/channel_layout.c b/libavutil/channel_layout.c index 3bd5ee29b7..d6bfc74927 100644 --- a/libavutil/channel_layout.c +++ b/libavutil/channel_layout.c @@ -62,6 +62,11 @@ static const struct channel_name channel_names[] = { [33] = { "SDL", "surround direct left" }, [34] = { "SDR", "surround direct right" }, [35] = { "LFE2", "low frequency 2" }, + [36] = { "TSL", "top side left" }, + [37] = { "TSR", "top side right" }, + [38] = { "BFL", "bottom front left" }, + [39] = { "BFC", "bottom front center" }, + [40] = { "BFR", "bottom front right" }, }; static const char *get_channel_name(int channel_id) @@ -104,6 +109,7 @@ static const struct { { "octagonal", 8, AV_CH_LAYOUT_OCTAGONAL }, { "hexadecagonal", 16, AV_CH_LAYOUT_HEXADECAGONAL }, { "downmix", 2, AV_CH_LAYOUT_STEREO_DOWNMIX, }, + { "22.2", 24, AV_CH_LAYOUT_22POINT2, }, }; static uint64_t get_channel_layout_single(const char *name, int name_len) diff --git a/libavutil/channel_layout.h b/libavutil/channel_layout.h index 50bb8f03c5..43297505cb 100644 --- a/libavutil/channel_layout.h +++ b/libavutil/channel_layout.h @@ -71,6 +71,11 @@ #define AV_CH_SURROUND_DIRECT_LEFT 0x0000000200000000ULL #define AV_CH_SURROUND_DIRECT_RIGHT 0x0000000400000000ULL #define AV_CH_LOW_FREQUENCY_2 0x0000000800000000ULL +#define AV_CH_TOP_SIDE_LEFT 0x0000001000000000ULL +#define AV_CH_TOP_SIDE_RIGHT 0x0000002000000000ULL +#define AV_CH_BOTTOM_FRONT_LEFT 0x0000004000000000ULL +#define AV_CH_BOTTOM_FRONT_CENTER 0x0000008000000000ULL +#define AV_CH_BOTTOM_FRONT_RIGHT 0x0000010000000000ULL /** Channel mask value used for AVCodecContext.request_channel_layout to indicate that the user requests the channel order of the decoder output @@ -110,6 +115,7 @@ #define AV_CH_LAYOUT_OCTAGONAL (AV_CH_LAYOUT_5POINT0|AV_CH_BACK_LEFT|AV_CH_BACK_CENTER|AV_CH_BACK_RIGHT) #define AV_CH_LAYOUT_HEXADECAGONAL (AV_CH_LAYOUT_OCTAGONAL|AV_CH_WIDE_LEFT|AV_CH_WIDE_RIGHT|AV_CH_TOP_BACK_LEFT|AV_CH_TOP_BACK_RIGHT|AV_CH_TOP_BACK_CENTER|AV_CH_TOP_FRONT_CENTER|AV_CH_TOP_FRONT_LEFT|AV_CH_TOP_FRONT_RIGHT) #define AV_CH_LAYOUT_STEREO_DOWNMIX (AV_CH_STEREO_LEFT|AV_CH_STEREO_RIGHT) +#define AV_CH_LAYOUT_22POINT2 (AV_CH_LAYOUT_5POINT1_BACK|AV_CH_FRONT_LEFT_OF_CENTER|AV_CH_FRONT_RIGHT_OF_CENTER|AV_CH_BACK_CENTER|AV_CH_LOW_FREQUENCY_2|AV_CH_SIDE_LEFT|AV_CH_SIDE_RIGHT|AV_CH_TOP_FRONT_LEFT|AV_CH_TOP_FRONT_RIGHT|AV_CH_TOP_FRONT_CENTER|AV_CH_TOP_CENTER|AV_CH_TOP_BACK_LEFT|AV_CH_TOP_BACK_RIGHT|AV_CH_TOP_SIDE_LEFT|AV_CH_TOP_SIDE_RIGHT|AV_CH_TOP_BACK_CENTER|AV_CH_BOTTOM_FRONT_CENTER|AV_CH_BOTTOM_FRONT_LEFT|AV_CH_BOTTOM_FRONT_RIGHT) enum AVMatrixEncoding { AV_MATRIX_ENCODING_NONE, diff --git a/libavutil/version.h b/libavutil/version.h index 975fb87f31..3e7e1f410b 100644 --- a/libavutil/version.h +++ b/libavutil/version.h @@ -79,7 +79,7 @@ */ #define LIBAVUTIL_VERSION_MAJOR 56 -#define LIBAVUTIL_VERSION_MINOR 57 +#define LIBAVUTIL_VERSION_MINOR 58 #define LIBAVUTIL_VERSION_MICRO 100 #define LIBAVUTIL_VERSION_INT AV_VERSION_INT(LIBAVUTIL_VERSION_MAJOR, \