Support and General Use > Audio Playback, Database and Playlists

Audio drop-outs when playing AAC files on Sansa E260 (Nero codec)

<< < (2/3) > >>

OldSchool:
Lear:

I'm not sure whether I'm handling these quotes correctly - please bear with me if I mess it up:


--- Quote from: Lear ---Not sure if I understand your question, as the decoder is in Rockbox (it has to be). However, the decoder is FAAD, which is copyrighted by Nero AG...
--- End quote ---

My bad, I didn't ask quite the right question. By "Nero decoder" I meant the neroAacDec.exe, that came in the zip file from Nero, along with the AAC encoder (neroAacDec.exe) that was used to create test files for the timing tests. I didn't realize that RB FAAD was also from Nero. Is it possible the two are the same animal? (I'll look into this)

From what you and Saratoga have said, it seems the best approach would be to look at the AAC decoding. Where can I find info on the "ffmpeg AAC decoder" you mentioned?

Saratoga:


--- Quote from: saratoga on January 02, 2008, 02:52:45 PM ---A dozen channels shouldn't be that CPU intensive.  Just use a couple IIR bandpass filters of low order and only update a couple times a second.
--- End quote ---

I was also thinking that any compression scheme based on a (modified) DCT - all of the ones used in RB AFAIK - must have frequency spectrum information available in the compressed data files. I don't know enough about the file formats or the DCT (yet), but I plan to investigate some.

Multiple IIR filters would be a good method, and has the advantage that it would operate on the output stream - therefore independent of the compression technique. Most of my DSP experience is with FFTs and FIR filters, so this could be an interesting departure. I gather there is IIR filter code already in RB (for the equalizer?), can you point me at the source?

Lear and Saragota

Thanks much for your help, I have lots to look at and think about.

Later...









edited to make the quotes read right. Hope Oldschool doesn't mind ;)

Lear:

--- Quote from: saratoga on January 02, 2008, 02:52:45 PM ---Have you been working on the ffmpeg AAC decoder?  Can you tell me more about its status?

--- End quote ---
No, I haven't. Just read a little about it on the ffmpeg project's mailing lists. And that was a while ago, so I don't know much about the current status.


--- Quote from: OldSchool on January 02, 2008, 08:23:36 PM ---My bad, I didn't ask quite the right question. By "Nero decoder" I meant the neroAacDec.exe, that came in the zip file from Nero, along with the AAC encoder (neroAacDec.exe) that was used to create test files for the timing tests. I didn't realize that RB FAAD was also from Nero. Is it possible the two are the same animal? (I'll look into this)
--- End quote ---

Not the same exactly, but neroaadec could (and probably does) use the same decoder library. One difference is that in Rockbox, certain AAC profiles have been disabled.


--- Quote ---From what you and Saratoga have said, it seems the best approach would be to look at the AAC decoding. Where can I find info on the "ffmpeg AAC decoder" you mentioned?
--- End quote ---

Heard of Google? ;D

OldSchool:
Saratoga:

I've taken another look at the frequency spectral display idea again. I fear the design of the IIR filter implementation, using fixed point arithmetic, is beyond me unless I can get access to some design tools (possibly Matlab or Labview). I'll have to put it on the "Back burner" for now.

saratoga:

--- Quote from: OldSchool on January 06, 2008, 09:28:39 PM ---Saratoga:

I've taken another look at the frequency spectral display idea again. I fear the design of the IIR filter implementation, using fixed point arithmetic, is beyond me unless I can get access to some design tools (possibly Matlab or Labview). I'll have to put it on the "Back burner" for now.

--- End quote ---

Never done filters in fixed point, but I doubt its that difficult.  I think you can design then in fp, then change all the multiplies to calls to a fixed point multiply routine (you can steal them from several of the codecs, wmafixed.c/h in the wma codec for instance).  Finally, make sure to convert your input samples from rockbox into whatever fixed format you're using.

OldSchool:
Actually, fixed point filter design and implementation is generally considered (so I'm told, I've never done it either) to be much more difficult because of arithmetic over/under flow, saturation, quantization noise, scaling etc etc. As it turns out, I do have access to some design tools (and I'll try your suggestion about wmsfixed.c/h - thanks), so there's still hope...

Cheers.

Navigation

[0] Message Index

[#] Next page

[*] Previous page

Go to full version