Multimedia Mike wrote:
Yeah, that's the trade-off with vector quantizers like RoQ-- forever to encode, fast to decode. Check out the designer's dev journal, published over 15 years ago:
http://www.wired.com/wired/archive/3.08/shipping.htmlHe speaks of the super-fast and expensive Pentium boxes they purchased for encoding RoQ video.
I did read that journal, quite interesting. Made me remember my childhood, life in the mid '90's.
When you consider VHS was the leading format of the time, RoQ compression is not bad, at all.
But we are no longer in the '90's lol.
Multimedia Mike wrote:
Try encoding video using the SVQ1 codec in FFmpeg ('ffmpeg -i input.vid -vcodec svq1 output.mov') and see if that can get to acceptable quality within the data rate limitations (and you can test the video in Apple's QuickTime Player). I think SVQ1 is another good candidate for this console.
Then again, I've been analyzing the output of FFmpeg's Switchblade 3 encoder. It's making some odd (apparently suboptimal) decisions. Maybe it can still be improved upon (with SB4, for example).
I tried to use SB4, but it is crashing on my PC. I cant get past the first encode process...
Also, forget QuickTime, I use VLC for general purposes. It supports RoQ BTW.
Attempting some ffmpeg encodes with SVQ1, i do believe it is a better codec to work with, simply due to greater flexibility.
I didn't achieve the desired quality at the target bitrate, but at the very least the target bitrate was attainable. And I am confident that better results could be achieved with better encoder settings.
If you can write/port a SVQ1 decoder for DC, you should. It would be useful for comparison to decide which codec is best, on this platform.
Multimedia Mike wrote:
A few questions:
* Is 512x256 your target resolution? Patbier says he is having success with RoQ on DC @ 320x240.
* Are you sure XviD is actually able to handle decoding 512x256 at whatever framerate on your DC, before the colorspace conversion? That seems like a lot.
* I only have one idea for optimizing the YUV converter, and that's provided that XviD does not do it already.
For libXviD, yes, 512x256 is my target resolution. Something like RoQ should be 512x512.
A few days ago I tested some code to make benchmarks at various stages using my current SH4 optimized build of libxvidcore-1.3.0-rc1.
The sample AVI was encoded as DivX@512x256p, 23.976fps, 1Mbps, MP3@48kHz, 2ch, 128kbps
Here is the sample clip I used, from a recent Family Guy episode
http://www.megaupload.com/?d=JKY4ZSYQ52.75fps = read avi packet -> decode video
47.23fps = read avi packet -> decode video -> transfer/draw decoded image
38.30fps = read avi packet -> decode video -> color conversion -> transfer/draw decoded image
30.64fps = read avi packet -> decode video/audio -> color conversion -> transfer/draw decoded image + stream audio