From patchwork Wed Jul 29 11:39:48 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: 21357 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 79AB744B092 for ; Wed, 29 Jul 2020 14:45:11 +0300 (EEST) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 58FBC68B9BA; Wed, 29 Jul 2020 14:45:11 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-lj1-f176.google.com (mail-lj1-f176.google.com [209.85.208.176]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 25DF968B97F for ; Wed, 29 Jul 2020 14:45:05 +0300 (EEST) Received: by mail-lj1-f176.google.com with SMTP id 185so14460686ljj.7 for ; Wed, 29 Jul 2020 04:45:05 -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=TsL8ppJc0Sm+q7PnWaKMWadfxgSvHd+kbkUeOcuuNjtgKjWyPBXD07rD8Os7ZtX1pw tX7sZD6TINkP30JyxUPXuRZVA+iGrhBzONe5y/dCJzjgkGxJaP9fyCOQy+yikXg/Y1dN 9eDT7slR1hj9fVS8SbzxlRlgzAtPHjCNUtMURsxDPQsUXVcR1yDyJNMtRe7GaTu8tKWY hCCw8ubVty91VT1izfVewTHDUkgFWvUzS+TxvIbwFl6rjMnIcfHOi/ZoK3bIHriZ3Obe Q24vkZHhFgriyFAYXgfpTp8JPdWKMqyHi/fM/AZjv4gFwvdO/G33S6EDEAxPdlNaCIji Sjiw== 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=SOw1AcJF2+EQ4mNHnAnv/07Zxs2xHFaQE1rjbE/1VHPv3XOXEdtY81CHJsN5zmK+Ha bJ83L7YL2eq0fk4867GRNMpLC32MLxZSyN23WMQ5HJHYX0ohe7E3e9GnZpzxSLK6NL18 RVMuNUbyjh76lxpC/0WMbnJctDyiq7kt6IJYZ29/APH9X7jivR2wAjx0IQf99bCYDKo+ eZQUzUK5mH5DimUcIUrFr5rAsTMheHAXes5w/lQNKeT2jD25L5KyrBQuOg54BIsjDm28 PKO6+xCoPDA4O5+oNLu7gEfPOBkv27JfdRoPt8Vpsn0tluud3eHwQd083IMgW1FQlgsO INlw== X-Gm-Message-State: AOAM532yAgatzpt7/nIs/ZrkHsNhIwIEmoI6IQ0B9qd+WCGL293FTCBP 6NO8GjhMLtl7fCZI5RrD2yLNy7e9 X-Google-Smtp-Source: ABdhPJwQNCM04jZDclyJu04rO8WMZvHs7UYQrGIncVxMLvScwM8xyuVr/7rsji8fEug+6hjYYeTTYA== X-Received: by 2002:a2e:8144:: with SMTP id t4mr15276683ljg.226.1596022794606; Wed, 29 Jul 2020 04:39:54 -0700 (PDT) Received: from localhost.localdomain (91-159-194-103.elisa-laajakaista.fi. [91.159.194.103]) by smtp.gmail.com with ESMTPSA id n3sm347003ljj.39.2020.07.29.04.39.53 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 29 Jul 2020 04:39:53 -0700 (PDT) From: =?utf-8?q?Jan_Ekstr=C3=B6m?= To: ffmpeg-devel@ffmpeg.org Date: Wed, 29 Jul 2020 14:39:48 +0300 Message-Id: <20200729113952.14574-2-jeebjp@gmail.com> X-Mailer: git-send-email 2.26.2 In-Reply-To: <20200729113952.14574-1-jeebjp@gmail.com> References: <20200616210253.7169-1-jeebjp@gmail.com> <20200729113952.14574-1-jeebjp@gmail.com> MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH 1/5] 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, \