[CuBox] HD FLACs are not working
Home › Forums › GeeXboX on ARM SoCs › [CuBox] HD FLACs are not working
This topic contains 12 replies, has 3 voices, and was last updated by
Warped Rudi 2 weeks, 1 day ago.
-
AuthorPosts
-
Hello,
bought yesterday from Linn my first bunch of HD flacs (96KHz/24Bit to 192KHz/24Bit) and was really eager to listen to them.
But it seems that the flac decoding is still done in SW. The cpu load jumps to 96-98% for the 96KHz flacs and to ‘more’ than 100% for the 192Khz. This results in stuttering.
I’m using the snapshot from 5th october. No extra addons, visualisations deactivated.
Tested with CuBox as UPNP renderer and from USB stick (17MB read transfer rate).Is it still on the legacy CuBox roadmap to support the HW flac decoding?
-
This topic was modified 2 months, 1 week ago by
togath.
There is no hardware audio decoding in CuBox “classic”. Not for FLAC and not for anything else. However, I don’t know if the FLAC decoder is fully optimized for ARM revision used in CuBox. BTW, 192kHz/24bit/2channels PCM should work fine.
Hi Rudi,
thanks for your reply. I always thought that there would be some support for decoding audio. Wouln’t it be possible to use the vmeta engine?
Nevertheless I cannot play 192KHz/24Bit flacs with the snapshot from 2013-10-05 due to 100% cpu load.
The flac files from LINN are ok. I checked them with the flac-checker from the flac guys. And they play well on PC.
I always thought that there would be some support for decoding audio. Wouln’t it be possible to use the vmeta engine?
There used to be some specs on the web that suggested this. However, in the source code I have seen so far there is no sign that vMeta can do audio at all. If it can, the “howto” is kept secret by Marvell. They did provide some optimized software codecs. But these are incompatible to the ARMHF ABI used in almost any recent distro and since they are closed source as well there is no chance that we can change this.
I have only tried a short 96/24 FLAC sequence, which works O.K. Maybe I find some 192/24 material on the web to see how it behaves…
Hi Rudi,
I would provide you some material for testing purpose. Since I bought the files I cannot post a donwload link here. I can’t find a way in this forum to send you a PN ….
togath
Search here for a user named “Rudi”. He posts quite often in this forum
I did some tests. It turns out that FLAC itself has hand-optimized code only for Intel and PowerPC. Not for ARM. In addition to that the buffer management + audio engine stuff in XBMC is horribly inefficient. So I’m no longer surprised that FLAC decoding eats up so much CPU time. In r16527 I did some changes in the buffer handling, which improves things a bit. It’s still flaky, but at least with CEC disabled I can hear something. BTW, testing with the other SoCs gave the following:
PandaBoard: file played O.K., but hung near the end
RaspberryPi: file played at much too low sample rate
CubieBoard: file played with heavy stutter at the beginning
CarrierOne/CuCox-i: file played O.K., but hung near the end
CuBox: file played O.K, but became silent near the end, if CEC is enabled results are worseRudi , can you send me your file . I can test it on Utilite.
Works out of the box on Utilite.
Hmmm, I don’t have the circuit diagram at hand, but how does the CEC interferes there? How is it connected to the core?
Wired, that no one did some ARM but x86/x64. Wouldn’t it be possible to compile a flac-lib with really agressive run-time optimisation options. I remember vaguely that I got sometimes some pretty good results when playing with these compiler options.
how does the CEC interferes there
Probably via timing. I suspect that the I2C access is blocking the system too long. But it might also be the additional CPU load introduced by libCEC…
Wouldn’t it be possible to compile a flac-lib with really agressive run-time optimisation options.
I guess it already is. But I can have a look next weekend.
RaspberryPi: file played at much too low sample rate
Just for the records: With the firmware updates committed in r 16599 the file plays fine on the Raspberry.
-
This topic was modified 2 months, 1 week ago by
-
AuthorPosts
You must be logged in to reply to this topic.