Rockbox General > Rockbox General Discussion

Re: AAC-HE Playback bug

(1/5) > >>

ThaCrip:

--- Quote from: Bilgus on October 09, 2017, 09:39:51 AM ---I've never had the fuze+ so much as stutter on flac or mp3 files but I also have no opus files what so ever.  I can test one that stutters on your device if you like.

--- End quote ---

FLAC or MP3 work 100% on my Sansa e250 v1 as i got no problems at all as menu navigation works as expected when playing those files etc.

It's the 'AAC SBR+PS' (i.e. HE-AACv2 spec (https://upload.wikimedia.org/wikipedia/commons/3/37/AAC_profiles.svg )) that acts up which i imagine is due to lack of CPU power on the e250 v1. if i play files on the AAC-LC spec then everything on my Sansa e250 v1 works as expected.

also, that AAC SBR+PS (basically HE-AACv2) pretty much takes effect on the Winamp FhG encoder when you go below 96kbps setting as once you hit the 96kbps+ setting it shifts back to the AAC-LC profile which plays fine since it uses less CPU. with Apple AAC i can use 64kbps setting and still get AAC-LC but at lower bit rates it appears the advanced AAC profile takes over which uses special tricks to make the sound quality better but, apparently, is a bit more CPU intensive.

here is a quick download link which contains both a AAC 32kbps file (actual average bit rate of file is 37kbps) with that AAC SBR+PS for the 'codec profile' info and a 64kbps encoded Opus file (actual average bit rate is 68kbps (it's encoded with Opus v1.2.1 through Foobar2000))... http://www.datafilehost.com/d/7dc66e0b ; what i am assuming happens in why these act up is simply a lack of CPU power as, like i was saying, that 'AAC SBR+PS' file once i load it pretty much makes my e250 unusable (music plays a bit, stops during playback a bit, plays etc. but navigating any menus during that basically ain't going to happen) and i have to hold power button down to power it off and back on and then things are okay again unless i play a music file encoded like that.

as far as the Opus issue i mentioned... while those files playback fine, i assume must be at least somewhat taxing the e250's CPU because when you have a Opus file playing, it does not matter whether it's 32kbps or 128kbps, if you start navigating through menu's on your e250 player it's sluggish and not quick to respond like it normally is when playing FLAC/MP3/AAC-LC etc even though the music playback is totally fine from what i have noticed. also, if you fast forward or rewind during that Opus file playback, while it does work, there is a noticeable delay before playback resumes where as with your typical FLAC/MP3/AAC-LC playback resumes immediately as expected.

NOTE: the AAC SBR+PS file plays fine on my computer using Foobar2000.

also, that 'AAC SBR+PS' file is simply encoded in Foobar2000 (from a FLAC file, naturally) using the Winamp FhG encoder. it's a couple of files (i.e. enc_fhgaac.dll and libmp4v2.dll) i extract out of the newest Winamp installer and put into the Foobar2000 'encoders' directory which allows you to use that "AAC (Winamp FhG)" (you see in the picture i attached) encoder to encode AAC files through Foobar2000.

i have attached a couple of pictures showing you some details from Foobar2000.

Thanks for your time ;)

p.s. i am using Foobar2000 v1.3.16 with the newest encoder pack (i.e. http://www.foobar2000.org/encoderpack ) which is from June 27th 2017 and includes the newest Opus v1.2.1 encoder and makes it easy to make Opus files etc from your FLAC files etc.

also, i have not checked battery life with those Opus files but i would not be surprised if there was a solid drop off given that whole sluggish thing assuming it's taxing the CPU like i suspect it is. and another thing... with that whole sluggish menu's on the playback of Opus files, i noticed if i load up a file and let it play for a bit (like where the e250 screen powers down but the music is still playing) and then go back into the menu navigation i noticed sometimes it smooths out for a little bit before that sluggishness returns etc. i would have to play with this a bit more to see if i can get it to react consistently on this particular thing i just mentioned.

also, basically it appears that FhG encoder is one of the best encoders to use at really low bit rates but, from what i heard IgorC say (a January 2017 post) over on hydrogenaudio forums he said, and i quote... "There is no AAC encoder better than Apple at 96 kbps and higher.  As simple as that." ; which is what i generally use (through QAAC.exe in Foobar2000 (which that file is installed to Foobar2000's 'encoders' directory from the Foobar2000 encoder pack) using the AppleApplicationSupport.msi file extracted out of the iTunes installer and installed) which gives me the usual AAC-LC profile on AAC encoded files which my e250 plays perfectly fine.

Bilgus:
I remember you had mentioned this issue before I went ahead and split this in its own topic so we can discuss it further

The fuze+ didnt have any problems playing your AAC-HE file as long as it wasn't the first one I played

But when it was the first track I played it exibited the symptoms you noted

So I'm going to have a look into this, best I can tell is it isn't setting up the pcm buffer properly

Could you try the same on your player play the opus first and then play the AAC-HE file and see if it exibits the sdame behaviour?

saratoga:

--- Quote from: ThaCrip on October 10, 2017, 06:59:08 AM ---
--- Quote from: Bilgus on October 09, 2017, 09:39:51 AM ---I've never had the fuze+ so much as stutter on flac or mp3 files but I also have no opus files what so ever.  I can test one that stutters on your device if you like.

--- End quote ---

FLAC or MP3 work 100% on my Sansa e250 v1 as i got no problems at all as menu navigation works as expected when playing those files etc.

It's the 'AAC SBR+PS' (i.e. HE-AACv2 spec (https://upload.wikimedia.org/wikipedia/commons/3/37/AAC_profiles.svg )) that acts up which i imagine is due to lack of CPU power on the e250 v1. if i play files on the AAC-LC spec then everything on my Sansa e250 v1 works as expected.
--- End quote ---

We put a ton of work in optimizing AAC, but I think HE is not possible on an 80 MHz ARM7TDMI CPU, or at least without extreme effort.  The format is very slow.

Anyway, I thought we already discussed this.  You need to configure your encoder to produce AAC-LC files.

Bilgus:
Originally this started as just a test to see if AAC-HE files played on the fuze+ without issue
It has now turned into a bug

If its the first track played it skips but no issue if you skip to another track then back.
No issue if you play another track first and then the AAC-HE file

At 3.14 the problem exists
At HEAD the same issue exists but strangely when I locked the frequency to 64MHZ (#define CPUFREQ_MAX     IMX233_CPUFREQ_64_MHz) it played fine not sure why at this point.

I initially though it might have to do with the watermark not triggering the cpu boost but now I'm pretty sure that isn't it since locked at 64mhz it worked perfectly fine so maybe a voltage issue???

These were all tested with the music playing from an sdcard
I'll have to look into it further but suggestions are welcome..

saratoga:
You shouldn't be able to decode AAC-HE at 64 MHz on the IMX233 (probably needs at least double that), so are you sure the clock frequency is actually being set to 64 MHz? 

Navigation

[0] Message Index

[#] Next page

Go to full version