diff options
author | roman.artiukhin <bahusdrive@gmail.com> | 2023-12-22 13:40:54 +0200 |
---|---|---|
committer | Solomon Peachy <pizza@shaftnet.org> | 2023-12-31 20:44:15 -0500 |
commit | 4cd65b9d97e5fb172477b31d3dc5bc136cc6950b (patch) | |
tree | 1ea09715a6f15456d762efa22dc40617e20e393d /lib/rbcodec/metadata | |
parent | fc65bdab4e9d62fb5edf74284944a204aefd5160 (diff) | |
download | rockbox-4cd65b9d97e5fb172477b31d3dc5bc136cc6950b.tar.gz rockbox-4cd65b9d97e5fb172477b31d3dc5bc136cc6950b.zip |
Codecs: mp4: Disable SBR decoding for PP5002 - PP5022 platforms
Includes ipod video (5G) and earlier models, sansa c200 and others players not capable to decode AAC-HE.
Allows to play backward compatible files as AAC-LC.
Change-Id: Ic9f5c0f255d9a4308c3414d402f8f27f4328ca94
Diffstat (limited to 'lib/rbcodec/metadata')
-rw-r--r-- | lib/rbcodec/metadata/aac.c | 2 | ||||
-rw-r--r-- | lib/rbcodec/metadata/mp4.c | 5 |
2 files changed, 6 insertions, 1 deletions
diff --git a/lib/rbcodec/metadata/aac.c b/lib/rbcodec/metadata/aac.c index 358b2de079..372bab716e 100644 --- a/lib/rbcodec/metadata/aac.c +++ b/lib/rbcodec/metadata/aac.c | |||
@@ -93,11 +93,13 @@ bool get_aac_metadata(int fd, struct mp3entry *entry) | |||
93 | break; | 93 | break; |
94 | } | 94 | } |
95 | entry->bitrate = (unsigned int)((total * entry->frequency / frames + 64000) / 128000); | 95 | entry->bitrate = (unsigned int)((total * entry->frequency / frames + 64000) / 128000); |
96 | #ifdef CODEC_AAC_SBR_DEC | ||
96 | if (entry->frequency <= 24000) | 97 | if (entry->frequency <= 24000) |
97 | { | 98 | { |
98 | entry->frequency <<= 1; | 99 | entry->frequency <<= 1; |
99 | entry->needs_upsampling_correction = true; | 100 | entry->needs_upsampling_correction = true; |
100 | } | 101 | } |
102 | #endif | ||
101 | } | 103 | } |
102 | else | 104 | else |
103 | { | 105 | { |
diff --git a/lib/rbcodec/metadata/mp4.c b/lib/rbcodec/metadata/mp4.c index e05a588e7e..706a50e503 100644 --- a/lib/rbcodec/metadata/mp4.c +++ b/lib/rbcodec/metadata/mp4.c | |||
@@ -349,7 +349,10 @@ static bool read_mp4_esds(int fd, struct mp3entry* id3, uint32_t* size) | |||
349 | } | 349 | } |
350 | } | 350 | } |
351 | } | 351 | } |
352 | 352 | #ifndef CODEC_AAC_SBR_DEC | |
353 | //SBR_DEC is disabled so disable sbr implicit signalling | ||
354 | sbr_signaled = true; | ||
355 | #endif | ||
353 | if (!sbr && !sbr_signaled && id3->frequency <= 24000) | 356 | if (!sbr && !sbr_signaled && id3->frequency <= 24000) |
354 | { | 357 | { |
355 | /* As stated in libfaad/mp4.c AudioSpecificConfig2: | 358 | /* As stated in libfaad/mp4.c AudioSpecificConfig2: |