17777dab0Sopenharmony_ci/* 27777dab0Sopenharmony_ci * Copyright (C) 2023 Huawei Device Co., Ltd. 37777dab0Sopenharmony_ci * Licensed under the Apache License, Version 2.0 (the "License"); 47777dab0Sopenharmony_ci * you may not use this file except in compliance with the License. 57777dab0Sopenharmony_ci * You may obtain a copy of the License at 67777dab0Sopenharmony_ci * 77777dab0Sopenharmony_ci * http://www.apache.org/licenses/LICENSE-2.0 87777dab0Sopenharmony_ci * 97777dab0Sopenharmony_ci * Unless required by applicable law or agreed to in writing, software 107777dab0Sopenharmony_ci * distributed under the License is distributed on an "AS IS" BASIS, 117777dab0Sopenharmony_ci * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 127777dab0Sopenharmony_ci * See the License for the specific language governing permissions and 137777dab0Sopenharmony_ci * limitations under the License. 147777dab0Sopenharmony_ci */ 157777dab0Sopenharmony_ci 167777dab0Sopenharmony_ci/** 177777dab0Sopenharmony_ci * @addtogroup MediaFoundation 187777dab0Sopenharmony_ci * @{ 197777dab0Sopenharmony_ci * 207777dab0Sopenharmony_ci * @brief Provides APIs for media foundation. 217777dab0Sopenharmony_ci * 227777dab0Sopenharmony_ci * @since 11 237777dab0Sopenharmony_ci */ 247777dab0Sopenharmony_ci 257777dab0Sopenharmony_ci/** 267777dab0Sopenharmony_ci * @file native_audio_channel_layout.h 277777dab0Sopenharmony_ci * 287777dab0Sopenharmony_ci * @brief The channel layout indicates the appearance and order of the speakers for recording or playback. 297777dab0Sopenharmony_ci * 307777dab0Sopenharmony_ci * @kit AVCodecKit 317777dab0Sopenharmony_ci * @library NA 327777dab0Sopenharmony_ci * @syscap SystemCapability.Multimedia.Media.Core 337777dab0Sopenharmony_ci * @since 11 347777dab0Sopenharmony_ci */ 357777dab0Sopenharmony_ci 367777dab0Sopenharmony_ci#ifndef NATIVE_AUDIO_CHANNEL_LAYOUT_H 377777dab0Sopenharmony_ci#define NATIVE_AUDIO_CHANNEL_LAYOUT_H 387777dab0Sopenharmony_ci 397777dab0Sopenharmony_ci#include <stdint.h> 407777dab0Sopenharmony_ci 417777dab0Sopenharmony_ci#ifdef __cplusplus 427777dab0Sopenharmony_ciextern "C" { 437777dab0Sopenharmony_ci#endif 447777dab0Sopenharmony_ci 457777dab0Sopenharmony_ci/** 467777dab0Sopenharmony_ci * @brief Audio Channel Set 477777dab0Sopenharmony_ci * 487777dab0Sopenharmony_ci * A 64-bit integer with bits set for each channel. 497777dab0Sopenharmony_ci * @syscap SystemCapability.Multimedia.Media.Core 507777dab0Sopenharmony_ci * @since 11 517777dab0Sopenharmony_ci */ 527777dab0Sopenharmony_citypedef enum OH_AudioChannelSet { 537777dab0Sopenharmony_ci /** Channel set For FRONT-LEFT position */ 547777dab0Sopenharmony_ci CH_SET_FRONT_LEFT = 1ULL << 0U, 557777dab0Sopenharmony_ci 567777dab0Sopenharmony_ci /** Channel set For FRONT_RIGHT position */ 577777dab0Sopenharmony_ci CH_SET_FRONT_RIGHT = 1ULL << 1U, 587777dab0Sopenharmony_ci 597777dab0Sopenharmony_ci /** Channel set For FRONT_CENTER position */ 607777dab0Sopenharmony_ci CH_SET_FRONT_CENTER = 1ULL << 2U, 617777dab0Sopenharmony_ci 627777dab0Sopenharmony_ci /** Channel set For LOW_FREQUENCY position */ 637777dab0Sopenharmony_ci CH_SET_LOW_FREQUENCY = 1ULL << 3U, 647777dab0Sopenharmony_ci 657777dab0Sopenharmony_ci /** Channel set For BACK_LEFT position */ 667777dab0Sopenharmony_ci CH_SET_BACK_LEFT = 1ULL << 4U, 677777dab0Sopenharmony_ci 687777dab0Sopenharmony_ci /** Channel set For BACK_RIGHT position */ 697777dab0Sopenharmony_ci CH_SET_BACK_RIGHT = 1ULL << 5U, 707777dab0Sopenharmony_ci 717777dab0Sopenharmony_ci /** Channel set For FRONT_LEFT_OF_CENTER position */ 727777dab0Sopenharmony_ci CH_SET_FRONT_LEFT_OF_CENTER = 1ULL << 6U, 737777dab0Sopenharmony_ci 747777dab0Sopenharmony_ci /** Channel set For FRONT_RIGHT_OF_CENTER position */ 757777dab0Sopenharmony_ci CH_SET_FRONT_RIGHT_OF_CENTER = 1ULL << 7U, 767777dab0Sopenharmony_ci 777777dab0Sopenharmony_ci /** Channel set For BACK_CENTER position */ 787777dab0Sopenharmony_ci CH_SET_BACK_CENTER = 1ULL << 8U, 797777dab0Sopenharmony_ci 807777dab0Sopenharmony_ci /** Channel set For SIDE_LEFT position */ 817777dab0Sopenharmony_ci CH_SET_SIDE_LEFT = 1ULL << 9U, 827777dab0Sopenharmony_ci 837777dab0Sopenharmony_ci /** Channel set For SIDE_RIGHT position */ 847777dab0Sopenharmony_ci CH_SET_SIDE_RIGHT = 1ULL << 10U, 857777dab0Sopenharmony_ci 867777dab0Sopenharmony_ci /** Channel set For TOP_CENTER position */ 877777dab0Sopenharmony_ci CH_SET_TOP_CENTER = 1ULL << 11U, 887777dab0Sopenharmony_ci 897777dab0Sopenharmony_ci /** Channel set For TOP_FRONT_LEFT position */ 907777dab0Sopenharmony_ci CH_SET_TOP_FRONT_LEFT = 1ULL << 12U, 917777dab0Sopenharmony_ci 927777dab0Sopenharmony_ci /** Channel set For TOP_FRONT_CENTER position */ 937777dab0Sopenharmony_ci CH_SET_TOP_FRONT_CENTER = 1ULL << 13U, 947777dab0Sopenharmony_ci 957777dab0Sopenharmony_ci /** Channel set For TOP_FRONT_RIGHT position */ 967777dab0Sopenharmony_ci CH_SET_TOP_FRONT_RIGHT = 1ULL << 14U, 977777dab0Sopenharmony_ci 987777dab0Sopenharmony_ci /** Channel set For TOP_BACK_LEFT position */ 997777dab0Sopenharmony_ci CH_SET_TOP_BACK_LEFT = 1ULL << 15U, 1007777dab0Sopenharmony_ci 1017777dab0Sopenharmony_ci /** Channel set For TOP_BACK_CENTER position */ 1027777dab0Sopenharmony_ci CH_SET_TOP_BACK_CENTER = 1ULL << 16U, 1037777dab0Sopenharmony_ci 1047777dab0Sopenharmony_ci /** Channel set For TOP_BACK_RIGHT position */ 1057777dab0Sopenharmony_ci CH_SET_TOP_BACK_RIGHT = 1ULL << 17U, 1067777dab0Sopenharmony_ci 1077777dab0Sopenharmony_ci /** Channel set For STEREO_LEFT position */ 1087777dab0Sopenharmony_ci CH_SET_STEREO_LEFT = 1ULL << 29U, 1097777dab0Sopenharmony_ci 1107777dab0Sopenharmony_ci /** Channel set For STEREO_RIGHT position */ 1117777dab0Sopenharmony_ci CH_SET_STEREO_RIGHT = 1ULL << 30U, 1127777dab0Sopenharmony_ci 1137777dab0Sopenharmony_ci /** Channel set For WIDE_LEFT position */ 1147777dab0Sopenharmony_ci CH_SET_WIDE_LEFT = 1ULL << 31U, 1157777dab0Sopenharmony_ci 1167777dab0Sopenharmony_ci /** Channel set For WIDE_RIGHT position */ 1177777dab0Sopenharmony_ci CH_SET_WIDE_RIGHT = 1ULL << 32U, 1187777dab0Sopenharmony_ci 1197777dab0Sopenharmony_ci /** Channel set For SURROUND_DIRECT_LEFT position */ 1207777dab0Sopenharmony_ci CH_SET_SURROUND_DIRECT_LEFT = 1ULL << 33U, 1217777dab0Sopenharmony_ci 1227777dab0Sopenharmony_ci /** Channel set For SURROUND_DIRECT_RIGHT position */ 1237777dab0Sopenharmony_ci CH_SET_SURROUND_DIRECT_RIGHT = 1ULL << 34U, 1247777dab0Sopenharmony_ci 1257777dab0Sopenharmony_ci /** Channel set For LOW_FREQUENCY_2 position */ 1267777dab0Sopenharmony_ci CH_SET_LOW_FREQUENCY_2 = 1ULL << 35U, 1277777dab0Sopenharmony_ci 1287777dab0Sopenharmony_ci /** Channel set For TOP_SIDE_LEFT position */ 1297777dab0Sopenharmony_ci CH_SET_TOP_SIDE_LEFT = 1ULL << 36U, 1307777dab0Sopenharmony_ci 1317777dab0Sopenharmony_ci /** Channel set For TOP_SIDE_RIGHT position */ 1327777dab0Sopenharmony_ci CH_SET_TOP_SIDE_RIGHT = 1ULL << 37U, 1337777dab0Sopenharmony_ci 1347777dab0Sopenharmony_ci /** Channel set For BOTTOM_FRONT_CENTER position */ 1357777dab0Sopenharmony_ci CH_SET_BOTTOM_FRONT_CENTER = 1ULL << 38U, 1367777dab0Sopenharmony_ci 1377777dab0Sopenharmony_ci /** Channel set For BOTTOM_FRONT_LEFT position */ 1387777dab0Sopenharmony_ci CH_SET_BOTTOM_FRONT_LEFT = 1ULL << 39U, 1397777dab0Sopenharmony_ci 1407777dab0Sopenharmony_ci /** Channel set For BOTTOM_FRONT_RIGHT position */ 1417777dab0Sopenharmony_ci CH_SET_BOTTOM_FRONT_RIGHT = 1ULL << 40U 1427777dab0Sopenharmony_ci} OH_AudioChannelSet; 1437777dab0Sopenharmony_ci 1447777dab0Sopenharmony_ci/** 1457777dab0Sopenharmony_ci * @brief Ambisonic attribute set. 1467777dab0Sopenharmony_ci * 1477777dab0Sopenharmony_ci * A set of 64-bit integers indicate the ambisonic attributes. 1487777dab0Sopenharmony_ci * @syscap SystemCapability.Multimedia.Media.Core 1497777dab0Sopenharmony_ci * @since 11 1507777dab0Sopenharmony_ci */ 1517777dab0Sopenharmony_citypedef enum OH_AmbAttributeSet { 1527777dab0Sopenharmony_ci /** Ambisonic attribute: order 1 */ 1537777dab0Sopenharmony_ci AMB_ORD_1 = 1ULL << 0U, 1547777dab0Sopenharmony_ci 1557777dab0Sopenharmony_ci /** Ambisonic attribute: order 2 */ 1567777dab0Sopenharmony_ci AMB_ORD_2 = 2ULL << 0U, 1577777dab0Sopenharmony_ci 1587777dab0Sopenharmony_ci /** Ambisonic attribute: order 3 */ 1597777dab0Sopenharmony_ci AMB_ORD_3 = 3ULL << 0U, 1607777dab0Sopenharmony_ci 1617777dab0Sopenharmony_ci /** Ambisonic attribute: ACN Component Ordering */ 1627777dab0Sopenharmony_ci AMB_COM_ACN = 0ULL << 8U, 1637777dab0Sopenharmony_ci 1647777dab0Sopenharmony_ci /** Ambisonic attribute: FUMA Component Ordering */ 1657777dab0Sopenharmony_ci AMB_COM_FUMA = 1ULL << 8U, 1667777dab0Sopenharmony_ci 1677777dab0Sopenharmony_ci /** Ambisonic attribute: N3D Normalization */ 1687777dab0Sopenharmony_ci AMB_NOR_N3D = 0ULL << 12U, 1697777dab0Sopenharmony_ci 1707777dab0Sopenharmony_ci /** Ambisonic attribute: SN3D Normalization */ 1717777dab0Sopenharmony_ci AMB_NOR_SN3D = 1ULL << 12U, 1727777dab0Sopenharmony_ci 1737777dab0Sopenharmony_ci /** Channel layout: Ambisonic mode */ 1747777dab0Sopenharmony_ci AMB_MODE = 1ULL << 44U 1757777dab0Sopenharmony_ci} OH_AmbAttributeSet; 1767777dab0Sopenharmony_ci 1777777dab0Sopenharmony_ci/** 1787777dab0Sopenharmony_ci * @brief Audio Channel Layout 1797777dab0Sopenharmony_ci * 1807777dab0Sopenharmony_ci * A 64-bit integer indicates that the appearance and order of the speakers for recording or playback. 1817777dab0Sopenharmony_ci * @syscap SystemCapability.Multimedia.Media.Core 1827777dab0Sopenharmony_ci * @since 11 1837777dab0Sopenharmony_ci */ 1847777dab0Sopenharmony_citypedef enum OH_AudioChannelLayout { 1857777dab0Sopenharmony_ci /** Unknown Channel Layout */ 1867777dab0Sopenharmony_ci CH_LAYOUT_UNKNOWN = 0ULL, 1877777dab0Sopenharmony_ci 1887777dab0Sopenharmony_ci /** Channel Layout For Mono, 1 channel in total */ 1897777dab0Sopenharmony_ci CH_LAYOUT_MONO = CH_SET_FRONT_CENTER, 1907777dab0Sopenharmony_ci 1917777dab0Sopenharmony_ci /** Channel Layout For Stereo, 2 channels in total */ 1927777dab0Sopenharmony_ci CH_LAYOUT_STEREO = CH_SET_FRONT_LEFT | CH_SET_FRONT_RIGHT, 1937777dab0Sopenharmony_ci 1947777dab0Sopenharmony_ci /** Channel Layout For Stereo-Downmix, 2 channels in total */ 1957777dab0Sopenharmony_ci CH_LAYOUT_STEREO_DOWNMIX = CH_SET_STEREO_LEFT | CH_SET_STEREO_RIGHT, 1967777dab0Sopenharmony_ci 1977777dab0Sopenharmony_ci /** Channel Layout For 2.1, 3 channels in total */ 1987777dab0Sopenharmony_ci CH_LAYOUT_2POINT1 = CH_LAYOUT_STEREO | CH_SET_LOW_FREQUENCY, 1997777dab0Sopenharmony_ci 2007777dab0Sopenharmony_ci /** Channel Layout For 3.0, 3 channels in total */ 2017777dab0Sopenharmony_ci CH_LAYOUT_3POINT0 = CH_LAYOUT_STEREO | CH_SET_BACK_CENTER, 2027777dab0Sopenharmony_ci 2037777dab0Sopenharmony_ci /** Channel Layout For Surround, 3 channels in total */ 2047777dab0Sopenharmony_ci CH_LAYOUT_SURROUND = CH_LAYOUT_STEREO | CH_SET_FRONT_CENTER, 2057777dab0Sopenharmony_ci 2067777dab0Sopenharmony_ci /** Channel Layout For 3.1, 4 channels in total */ 2077777dab0Sopenharmony_ci CH_LAYOUT_3POINT1 = CH_LAYOUT_SURROUND | CH_SET_LOW_FREQUENCY, 2087777dab0Sopenharmony_ci 2097777dab0Sopenharmony_ci /** Channel Layout For 4.0, 4 channels in total */ 2107777dab0Sopenharmony_ci CH_LAYOUT_4POINT0 = CH_LAYOUT_SURROUND | CH_SET_BACK_CENTER, 2117777dab0Sopenharmony_ci 2127777dab0Sopenharmony_ci /** Channel Layout For Quad-Side, 4 channels in total */ 2137777dab0Sopenharmony_ci CH_LAYOUT_QUAD_SIDE = CH_LAYOUT_STEREO | CH_SET_SIDE_LEFT | CH_SET_SIDE_RIGHT, 2147777dab0Sopenharmony_ci 2157777dab0Sopenharmony_ci /** Channel Layout For Quad, 4 channels in total */ 2167777dab0Sopenharmony_ci CH_LAYOUT_QUAD = CH_LAYOUT_STEREO | CH_SET_BACK_LEFT | CH_SET_BACK_RIGHT, 2177777dab0Sopenharmony_ci 2187777dab0Sopenharmony_ci /** Channel Layout For 2.0.2, 4 channels in total */ 2197777dab0Sopenharmony_ci CH_LAYOUT_2POINT0POINT2 = CH_LAYOUT_STEREO | CH_SET_TOP_SIDE_LEFT | CH_SET_TOP_SIDE_RIGHT, 2207777dab0Sopenharmony_ci 2217777dab0Sopenharmony_ci /** Channel Layout For ORDER1-ACN-N3D First Order Ambisonic(FOA), 4 channels in total */ 2227777dab0Sopenharmony_ci CH_LAYOUT_AMB_ORDER1_ACN_N3D = AMB_MODE | AMB_ORD_1 | AMB_COM_ACN | AMB_NOR_N3D, 2237777dab0Sopenharmony_ci 2247777dab0Sopenharmony_ci /** Channel Layout For ORDER1-ACN-SN3D FOA, 4 channels in total */ 2257777dab0Sopenharmony_ci CH_LAYOUT_AMB_ORDER1_ACN_SN3D = AMB_MODE | AMB_ORD_1 | AMB_COM_ACN | AMB_NOR_SN3D, 2267777dab0Sopenharmony_ci 2277777dab0Sopenharmony_ci /** Channel Layout For ORDER1-FUMA FOA, 4 channels in total */ 2287777dab0Sopenharmony_ci CH_LAYOUT_AMB_ORDER1_FUMA = AMB_MODE | AMB_ORD_1 | AMB_COM_FUMA, 2297777dab0Sopenharmony_ci 2307777dab0Sopenharmony_ci /** Channel Layout For 4.1, 5 channels in total */ 2317777dab0Sopenharmony_ci CH_LAYOUT_4POINT1 = CH_LAYOUT_4POINT0 | CH_SET_LOW_FREQUENCY, 2327777dab0Sopenharmony_ci 2337777dab0Sopenharmony_ci /** Channel Layout For 5.0, 5 channels in total */ 2347777dab0Sopenharmony_ci CH_LAYOUT_5POINT0 = CH_LAYOUT_SURROUND | CH_SET_SIDE_LEFT | CH_SET_SIDE_RIGHT, 2357777dab0Sopenharmony_ci 2367777dab0Sopenharmony_ci /** Channel Layout For 5.0-Back, 5 channels in total */ 2377777dab0Sopenharmony_ci CH_LAYOUT_5POINT0_BACK = CH_LAYOUT_SURROUND | CH_SET_BACK_LEFT | CH_SET_BACK_RIGHT, 2387777dab0Sopenharmony_ci 2397777dab0Sopenharmony_ci /** Channel Layout For 2.1.2, 5 channels in total */ 2407777dab0Sopenharmony_ci CH_LAYOUT_2POINT1POINT2 = CH_LAYOUT_2POINT0POINT2 | CH_SET_LOW_FREQUENCY, 2417777dab0Sopenharmony_ci 2427777dab0Sopenharmony_ci /** Channel Layout For 3.0.2, 5 channels in total */ 2437777dab0Sopenharmony_ci CH_LAYOUT_3POINT0POINT2 = CH_LAYOUT_2POINT0POINT2 | CH_SET_FRONT_CENTER, 2447777dab0Sopenharmony_ci 2457777dab0Sopenharmony_ci /** Channel Layout For 5.1, 6 channels in total */ 2467777dab0Sopenharmony_ci CH_LAYOUT_5POINT1 = CH_LAYOUT_5POINT0 | CH_SET_LOW_FREQUENCY, 2477777dab0Sopenharmony_ci 2487777dab0Sopenharmony_ci /** Channel Layout For 5.1-Back, 6 channels in total */ 2497777dab0Sopenharmony_ci CH_LAYOUT_5POINT1_BACK = CH_LAYOUT_5POINT0_BACK | CH_SET_LOW_FREQUENCY, 2507777dab0Sopenharmony_ci 2517777dab0Sopenharmony_ci /** Channel Layout For 6.0, 6 channels in total */ 2527777dab0Sopenharmony_ci CH_LAYOUT_6POINT0 = CH_LAYOUT_5POINT0 | CH_SET_BACK_CENTER, 2537777dab0Sopenharmony_ci 2547777dab0Sopenharmony_ci /** Channel Layout For 3.1.2, 6 channels in total */ 2557777dab0Sopenharmony_ci CH_LAYOUT_3POINT1POINT2 = CH_LAYOUT_3POINT1 | CH_SET_TOP_FRONT_LEFT | CH_SET_TOP_FRONT_RIGHT, 2567777dab0Sopenharmony_ci 2577777dab0Sopenharmony_ci /** Channel Layout For 6.0-Front, 6 channels in total */ 2587777dab0Sopenharmony_ci CH_LAYOUT_6POINT0_FRONT = CH_LAYOUT_QUAD_SIDE | CH_SET_FRONT_LEFT_OF_CENTER | CH_SET_FRONT_RIGHT_OF_CENTER, 2597777dab0Sopenharmony_ci 2607777dab0Sopenharmony_ci /** Channel Layout For Hexagonal, 6 channels in total */ 2617777dab0Sopenharmony_ci CH_LAYOUT_HEXAGONAL = CH_LAYOUT_5POINT0_BACK | CH_SET_BACK_CENTER, 2627777dab0Sopenharmony_ci 2637777dab0Sopenharmony_ci /** Channel Layout For 6.1, 7 channels in total */ 2647777dab0Sopenharmony_ci CH_LAYOUT_6POINT1 = CH_LAYOUT_5POINT1 | CH_SET_BACK_CENTER, 2657777dab0Sopenharmony_ci 2667777dab0Sopenharmony_ci /** Channel Layout For 6.1-Back, 7 channels in total */ 2677777dab0Sopenharmony_ci CH_LAYOUT_6POINT1_BACK = CH_LAYOUT_5POINT1_BACK | CH_SET_BACK_CENTER, 2687777dab0Sopenharmony_ci 2697777dab0Sopenharmony_ci /** Channel Layout For 6.1-Front, 7 channels in total */ 2707777dab0Sopenharmony_ci CH_LAYOUT_6POINT1_FRONT = CH_LAYOUT_6POINT0_FRONT | CH_SET_LOW_FREQUENCY, 2717777dab0Sopenharmony_ci 2727777dab0Sopenharmony_ci /** Channel Layout For 7.0, 7 channels in total */ 2737777dab0Sopenharmony_ci CH_LAYOUT_7POINT0 = CH_LAYOUT_5POINT0 | CH_SET_BACK_LEFT | CH_SET_BACK_RIGHT, 2747777dab0Sopenharmony_ci 2757777dab0Sopenharmony_ci /** Channel Layout For 7.0-Front, 7 channels in total */ 2767777dab0Sopenharmony_ci CH_LAYOUT_7POINT0_FRONT = CH_LAYOUT_5POINT0 | CH_SET_FRONT_LEFT_OF_CENTER | CH_SET_FRONT_RIGHT_OF_CENTER, 2777777dab0Sopenharmony_ci 2787777dab0Sopenharmony_ci /** Channel Layout For 7.1, 8 channels in total */ 2797777dab0Sopenharmony_ci CH_LAYOUT_7POINT1 = CH_LAYOUT_5POINT1 | CH_SET_BACK_LEFT | CH_SET_BACK_RIGHT, 2807777dab0Sopenharmony_ci 2817777dab0Sopenharmony_ci /** Channel Layout For Octagonal, 8 channels in total */ 2827777dab0Sopenharmony_ci CH_LAYOUT_OCTAGONAL = CH_LAYOUT_5POINT0 | CH_SET_BACK_LEFT | CH_SET_BACK_CENTER | CH_SET_BACK_RIGHT, 2837777dab0Sopenharmony_ci 2847777dab0Sopenharmony_ci /** Channel Layout For 5.1.2, 8 channels in total */ 2857777dab0Sopenharmony_ci CH_LAYOUT_5POINT1POINT2 = CH_LAYOUT_5POINT1 | CH_SET_TOP_SIDE_LEFT | CH_SET_TOP_SIDE_RIGHT, 2867777dab0Sopenharmony_ci 2877777dab0Sopenharmony_ci /** Channel Layout For 7.1-Wide, 8 channels in total */ 2887777dab0Sopenharmony_ci CH_LAYOUT_7POINT1_WIDE = CH_LAYOUT_5POINT1 | CH_SET_FRONT_LEFT_OF_CENTER | CH_SET_FRONT_RIGHT_OF_CENTER, 2897777dab0Sopenharmony_ci 2907777dab0Sopenharmony_ci /** Channel Layout For 7.1-Wide-Back, 8 channels in total */ 2917777dab0Sopenharmony_ci CH_LAYOUT_7POINT1_WIDE_BACK = CH_LAYOUT_5POINT1_BACK | CH_SET_FRONT_LEFT_OF_CENTER | CH_SET_FRONT_RIGHT_OF_CENTER, 2927777dab0Sopenharmony_ci 2937777dab0Sopenharmony_ci /** Channel Layout For ORDER2-ACN-N3D Higher Order Ambisonics(HOA), 9 channels in total */ 2947777dab0Sopenharmony_ci CH_LAYOUT_AMB_ORDER2_ACN_N3D = AMB_MODE | AMB_ORD_2 | AMB_COM_ACN | AMB_NOR_N3D, 2957777dab0Sopenharmony_ci 2967777dab0Sopenharmony_ci /** Channel Layout For ORDER2-ACN-SN3D HOA, 9 channels in total */ 2977777dab0Sopenharmony_ci CH_LAYOUT_AMB_ORDER2_ACN_SN3D = AMB_MODE | AMB_ORD_2 | AMB_COM_ACN | AMB_NOR_SN3D, 2987777dab0Sopenharmony_ci 2997777dab0Sopenharmony_ci /** Channel Layout For ORDER2-FUMA HOA, 9 channels in total */ 3007777dab0Sopenharmony_ci CH_LAYOUT_AMB_ORDER2_FUMA = AMB_MODE | AMB_ORD_2 | AMB_COM_FUMA, 3017777dab0Sopenharmony_ci 3027777dab0Sopenharmony_ci /** Channel Layout For 5.1.4, 10 channels in total */ 3037777dab0Sopenharmony_ci CH_LAYOUT_5POINT1POINT4 = CH_LAYOUT_5POINT1 | CH_SET_TOP_FRONT_LEFT | CH_SET_TOP_FRONT_RIGHT | 3047777dab0Sopenharmony_ci CH_SET_TOP_BACK_LEFT | CH_SET_TOP_BACK_RIGHT, 3057777dab0Sopenharmony_ci 3067777dab0Sopenharmony_ci /** Channel Layout For 7.1.2, 10 channels in total */ 3077777dab0Sopenharmony_ci CH_LAYOUT_7POINT1POINT2 = CH_LAYOUT_7POINT1 | CH_SET_TOP_SIDE_LEFT | CH_SET_TOP_SIDE_RIGHT, 3087777dab0Sopenharmony_ci 3097777dab0Sopenharmony_ci /** Channel Layout For 7.1.4, 12 channels in total */ 3107777dab0Sopenharmony_ci CH_LAYOUT_7POINT1POINT4 = CH_LAYOUT_7POINT1 | CH_SET_TOP_FRONT_LEFT | CH_SET_TOP_FRONT_RIGHT | 3117777dab0Sopenharmony_ci CH_SET_TOP_BACK_LEFT | CH_SET_TOP_BACK_RIGHT, 3127777dab0Sopenharmony_ci 3137777dab0Sopenharmony_ci /** Channel Layout For 10.2, 12 channels in total */ 3147777dab0Sopenharmony_ci CH_LAYOUT_10POINT2 = CH_SET_FRONT_LEFT | CH_SET_FRONT_RIGHT | CH_SET_FRONT_CENTER | CH_SET_TOP_FRONT_LEFT | 3157777dab0Sopenharmony_ci CH_SET_TOP_FRONT_RIGHT | CH_SET_BACK_LEFT | CH_SET_BACK_RIGHT | CH_SET_BACK_CENTER | 3167777dab0Sopenharmony_ci CH_SET_SIDE_LEFT | CH_SET_SIDE_RIGHT | CH_SET_WIDE_LEFT | CH_SET_WIDE_RIGHT, 3177777dab0Sopenharmony_ci 3187777dab0Sopenharmony_ci /** Channel Layout For 9.1.4, 14 channels in total */ 3197777dab0Sopenharmony_ci CH_LAYOUT_9POINT1POINT4 = CH_LAYOUT_7POINT1POINT4 | CH_SET_WIDE_LEFT | CH_SET_WIDE_RIGHT, 3207777dab0Sopenharmony_ci 3217777dab0Sopenharmony_ci /** Channel Layout For 9.1.6, 16 channels in total */ 3227777dab0Sopenharmony_ci CH_LAYOUT_9POINT1POINT6 = CH_LAYOUT_9POINT1POINT4 | CH_SET_TOP_SIDE_LEFT | CH_SET_TOP_SIDE_RIGHT, 3237777dab0Sopenharmony_ci 3247777dab0Sopenharmony_ci /** Channel Layout For Hexadecagonal, 16 channels in total */ 3257777dab0Sopenharmony_ci CH_LAYOUT_HEXADECAGONAL = CH_LAYOUT_OCTAGONAL | CH_SET_WIDE_LEFT | CH_SET_WIDE_RIGHT | CH_SET_TOP_BACK_LEFT | 3267777dab0Sopenharmony_ci CH_SET_TOP_BACK_RIGHT | CH_SET_TOP_BACK_CENTER | CH_SET_TOP_FRONT_CENTER | 3277777dab0Sopenharmony_ci CH_SET_TOP_FRONT_LEFT | CH_SET_TOP_FRONT_RIGHT, 3287777dab0Sopenharmony_ci 3297777dab0Sopenharmony_ci /** Channel Layout For ORDER3-ACN-N3D HOA, 16 channels in total */ 3307777dab0Sopenharmony_ci CH_LAYOUT_AMB_ORDER3_ACN_N3D = AMB_MODE | AMB_ORD_3 | AMB_COM_ACN | AMB_NOR_N3D, 3317777dab0Sopenharmony_ci 3327777dab0Sopenharmony_ci /** Channel Layout For ORDER3-ACN-SN3D HOA, 16 channels in total */ 3337777dab0Sopenharmony_ci CH_LAYOUT_AMB_ORDER3_ACN_SN3D = AMB_MODE | AMB_ORD_3 | AMB_COM_ACN | AMB_NOR_SN3D, 3347777dab0Sopenharmony_ci 3357777dab0Sopenharmony_ci /** Channel Layout For ORDER3-FUMA HOA, 16 channels in total */ 3367777dab0Sopenharmony_ci CH_LAYOUT_AMB_ORDER3_FUMA = AMB_MODE | AMB_ORD_3 | AMB_COM_FUMA, 3377777dab0Sopenharmony_ci 3387777dab0Sopenharmony_ci /** Channel Layout For 22.2, 24 channels in total */ 3397777dab0Sopenharmony_ci CH_LAYOUT_22POINT2 = CH_LAYOUT_7POINT1POINT4 | CH_SET_FRONT_LEFT_OF_CENTER | CH_SET_FRONT_RIGHT_OF_CENTER | 3407777dab0Sopenharmony_ci CH_SET_BACK_CENTER | CH_SET_TOP_CENTER | CH_SET_TOP_FRONT_CENTER | CH_SET_TOP_BACK_CENTER | 3417777dab0Sopenharmony_ci CH_SET_TOP_SIDE_LEFT | CH_SET_TOP_SIDE_RIGHT | CH_SET_BOTTOM_FRONT_LEFT | 3427777dab0Sopenharmony_ci CH_SET_BOTTOM_FRONT_RIGHT | CH_SET_BOTTOM_FRONT_CENTER | CH_SET_LOW_FREQUENCY_2 3437777dab0Sopenharmony_ci} OH_AudioChannelLayout; 3447777dab0Sopenharmony_ci 3457777dab0Sopenharmony_ci#ifdef __cplusplus 3467777dab0Sopenharmony_ci} 3477777dab0Sopenharmony_ci#endif 3487777dab0Sopenharmony_ci 3497777dab0Sopenharmony_ci#endif // NATIVE_AUDIO_CHANNEL_LAYOUT_H 3507777dab0Sopenharmony_ci 3517777dab0Sopenharmony_ci/** @} */