[FFmpeg-devel] (new) intermediate codec

Lars Täuber lars.taeuber
Thu Mar 10 22:36:12 CET 2011


On Thu, 10 Mar 2011 21:57:18 +0100 Luca Barbato <lu_zero at gentoo.org> wrote:
> On 03/10/2011 08:49 PM, Lars T?uber wrote:
> > I thought this wouldn't be that hard for a ffmpeg dev. I might be wrong.
> 
> multiple colorspaces is a bit annoying IMHO.

I think of something simple that just encodes planes. The RGB colorspaces could be mapped or copied to a planar representation.
And the arithmetic just encodes the planes independently. This way the codec could easily be enhanced when new colospaces emerge like YUV444A4P16 or ARGB64 or the like.
Every amount of planes would be supported.

This kind of codec would support 
GRAY8, GRAY16, Y400A, YUV4__P, YUV4__P16
and with some memory copying RGB24, ARGB and RGB48 by nature.
 
> > I could generate some raw videos from 16 pngs and encode a still video
> > in every colorspace I'd like the codec to support.
> 
> > But isn't this a bit to trivial to be posted?
> 
> It's time consuming. Anything time consuming but trivial is more
> problematic than something hard but doable in short time once grasped.

I will support the developement of such a codec in every way I can.
(BTW I meant 16_bit_ pngs)

> > I'll try to write a codec sceleton that someone familiar with the ffmpeg
> > internals and with mathematical background can complete.
> 
> As I said the most promising lossless codec I know is ffv1 so if you
> could provide the samples you might get someone to expand it.

FFv1 is really interesting. I used it sometimes, but it decodes much slower than huffyuv on HD video. And when you use it with FullHD videos like my cam writes it is just noch usable in NLEs. It is good for archiving videos but not for working on them.
It lacks frame based multithreading and doesn't support colorspaces with alpha channels yet. Maybe Michael develops it further.


Lars



More information about the ffmpeg-devel mailing list