[Ffmpeg-devel] New Video Codec for low grunt embedded CPU's

Mike Melanson mike
Tue Mar 21 17:41:03 CET 2006


Steven Johnson wrote:
> Hi,
> 
> I need a Codec for Low Power (as in Grunt) CPU's (Im talking less than
> 100Mhz here.)

	Hmm, I'm not familiar with that CPU maker.

[..]
> Are there any comments, or thoughts on this?  Any suggestions on how it
> can be improved, without getting too complex on decode?  Is this
> something your interested in being put into FFMPEG?  Do you think I
> should use a standard codec that already exists, and not re-invent the
> wheel?

	It sounds like you know everything you want (which is everything). Have 
you looked at all the current available technologies?

   http://wiki.multimedia.cx/index.php?title=Category:Video_Codecs

Not too many codecs adapt for 8/15/16/24 bit and if they do, they're 
usually lossless (which may not be desirable depending on your 
requirements). QuickTime RLE and the new DosBox codecs both have 
provisions for a range of colorspaces:

   http://wiki.multimedia.cx/index.php?title=Apple_QuickTime_RLE
   http://wiki.multimedia.cx/index.php?title=DosBox_Capture_Codec

The venerable Cinepak codec operates in 8-bit palettized mode, as well 
as its primary YUV-like mode which is quick and easy to convert to any 
other colorspace, but it might be tricky to get the quality you want out 
of a vector quantizer:

   http://wiki.multimedia.cx/index.php?title=Cinepak

You may be looking for a combination of codecs, one that handles 8-bit 
well and another that scales to 16- and 24-bit. QPEG is an interesting 
8-bit codec that provides for variable block size motion compensation:

   http://wiki.multimedia.cx/index.php?title=QPEG

While Duck TrueMotion 1 (full source code available from On2), is a 
lossy DPCM codec that operates on 16- and 24-bit colorspaces, while 
being optimized for running on 32-bit CPUs:

   http://wiki.multimedia.cx/index.php?title=Duck_TrueMotion_1

Also, check out the MPEG-like 4xm codec which is sometimes used on Game 
Boy Advanced games (low-power CPU):

   http://wiki.multimedia.cx/index.php?title=4xm_Video

	Anyway, there is lots of stuff out there. I encourage you to 
investigate other codecs which might meet your needs before implementing 
your own. At the very least, the decoder is probably already available 
through us so half the effort is already taken care of.

	Hope this helps...
-- 
	-Mike Melanson





More information about the ffmpeg-devel mailing list