diff options
author | Dom Cobley <popcornmix@gmail.com> | 2023-05-05 18:18:51 +0100 |
---|---|---|
committer | Matthias Reichl <hias@horus.com> | 2023-06-17 14:23:52 +0200 |
commit | afb9169af87ed5de2afaacb3382d718eb985028c (patch) | |
tree | f483dbec6e060f9c6c78554f36243fbfbac11569 | |
parent | 50f7310fc8162f1885e5b6bf9b76e00e07900415 (diff) | |
download | xbmc-afb9169af87ed5de2afaacb3382d718eb985028c.tar.xz |
AEStreamInfo: Apply clang-format to file
No functional change
-rw-r--r-- | xbmc/cores/AudioEngine/Utils/AEStreamInfo.cpp | 181 |
1 files changed, 94 insertions, 87 deletions
diff --git a/xbmc/cores/AudioEngine/Utils/AEStreamInfo.cpp b/xbmc/cores/AudioEngine/Utils/AEStreamInfo.cpp index aac2356177..5ce9a33ce4 100644 --- a/xbmc/cores/AudioEngine/Utils/AEStreamInfo.cpp +++ b/xbmc/cores/AudioEngine/Utils/AEStreamInfo.cpp @@ -13,50 +13,34 @@ #include <algorithm> #include <string.h> -#define DTS_PREAMBLE_14BE 0x1FFFE800 -#define DTS_PREAMBLE_14LE 0xFF1F00E8 -#define DTS_PREAMBLE_16BE 0x7FFE8001 -#define DTS_PREAMBLE_16LE 0xFE7F0180 -#define DTS_PREAMBLE_HD 0x64582025 -#define DTS_PREAMBLE_XCH 0x5a5a5a5a -#define DTS_PREAMBLE_XXCH 0x47004a03 -#define DTS_PREAMBLE_X96K 0x1d95f262 -#define DTS_PREAMBLE_XBR 0x655e315e -#define DTS_PREAMBLE_LBR 0x0a801921 -#define DTS_PREAMBLE_XLL 0x41a29547 -#define DTS_SFREQ_COUNT 16 -#define MAX_EAC3_BLOCKS 6 +#define DTS_PREAMBLE_14BE 0x1FFFE800 +#define DTS_PREAMBLE_14LE 0xFF1F00E8 +#define DTS_PREAMBLE_16BE 0x7FFE8001 +#define DTS_PREAMBLE_16LE 0xFE7F0180 +#define DTS_PREAMBLE_HD 0x64582025 +#define DTS_PREAMBLE_XCH 0x5a5a5a5a +#define DTS_PREAMBLE_XXCH 0x47004a03 +#define DTS_PREAMBLE_X96K 0x1d95f262 +#define DTS_PREAMBLE_XBR 0x655e315e +#define DTS_PREAMBLE_LBR 0x0a801921 +#define DTS_PREAMBLE_XLL 0x41a29547 +#define DTS_SFREQ_COUNT 16 +#define MAX_EAC3_BLOCKS 6 #define UNKNOWN_DTS_EXTENSION 255 -static const uint16_t AC3Bitrates [] = {32, 40, 48, 56, 64, 80, 96, 112, 128, 160, 192, 224, 256, 320, 384, 448, 512, 576, 640}; -static const uint16_t AC3FSCod [] = {48000, 44100, 32000, 0}; -static const uint8_t AC3BlkCod [] = {1, 2, 3, 6}; -static const uint8_t AC3Channels [] = {2, 1, 2, 3, 3, 4, 4, 5}; -static const uint8_t DTSChannels [] = {1, 2, 2, 2, 2, 3, 3, 4, 4, 5, 6, 6, 6, 7, 8, 8}; -static const uint8_t THDChanMap [] = {2, 1, 1, 2, 2, 2, 2, 1, 1, 2, 2, 1, 1}; +static const uint16_t AC3Bitrates[] = {32, 40, 48, 56, 64, 80, 96, 112, 128, 160, + 192, 224, 256, 320, 384, 448, 512, 576, 640}; +static const uint16_t AC3FSCod[] = {48000, 44100, 32000, 0}; +static const uint8_t AC3BlkCod[] = {1, 2, 3, 6}; +static const uint8_t AC3Channels[] = {2, 1, 2, 3, 3, 4, 4, 5}; +static const uint8_t DTSChannels[] = {1, 2, 2, 2, 2, 3, 3, 4, 4, 5, 6, 6, 6, 7, 8, 8}; +static const uint8_t THDChanMap[] = {2, 1, 1, 2, 2, 2, 2, 1, 1, 2, 2, 1, 1}; -static const uint32_t DTSSampleRates[DTS_SFREQ_COUNT] = -{ - 0 , - 8000 , - 16000 , - 32000 , - 64000 , - 128000, - 11025 , - 22050 , - 44100 , - 88200 , - 176400, - 12000 , - 24000 , - 48000 , - 96000 , - 192000 -}; - -CAEStreamParser::CAEStreamParser() : - m_syncFunc (&CAEStreamParser::DetectType) +static const uint32_t DTSSampleRates[DTS_SFREQ_COUNT] = {0, 8000, 16000, 32000, 64000, 128000, + 11025, 22050, 44100, 88200, 176400, 12000, + 24000, 48000, 96000, 192000}; + +CAEStreamParser::CAEStreamParser() : m_syncFunc(&CAEStreamParser::DetectType) { av_crc_init(m_crcTrueHD, 0, 16, 0x2D, sizeof(m_crcTrueHD)); } @@ -74,9 +58,7 @@ double CAEStreamInfo::GetDuration() const break; case STREAM_TYPE_TRUEHD: int rate; - if (m_sampleRate == 48000 || - m_sampleRate == 96000 || - m_sampleRate == 192000) + if (m_sampleRate == 48000 || m_sampleRate == 96000 || m_sampleRate == 192000) rate = 192000; else rate = 176400; @@ -120,7 +102,10 @@ void CAEStreamParser::Reset() m_hasSync = false; } -int CAEStreamParser::AddData(uint8_t *data, unsigned int size, uint8_t **buffer/* = NULL */, unsigned int *bufferSize/* = 0 */) +int CAEStreamParser::AddData(uint8_t* data, + unsigned int size, + uint8_t** buffer /* = NULL */, + unsigned int* bufferSize /* = 0 */) { if (size == 0) { @@ -154,7 +139,7 @@ int CAEStreamParser::AddData(uint8_t *data, unsigned int size, uint8_t **buffer/ unsigned int consumed = 0; unsigned int offset = 0; unsigned int room = sizeof(m_buffer) - m_bufferSize; - while(true) + while (true) { if (!size) { @@ -223,7 +208,7 @@ int CAEStreamParser::AddData(uint8_t *data, unsigned int size, uint8_t **buffer/ } } -void CAEStreamParser::GetPacket(uint8_t **buffer, unsigned int *bufferSize) +void CAEStreamParser::GetPacket(uint8_t** buffer, unsigned int* bufferSize) { /* if the caller wants the packet */ if (buffer) @@ -236,7 +221,7 @@ void CAEStreamParser::GetPacket(uint8_t **buffer, unsigned int *bufferSize) /* make sure the buffer is allocated and big enough */ if (!*buffer || !bufferSize || *bufferSize < size) { - delete[] *buffer; + delete[] * buffer; *buffer = new uint8_t[size]; } @@ -261,18 +246,16 @@ void CAEStreamParser::GetPacket(uint8_t **buffer, unsigned int *bufferSize) m_syncFunc to itself. This function will only be called again if total sync is lost, which allows is to switch stream types on the fly much like a real receiver does. */ -unsigned int CAEStreamParser::DetectType(uint8_t *data, unsigned int size) +unsigned int CAEStreamParser::DetectType(uint8_t* data, unsigned int size) { - unsigned int skipped = 0; + unsigned int skipped = 0; unsigned int possible = 0; while (size > 8) { /* if it could be DTS */ unsigned int header = data[0] << 24 | data[1] << 16 | data[2] << 8 | data[3]; - if (header == DTS_PREAMBLE_14LE || - header == DTS_PREAMBLE_14BE || - header == DTS_PREAMBLE_16LE || + if (header == DTS_PREAMBLE_14LE || header == DTS_PREAMBLE_14BE || header == DTS_PREAMBLE_16LE || header == DTS_PREAMBLE_16BE) { unsigned int skip = SyncDTS(data, size); @@ -311,7 +294,10 @@ unsigned int CAEStreamParser::DetectType(uint8_t *data, unsigned int size) return possible ? possible : skipped; } -bool CAEStreamParser::TrySyncAC3(uint8_t *data, unsigned int size, bool resyncing, bool wantEAC3dependent) +bool CAEStreamParser::TrySyncAC3(uint8_t* data, + unsigned int size, + bool resyncing, + bool wantEAC3dependent) { if (size < 8) return false; @@ -320,14 +306,14 @@ bool CAEStreamParser::TrySyncAC3(uint8_t *data, unsigned int size, bool resyncin if (data[0] != 0x0b || data[1] != 0x77) return false; - uint8_t bsid = data[5] >> 3; + uint8_t bsid = data[5] >> 3; uint8_t acmod = data[6] >> 5; uint8_t lfeon; int8_t pos = 4; if ((acmod & 0x1) && (acmod != 0x1)) pos -= 2; - if (acmod & 0x4 ) + if (acmod & 0x4) pos -= 2; if (acmod == 0x2) pos -= 2; @@ -356,9 +342,15 @@ bool CAEStreamParser::TrySyncAC3(uint8_t *data, unsigned int size, bool resyncin unsigned int framesize = 0; switch (fscod) { - case 0: framesize = bitRate * 2; break; - case 1: framesize = (320 * bitRate / 147 + (frmsizecod & 1 ? 1 : 0)); break; - case 2: framesize = bitRate * 4; break; + case 0: + framesize = bitRate * 2; + break; + case 1: + framesize = (320 * bitRate / 147 + (frmsizecod & 1 ? 1 : 0)); + break; + case 2: + framesize = bitRate * 4; + break; } m_fsize = framesize << 1; @@ -371,14 +363,16 @@ bool CAEStreamParser::TrySyncAC3(uint8_t *data, unsigned int size, bool resyncin /* this may be the main stream of EAC3 */ unsigned int fsizeMain = m_fsize; unsigned int reqBytes = fsizeMain + 8; - if (size < reqBytes) { + if (size < reqBytes) + { /* not enough data to check for E-AC3 dependent frame, request more */ m_needBytes = reqBytes; m_fsize = 0; /* no need to resync => return true */ return true; } - if (TrySyncAC3(data + fsizeMain, size - fsizeMain, resyncing, /*wantEAC3dependent*/ true)) { + if (TrySyncAC3(data + fsizeMain, size - fsizeMain, resyncing, /*wantEAC3dependent*/ true)) + { /* concatenate the main and dependent frames */ m_fsize += fsizeMain; return true; @@ -451,14 +445,16 @@ bool CAEStreamParser::TrySyncAC3(uint8_t *data, unsigned int size, bool resyncin { unsigned int fsizeMain = m_fsize; unsigned int reqBytes = fsizeMain + 8; - if (size < reqBytes) { + if (size < reqBytes) + { /* not enough data to check for E-AC3 dependent frame, request more */ m_needBytes = reqBytes; m_fsize = 0; /* no need to resync => return true */ return true; } - if (TrySyncAC3(data + fsizeMain, size - fsizeMain, resyncing, /*wantEAC3dependent*/ true)) { + if (TrySyncAC3(data + fsizeMain, size - fsizeMain, resyncing, /*wantEAC3dependent*/ true)) + { /* concatenate the main and dependent frames */ m_fsize += fsizeMain; return true; @@ -481,7 +477,7 @@ bool CAEStreamParser::TrySyncAC3(uint8_t *data, unsigned int size, bool resyncin } } -unsigned int CAEStreamParser::SyncAC3(uint8_t *data, unsigned int size) +unsigned int CAEStreamParser::SyncAC3(uint8_t* data, unsigned int size) { unsigned int skip = 0; @@ -498,7 +494,7 @@ unsigned int CAEStreamParser::SyncAC3(uint8_t *data, unsigned int size) return skip; } -unsigned int CAEStreamParser::SyncDTS(uint8_t *data, unsigned int size) +unsigned int CAEStreamParser::SyncDTS(uint8_t* data, unsigned int size) { if (size < 13) { @@ -535,7 +531,7 @@ unsigned int CAEStreamParser::SyncDTS(uint8_t *data, unsigned int size) ext_type = ((data[11] & 0xe) >> 1); sfreq = data[9] & 0xF; lfe = (data[12] & 0x18) >> 3; - m_info.m_dataIsLE = false; + m_info.m_dataIsLE = false; bits = 14; break; @@ -598,9 +594,15 @@ unsigned int CAEStreamParser::SyncDTS(uint8_t *data, unsigned int size) CAEStreamInfo::DataType dataType; switch (dtsBlocks << 5) { - case 512 : dataType = CAEStreamInfo::STREAM_TYPE_DTS_512 ; break; - case 1024: dataType = CAEStreamInfo::STREAM_TYPE_DTS_1024; break; - case 2048: dataType = CAEStreamInfo::STREAM_TYPE_DTS_2048; break; + case 512: + dataType = CAEStreamInfo::STREAM_TYPE_DTS_512; + break; + case 1024: + dataType = CAEStreamInfo::STREAM_TYPE_DTS_1024; + break; + case 2048: + dataType = CAEStreamInfo::STREAM_TYPE_DTS_2048; + break; default: invalid = true; break; @@ -617,23 +619,28 @@ unsigned int CAEStreamParser::SyncDTS(uint8_t *data, unsigned int size) if (size - skip < m_fsize + 10) { /* we can assume DTS sync at this point */ - m_syncFunc = &CAEStreamParser::SyncDTS; + m_syncFunc = &CAEStreamParser::SyncDTS; m_needBytes = m_fsize + 10; - m_fsize = 0; + m_fsize = 0; return skip; } /* look for DTS-HD */ - hd_sync = (data[m_fsize] << 24) | (data[m_fsize + 1] << 16) | (data[m_fsize + 2] << 8) | data[m_fsize + 3]; + hd_sync = (data[m_fsize] << 24) | (data[m_fsize + 1] << 16) | (data[m_fsize + 2] << 8) | + data[m_fsize + 3]; if (hd_sync == DTS_PREAMBLE_HD) { int hd_size; bool blownup = (data[m_fsize + 5] & 0x20) != 0; if (blownup) - hd_size = (((data[m_fsize + 6] & 0x01) << 19) | (data[m_fsize + 7] << 11) | (data[m_fsize + 8] << 3) | ((data[m_fsize + 9] & 0xe0) >> 5)) + 1; + hd_size = (((data[m_fsize + 6] & 0x01) << 19) | (data[m_fsize + 7] << 11) | + (data[m_fsize + 8] << 3) | ((data[m_fsize + 9] & 0xe0) >> 5)) + + 1; else - hd_size = (((data[m_fsize + 6] & 0x1f) << 11) | (data[m_fsize + 7] << 3) | ((data[m_fsize + 8] & 0xe0) >> 5)) + 1; + hd_size = (((data[m_fsize + 6] & 0x1f) << 11) | (data[m_fsize + 7] << 3) | + ((data[m_fsize + 8] & 0xe0) >> 5)) + + 1; int header_size; if (blownup) @@ -641,17 +648,16 @@ unsigned int CAEStreamParser::SyncDTS(uint8_t *data, unsigned int size) else header_size = (((data[m_fsize + 5] & 0x1f) << 3) | ((data[m_fsize + 6] & 0xe0) >> 5)) + 1; - hd_sync = data[m_fsize + header_size] << 24 | data[m_fsize + header_size + 1] << 16 | data[m_fsize + header_size + 2] << 8 | data[m_fsize + header_size + 3]; + hd_sync = data[m_fsize + header_size] << 24 | data[m_fsize + header_size + 1] << 16 | + data[m_fsize + header_size + 2] << 8 | data[m_fsize + header_size + 3]; /* set the type according to core or not */ if (m_coreOnly) dataType = CAEStreamInfo::STREAM_TYPE_DTSHD_CORE; else if (hd_sync == DTS_PREAMBLE_XLL) dataType = CAEStreamInfo::STREAM_TYPE_DTSHD_MA; - else if (hd_sync == DTS_PREAMBLE_XCH || - hd_sync == DTS_PREAMBLE_XXCH || - hd_sync == DTS_PREAMBLE_X96K || - hd_sync == DTS_PREAMBLE_XBR || + else if (hd_sync == DTS_PREAMBLE_XCH || hd_sync == DTS_PREAMBLE_XXCH || + hd_sync == DTS_PREAMBLE_X96K || hd_sync == DTS_PREAMBLE_XBR || hd_sync == DTS_PREAMBLE_LBR) dataType = CAEStreamInfo::STREAM_TYPE_DTSHD; else @@ -662,7 +668,8 @@ unsigned int CAEStreamParser::SyncDTS(uint8_t *data, unsigned int size) } unsigned int sampleRate = DTSSampleRates[sfreq]; - if (!m_hasSync || skip || dataType != m_info.m_type || sampleRate != m_info.m_sampleRate || dtsBlocks != m_dtsBlocks) + if (!m_hasSync || skip || dataType != m_info.m_type || sampleRate != m_info.m_sampleRate || + dtsBlocks != m_dtsBlocks) { m_hasSync = true; m_info.m_type = dataType; @@ -683,7 +690,8 @@ unsigned int CAEStreamParser::SyncDTS(uint8_t *data, unsigned int size) } else { - m_info.m_dtsPeriod = (m_info.m_sampleRate * (2 >> 1)) * (m_dtsBlocks << 5) / m_info.m_sampleRate; + m_info.m_dtsPeriod = + (m_info.m_sampleRate * (2 >> 1)) * (m_dtsBlocks << 5) / m_info.m_sampleRate; } std::string type; @@ -746,7 +754,7 @@ inline unsigned int CAEStreamParser::GetTrueHDChannels(const uint16_t chanmap) return channels; } -unsigned int CAEStreamParser::SyncTrueHD(uint8_t *data, unsigned int size) +unsigned int CAEStreamParser::SyncTrueHD(uint8_t* data, unsigned int size) { unsigned int left = size; unsigned int skip = 0; @@ -759,7 +767,7 @@ unsigned int CAEStreamParser::SyncTrueHD(uint8_t *data, unsigned int size) return size; /* if its a major audio unit */ - uint16_t length = ((data[0] & 0x0F) << 8 | data[1]) << 1; + uint16_t length = ((data[0] & 0x0F) << 8 | data[1]) << 1; uint32_t syncword = ((((data[4] << 8 | data[5]) << 8) | data[6]) << 8) | data[7]; if (syncword == 0xf8726fba) { @@ -822,7 +830,7 @@ unsigned int CAEStreamParser::SyncTrueHD(uint8_t *data, unsigned int size) return skip; /* verify the parity */ - int p = 0; + int p = 0; uint8_t check = 0; for (int i = -1; i < m_substreams; ++i) { @@ -839,7 +847,7 @@ unsigned int CAEStreamParser::SyncTrueHD(uint8_t *data, unsigned int size) if ((((check >> 4) ^ check) & 0xF) != 0xF) { /* lost sync */ - m_hasSync = false; + m_hasSync = false; CLog::Log(LOGINFO, "CAEStreamParser::SyncTrueHD - Sync Lost"); continue; } @@ -852,7 +860,6 @@ unsigned int CAEStreamParser::SyncTrueHD(uint8_t *data, unsigned int size) } /* lost sync */ - m_hasSync = false; + m_hasSync = false; return skip; } - |