1
0
Fork 0
forked from len0rd/rockbox

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
This commit is contained in:
roman.artiukhin 2023-12-22 13:40:54 +02:00 committed by Solomon Peachy
parent fc65bdab4e
commit 4cd65b9d97
7 changed files with 27 additions and 8 deletions

View file

@ -135,9 +135,11 @@ extern "C" {
#undef ERROR_RESILIENCE
#endif
#if CODEC_SIZE >= 0x80000
#ifdef CODEC_AAC_SBR_DEC
#define SBR_DEC
//#define SBR_LOW_POWER /* Does not work yet in rockbox. */
#endif
#if CODEC_SIZE >= 0x80000
#define PS_DEC
#endif

View file

@ -850,9 +850,13 @@ uint8_t reconstruct_single_channel(NeAACDecHandle hDecoder, ic_stream *ics,
#if (defined(PS_DEC) || defined(DRM_PS))
if ((hDecoder->ps_used[hDecoder->fr_ch_ele] == 0))
{
uint8_t ele = hDecoder->fr_ch_ele;
uint8_t ch = sce->channel;
uint16_t frame_size = (hDecoder->sbr_alloced[ele]) ? 2 : 1;
uint16_t frame_size =
#ifdef SBR_DEC
(hDecoder->sbr_alloced[hDecoder->fr_ch_ele]) ? 2 : 1;
#else
1;
#endif
frame_size *= hDecoder->frameLength*sizeof(real_t);
memcpy(hDecoder->time_out[ch+1], hDecoder->time_out[ch], frame_size);