diff options
| author | manuel <manuel@mausz.at> | 2015-03-04 00:23:39 +0100 |
|---|---|---|
| committer | manuel <manuel@mausz.at> | 2015-03-04 00:23:39 +0100 |
| commit | 9d11b08ad61b1f0d6d7023ce403285d8662efaed (patch) | |
| tree | 5bc0c947d9e10d3e8c9dc1e6b26f3d6599f0cea1 /xbmc/cores/AudioEngine/Utils/AEChannelData.h | |
| parent | c159d9f91f1573901868100a9464527a5a71575b (diff) | |
| download | kodi-pvr-build-9d11b08ad61b1f0d6d7023ce403285d8662efaed.tar.gz kodi-pvr-build-9d11b08ad61b1f0d6d7023ce403285d8662efaed.tar.bz2 kodi-pvr-build-9d11b08ad61b1f0d6d7023ce403285d8662efaed.zip | |
sync with upstream
Diffstat (limited to 'xbmc/cores/AudioEngine/Utils/AEChannelData.h')
| -rw-r--r-- | xbmc/cores/AudioEngine/Utils/AEChannelData.h | 128 |
1 files changed, 128 insertions, 0 deletions
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 @@ | |||
| 1 | #pragma once | ||
| 2 | /* | ||
| 3 | * Copyright (C) 2010-2013 Team XBMC | ||
| 4 | * http://xbmc.org | ||
| 5 | * | ||
| 6 | * This Program is free software; you can redistribute it and/or modify | ||
| 7 | * it under the terms of the GNU General Public License as published by | ||
| 8 | * the Free Software Foundation; either version 2, or (at your option) | ||
| 9 | * any later version. | ||
| 10 | * | ||
| 11 | * This Program is distributed in the hope that it will be useful, | ||
| 12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 14 | * GNU General Public License for more details. | ||
| 15 | * | ||
| 16 | * You should have received a copy of the GNU General Public License | ||
| 17 | * along with XBMC; see the file COPYING. If not, see | ||
| 18 | * <http://www.gnu.org/licenses/>. | ||
| 19 | * | ||
| 20 | */ | ||
| 21 | |||
| 22 | /** | ||
| 23 | * The possible channels | ||
| 24 | */ | ||
| 25 | enum AEChannel | ||
| 26 | { | ||
| 27 | AE_CH_NULL = -1, | ||
| 28 | AE_CH_RAW , | ||
| 29 | |||
| 30 | AE_CH_FL , AE_CH_FR , AE_CH_FC , AE_CH_LFE, AE_CH_BL , AE_CH_BR , AE_CH_FLOC, | ||
| 31 | AE_CH_FROC, AE_CH_BC , AE_CH_SL , AE_CH_SR , AE_CH_TFL , AE_CH_TFR , AE_CH_TFC , | ||
| 32 | AE_CH_TC , AE_CH_TBL, AE_CH_TBR, AE_CH_TBC, AE_CH_BLOC, AE_CH_BROC, | ||
| 33 | |||
| 34 | /* p16v devices */ | ||
| 35 | AE_CH_UNKNOWN1, | ||
| 36 | AE_CH_UNKNOWN2, | ||
| 37 | AE_CH_UNKNOWN3, | ||
| 38 | AE_CH_UNKNOWN4, | ||
| 39 | AE_CH_UNKNOWN5, | ||
| 40 | AE_CH_UNKNOWN6, | ||
| 41 | AE_CH_UNKNOWN7, | ||
| 42 | AE_CH_UNKNOWN8, | ||
| 43 | AE_CH_UNKNOWN9, | ||
| 44 | AE_CH_UNKNOWN10, | ||
| 45 | AE_CH_UNKNOWN11, | ||
| 46 | AE_CH_UNKNOWN12, | ||
| 47 | AE_CH_UNKNOWN13, | ||
| 48 | AE_CH_UNKNOWN14, | ||
| 49 | AE_CH_UNKNOWN15, | ||
| 50 | AE_CH_UNKNOWN16, | ||
| 51 | |||
| 52 | AE_CH_MAX | ||
| 53 | }; | ||
| 54 | |||
| 55 | /** | ||
| 56 | * Standard channel layouts | ||
| 57 | */ | ||
| 58 | enum AEStdChLayout | ||
| 59 | { | ||
| 60 | AE_CH_LAYOUT_INVALID = -1, | ||
| 61 | |||
| 62 | AE_CH_LAYOUT_1_0 = 0, | ||
| 63 | AE_CH_LAYOUT_2_0, | ||
| 64 | AE_CH_LAYOUT_2_1, | ||
| 65 | AE_CH_LAYOUT_3_0, | ||
| 66 | AE_CH_LAYOUT_3_1, | ||
| 67 | AE_CH_LAYOUT_4_0, | ||
| 68 | AE_CH_LAYOUT_4_1, | ||
| 69 | AE_CH_LAYOUT_5_0, | ||
| 70 | AE_CH_LAYOUT_5_1, | ||
| 71 | AE_CH_LAYOUT_7_0, | ||
| 72 | AE_CH_LAYOUT_7_1, | ||
| 73 | |||
| 74 | AE_CH_LAYOUT_MAX | ||
| 75 | }; | ||
| 76 | |||
| 77 | /** | ||
| 78 | * The various data formats | ||
| 79 | * LE = Little Endian, BE = Big Endian, NE = Native Endian | ||
| 80 | * @note This is ordered from the worst to best preferred formats | ||
| 81 | */ | ||
| 82 | enum AEDataFormat | ||
| 83 | { | ||
| 84 | AE_FMT_INVALID = -1, | ||
| 85 | |||
| 86 | AE_FMT_U8, | ||
| 87 | |||
| 88 | AE_FMT_S16BE, | ||
| 89 | AE_FMT_S16LE, | ||
| 90 | AE_FMT_S16NE, | ||
| 91 | |||
| 92 | AE_FMT_S32BE, | ||
| 93 | AE_FMT_S32LE, | ||
| 94 | AE_FMT_S32NE, | ||
| 95 | |||
| 96 | AE_FMT_S24BE4, | ||
| 97 | AE_FMT_S24LE4, | ||
| 98 | AE_FMT_S24NE4, // 24 bits in lower 3 bytes | ||
| 99 | AE_FMT_S24NE4MSB, // S32 with bits_per_sample < 32 | ||
| 100 | |||
| 101 | AE_FMT_S24BE3, | ||
| 102 | AE_FMT_S24LE3, | ||
| 103 | AE_FMT_S24NE3, /* S24 in 3 bytes */ | ||
| 104 | |||
| 105 | AE_FMT_DOUBLE, | ||
| 106 | AE_FMT_FLOAT, | ||
| 107 | |||
| 108 | /* Bitstream formats */ | ||
| 109 | AE_FMT_AAC, | ||
| 110 | AE_FMT_AC3, | ||
| 111 | AE_FMT_DTS, | ||
| 112 | AE_FMT_EAC3, | ||
| 113 | AE_FMT_TRUEHD, | ||
| 114 | AE_FMT_DTSHD, | ||
| 115 | AE_FMT_LPCM, | ||
| 116 | |||
| 117 | /* planar formats */ | ||
| 118 | AE_FMT_U8P, | ||
| 119 | AE_FMT_S16NEP, | ||
| 120 | AE_FMT_S32NEP, | ||
| 121 | AE_FMT_S24NE4P, | ||
| 122 | AE_FMT_S24NE4MSBP, | ||
| 123 | AE_FMT_S24NE3P, | ||
| 124 | AE_FMT_DOUBLEP, | ||
| 125 | AE_FMT_FLOATP, | ||
| 126 | |||
| 127 | AE_FMT_MAX | ||
| 128 | }; | ||
