aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDom Cobley <popcornmix@gmail.com>2023-05-05 18:18:51 +0100
committerMatthias Reichl <hias@horus.com>2023-06-17 14:23:52 +0200
commitafb9169af87ed5de2afaacb3382d718eb985028c (patch)
treef483dbec6e060f9c6c78554f36243fbfbac11569
parent50f7310fc8162f1885e5b6bf9b76e00e07900415 (diff)
downloadxbmc-afb9169af87ed5de2afaacb3382d718eb985028c.tar.xz
AEStreamInfo: Apply clang-format to file
No functional change
-rw-r--r--xbmc/cores/AudioEngine/Utils/AEStreamInfo.cpp181
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;
}
-