[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
Tue May 18 00:22:53 CEST 2010


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

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]

Regards.
-- 
FFmpeg = Faithless Faithless MultiPurpose Encoding/decoding Ghost



More information about the ffmpeg-devel mailing list