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

Michael Niedermayer michaelni
Tue May 18 17:37:21 CEST 2010


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:
> > On Mon, May 17, 2010 at 12:52:10AM +0200, Stefano Sabatini wrote:
> > > On date Sunday 2010-05-16 19:12:00 +0200, Stefano Sabatini encoded:
> > > > On date Sunday 2010-05-16 10:09:37 +0200, Michael Niedermayer encoded:
> > > > > On Sun, May 16, 2010 at 09:52:20AM +0200, Stefano Sabatini wrote:
> > > > > > On date Sunday 2010-05-16 02:43:47 +0200, Michael Niedermayer encoded:
> > > > > > > On Sat, May 15, 2010 at 04:21:16PM +0200, Stefano Sabatini wrote:
> > > > > > > > On date Friday 2010-05-14 23:43:54 +0200, Michael Niedermayer encoded:
> > > > > > > > > On Fri, May 14, 2010 at 02:09:23AM +0200, Stefano Sabatini wrote:
> > > > > > > > [...]
> > > > > > > > > >  nut4cc.txt |   10 ++++++++++
> > > > > > > > > >  1 file changed, 10 insertions(+)
> > > > > > > > > > a70981c1c057d16f5fa3bcdca57f39e8c2f19106  extend-nut-fourcc-tags.patch
> > > > > > > > > > Index: docs/nut4cc.txt
> > > > > > > > > > ===================================================================
> > > > > > > > > > --- docs/nut4cc.txt	(revision 666)
> > > > > > > > > > +++ docs/nut4cc.txt	(working copy)
> > > > > > > > > > @@ -91,6 +91,16 @@
> > > > > > > > > >  ARGB    Packed RGBA 8:8:8:8, 32bpp, ARGB [NOT in AVI]
> > > > > > > > > >  RGB[24] Packed RGB 8:8:8, 24bpp RGB [NOT in AVI]
> > > > > > > > > >  BGR[24] Packed RGB 8:8:8, 24bpp BGR [NOT in AVI]
> > > > > > > > > > +B1W0    black/white bitstream, 1bpp, 0 is white, 1 is black [NOT in AVI]
> > > > > > > > > > +B0W1    black/white bitstream, 1bpp, 1 is white, 0 is black [NOT in AVI]
> > > > > > > > > 
> > > > > > > > > here too the ordering in a byte is ambigous
> > > > > > > > 
> > > > > > > > Both nut and FFmpeg patches updated.
> > > > > > > > 
> > > > > > > > BTW I'm noting that nut4cc.txt lists:
> > > > > > > > 411P    Planar 4:1:1 YUV
> > > > > > > > 422P    Planar 4:2:2 YUV
> > > > > > > > 444P    Planar 4:4:4 YUV
> > > > > > > > 
> > > > > > > > but they're not mentioned neither in [1] neither in [2]. So I suppose
> > > > > > > > they should be marked with "[NOT in AVI]".
> > > > > > > 
> > > > > > > i think ive seen aviswith these but i might misremember
> > > > > > > 
> > > > > > > 
> > > > > > > anyway your patches look ok if tested
> > > > > > 
> > > > > > I have no permissions to commit the nut patch...
> > > > > 
> > > > > you have permission to flame diego ;)
> > > > 
> > > > Diego flamed and patch applied :).
> > > > 
> > > > Now here it is the list of the pixel formats still missing a codec tag
> > > > (and which can't yet be supported in nut):
> > > > bgr4_byte ->none
> > > > rgb4_byte ->none
> > > > gray16be ->none
> > > > gray16le ->none
> > > > yuva420p ->none
> > > > yuv420p16le ->none
> > > > yuv420p16be ->none
> > > > yuv422p16le ->none
> > > > yuv422p16be ->none
> > > > yuv444p16le ->none
> > > > yuv444p16be ->none
> > > > rgb444be ->none
> > > > rgb444le ->none
> > > > bgr444be ->none
> > > > bgr444le ->none
> > > > y400a ->none
> > > 
> > > Threwing some (bad?) idea:
> > > bgr4_byte -> B4BY
> > > rgb4_byte -> R4BY
> > 
> > > gray16be -> G16B
> > > gray16le -> G16L
> > > yuva420p -> Y[42][0]A
> > > yuv420p16le ->[42][0][16]L
> > > yuv420p16be ->[42][0][16]B
> > > yuv422p16le ->[42][0][16]L
> > > yuv422p16be ->[42][2][16]B
> > > yuv444p16le ->[44][4][16]L
> > > yuv444p16be ->[44][4][16]B
> > > y400a ->Y[40][0]A
> > 
> > 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


[...]
-- 
Michael     GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB

The greatest way to live with honor in this world is to be what we pretend
to be. -- Socrates
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: Digital signature
URL: <http://lists.mplayerhq.hu/pipermail/ffmpeg-devel/attachments/20100518/173814f4/attachment.pgp>



More information about the ffmpeg-devel mailing list