Support and General Use > Audio Playback, Database and Playlists
Discussions (& strategies) on getting WMA and M4A (AAC) decoding in real-time.
Davide-NYC:
I wish you (JonathanHull) all the luck in the world circumventing the hardware/software chokehold your legitimately aquired music is in. DRM should be harware/software independant. I like the idea of individually encoding the buyers data into the audio itself. "bitprinting" every file sold with the buyer's name and purchase order number and then distributing the WAV files in a lossless format is the only way I would ever consider 'joining in'. 224kbps? No thanks.
But I wouldn't want this thread to get ahead of itself, so back on topic! ;D
The idea here is to discuss methods for better coordinating the optimization effort for these two decoders. In other words: How can we direct volunteer developer hours in a more efficient manner? It would be a crying shame if two ASM capable devs works on the same hunks of code at the same time. This would be a tragic waste of (wo)man hours.
I'm going to pose this question on the developer mailing list soon, but I'd like to let it 'mature' here first so that it doesn't come across half baked.
I think a list of files with a brief description of what the file does, followed by the dev willing to look at the file, followed by some comments and then the estimated state of optimization. (maybe boost ratios for different bitrates and targets?)
These are the files in the libwma folder from the flyspray patch:
asf.c
avcodec.h
avformat.h
avi.h
avio.c
avio.h
aviobuf.c
codeccontext.h
common.h
cutils.c
dsputil.h
dtypes.h
file.c
fixedpoint.c
fixedpoint.h
futils.c
parser.c
test.c
utils.c
wmadeci.c
wmadeci.h
wmadeci_mixed.c
wmadeci_mixed.h
What do these files do exactly? What do they need done to them? Do we need them all for wma playback? (asf.c and avi.h for example) etc etc etc.
JonathanHull:
Oh man do I agree.
These songs were all bought on iTunes 2+ years ago with gift certificates from family. I would not, and will not, but DRM'd music. But I figure if I own some might as well try to listen to it.
I also have some WMA files I stripped the DRM out of that came from Napster (also with a gift certificat), but thats another story.
Lear:
--- Quote from: Davide-NYC on September 26, 2006, 05:27:49 PM ---The idea here is to discuss methods for better coordinating the optimization effort for these two decoders. In other words: How can we direct volunteer developer hours in a more efficient manner? It would be a crying shame if two ASM capable devs works on the same hunks of code at the same time. This would be a tragic waste of (wo)man hours.
--- End quote ---
This hasn't really been a problem, as far as I know. The number of developers working on the codecs has been quite small. Some coordination, if needed, occurs on IRC.
--- Quote ---I think a list of files with a brief description of what the file does, followed by the dev willing to look at the file, followed by some comments and then the estimated state of optimization. (maybe boost ratios for different bitrates and targets?)
--- End quote ---
I not so sure a list would be very useful... Before even considering assembler optimization, you need to know what parts to optimize. To know that, you first need to have a working codec, perhaps with some basic/obvious optimizations applied (typically a few small inlined functions with target-specific code).
Then you do a profile run and see where the most time is spent. At that point it is a good idea to try to figure out what buffers/constant tables to put in the fast internal RAM, and move them there. This typically involves changes in several files, and is best done by a single developer.
Once you've done those basic steps (which is about the state the AAC decoder is at), you are at a point where a list might help. But it often turns out that most of the processing is done in a small number of functions, involving maybe 2-3 files.
Davide-NYC:
--- Quote from: Lear on September 27, 2006, 07:50:35 AM ---Then you do a profile run and see where the most time is spent.
--- End quote ---
Is there any way for me to do some testing and then report my findings here? I am willing to encode whatever audio to all possible bitrates in both AAC and WMA and do whatever testing is necessary.
It is this type of time consuming 'lesser' skilled task that I can contribute to the effort.
If this is at all possible I will need explicit instructions.
;D
Lear:
--- Quote from: Davide-NYC on September 28, 2006, 01:46:41 PM ---Is there any way for me to do some testing and then report my findings here? I am willing to encode whatever audio to all possible bitrates in both AAC and WMA and do whatever testing is necessary.
--- End quote ---
Not really, I'm afraid. What could possibly help is if you find a file that doesn't play real-time when expected, or need an unusually high boost ratio, given the bitrate and type of encoding. That is a bit premature in the case of AAC though, since there are some files that won't play back at all at the moment.
Navigation
[0] Message Index
[#] Next page
[*] Previous page
Go to full version