From 9d11b08ad61b1f0d6d7023ce403285d8662efaed Mon Sep 17 00:00:00 2001 From: manuel Date: Wed, 4 Mar 2015 00:23:39 +0100 Subject: sync with upstream --- xbmc/cores/AudioEngine/Utils/AEChannelData.h | 128 +++++++++++++++++++++++++++ 1 file changed, 128 insertions(+) create mode 100644 xbmc/cores/AudioEngine/Utils/AEChannelData.h (limited to 'xbmc/cores/AudioEngine') diff --git a/xbmc/cores/AudioEngine/Utils/AEChannelData.h b/xbmc/cores/AudioEngine/Utils/AEChannelData.h new file mode 100644 index 0000000..5d47651 --- /dev/null +++ b/xbmc/cores/AudioEngine/Utils/AEChannelData.h @@ -0,0 +1,128 @@ +#pragma once +/* + * Copyright (C) 2010-2013 Team XBMC + * http://xbmc.org + * + * This Program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2, or (at your option) + * any later version. + * + * This Program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with XBMC; see the file COPYING. If not, see + * . + * + */ + +/** + * The possible channels + */ +enum AEChannel +{ + AE_CH_NULL = -1, + AE_CH_RAW , + + AE_CH_FL , AE_CH_FR , AE_CH_FC , AE_CH_LFE, AE_CH_BL , AE_CH_BR , AE_CH_FLOC, + AE_CH_FROC, AE_CH_BC , AE_CH_SL , AE_CH_SR , AE_CH_TFL , AE_CH_TFR , AE_CH_TFC , + AE_CH_TC , AE_CH_TBL, AE_CH_TBR, AE_CH_TBC, AE_CH_BLOC, AE_CH_BROC, + + /* p16v devices */ + AE_CH_UNKNOWN1, + AE_CH_UNKNOWN2, + AE_CH_UNKNOWN3, + AE_CH_UNKNOWN4, + AE_CH_UNKNOWN5, + AE_CH_UNKNOWN6, + AE_CH_UNKNOWN7, + AE_CH_UNKNOWN8, + AE_CH_UNKNOWN9, + AE_CH_UNKNOWN10, + AE_CH_UNKNOWN11, + AE_CH_UNKNOWN12, + AE_CH_UNKNOWN13, + AE_CH_UNKNOWN14, + AE_CH_UNKNOWN15, + AE_CH_UNKNOWN16, + + AE_CH_MAX +}; + +/** + * Standard channel layouts + */ +enum AEStdChLayout +{ + AE_CH_LAYOUT_INVALID = -1, + + AE_CH_LAYOUT_1_0 = 0, + AE_CH_LAYOUT_2_0, + AE_CH_LAYOUT_2_1, + AE_CH_LAYOUT_3_0, + AE_CH_LAYOUT_3_1, + AE_CH_LAYOUT_4_0, + AE_CH_LAYOUT_4_1, + AE_CH_LAYOUT_5_0, + AE_CH_LAYOUT_5_1, + AE_CH_LAYOUT_7_0, + AE_CH_LAYOUT_7_1, + + AE_CH_LAYOUT_MAX +}; + +/** + * The various data formats + * LE = Little Endian, BE = Big Endian, NE = Native Endian + * @note This is ordered from the worst to best preferred formats + */ +enum AEDataFormat +{ + AE_FMT_INVALID = -1, + + AE_FMT_U8, + + AE_FMT_S16BE, + AE_FMT_S16LE, + AE_FMT_S16NE, + + AE_FMT_S32BE, + AE_FMT_S32LE, + AE_FMT_S32NE, + + AE_FMT_S24BE4, + AE_FMT_S24LE4, + AE_FMT_S24NE4, // 24 bits in lower 3 bytes + AE_FMT_S24NE4MSB, // S32 with bits_per_sample < 32 + + AE_FMT_S24BE3, + AE_FMT_S24LE3, + AE_FMT_S24NE3, /* S24 in 3 bytes */ + + AE_FMT_DOUBLE, + AE_FMT_FLOAT, + + /* Bitstream formats */ + AE_FMT_AAC, + AE_FMT_AC3, + AE_FMT_DTS, + AE_FMT_EAC3, + AE_FMT_TRUEHD, + AE_FMT_DTSHD, + AE_FMT_LPCM, + + /* planar formats */ + AE_FMT_U8P, + AE_FMT_S16NEP, + AE_FMT_S32NEP, + AE_FMT_S24NE4P, + AE_FMT_S24NE4MSBP, + AE_FMT_S24NE3P, + AE_FMT_DOUBLEP, + AE_FMT_FLOATP, + + AE_FMT_MAX +}; -- cgit v1.2.3