[FFmpeg-devel] [PATCH 10/13] Add rawvideo pixel formats to codec tags mapping for the newly added nut rawvideo pixel formats codec tags.

Stefano Sabatini stefano.sabatini-lala
Fri May 21 00:14:52 CEST 2010


On date Tuesday 2010-05-18 21:35:22 +0200, Michael Niedermayer encoded:
> On Tue, May 18, 2010 at 09:23:56PM +0200, Stefano Sabatini wrote:
> > On date Tuesday 2010-05-18 17:37:21 +0200, Michael Niedermayer encoded:
> > > On Tue, May 18, 2010 at 12:22:53AM +0200, Stefano Sabatini wrote:
> > > > On date Monday 2010-05-17 01:10:03 +0200, Michael Niedermayer encoded:
> > [...]
> > > > > all these fall under the same kind
> > > > > the information to store for them is
> > > > > 8bit/16LE/16BE
> > > > > the 2 chroma subsample factors (special values for no chroma seem to fit in too)
> > > > > something to indicate alpha
> > > > 
> > > > gray16le    ->Y[00][16]L
> > > > gray16be    ->Y[00][16]B
> > > > yuv420p16le ->Y[20][16]L
> > > > yuv420p16be ->Y[20][16]B
> > > > yuv422p16le ->Y[22][16]L
> > > > yuv422p16be ->Y[22][16]B
> > > > yuv444p16le ->Y[44][16]L
> > > > yuv444p16be ->Y[44][16]B
> > > > yuva420p    ->Y[00][8]A
> > > > y400a       ->Y[00][8]A
> > > 
> > > fails for 16bit + alpha
> > > 
> > > 
> > > > 
> > > > Second scheme:
> > > > gray16le    ->Y3[00][16]
> > > > gray16be    ->Y3[00][61]
> > > > yuv420p16le ->Y3[20][16]
> > > > yuv420p16be ->Y3[20][61]
> > > > yuv422p16le ->Y3[22][16]
> > > > yuv422p16be ->Y3[22][61]
> > > > yuv444p16le ->Y3[44][16]
> > > > yuv444p16be ->Y3[44][61]
> > > > yuva420p    ->Y4[20][ 8]
> > > > y400a       ->Y4[00][ 8]
> > > 
> > > totally wrong, we need the 2 subsample factors not random
> > > numbers
> > > and it should not be mixed by 10*a+b but some power of 2
> > > and the way be/le is indicated should be the same as is used for rgb and
> > > in the mov container
> > 
> > Y1 = only Y
> > Y3 = YUV
> > Y4 = YUVA
> > YA = Y+A
> 
> the number of planes is fine no need to complicate it beyond that
> 
> 
> > 
> > The third byte contains the log_2_chroma_w/h values for UV.
> > The fourth byte is the number of bits used (8, 16, ...).
> > 
> > If the order of bytes is inverted, that means that each component has
> > to be read big-endian.
> > 
> > gray16le    ->Y1[00][16]
> > gray16be    ->[16][00]1Y
> > yuv420p16le ->Y3[11][16]
> > yuv420p16be ->[16][11]3Y
> > yuv422p16le ->Y3[10][16]
> > yuv422p16be ->[16][10]3Y
> > yuv444p16le ->Y3[00][16]
> > yuv444p16be ->[16][00]3Y
> > yuva420p    ->Y4[11][ 8]
> > y400a       ->YA[00][ 8]
> 
> i think this is close to be ok
> id like to wait a day or 2 for commensts and maybe you could post a patch to
> nut-devel which is the right place for it

Posted to nut-devel.

Regards.
-- 
FFmpeg = Fierce and Free Magical Pitiful Evanescent Gem



More information about the ffmpeg-devel mailing list