[NUT-devel] [RFC] FourCCs for rawvideo rgb4_byte / bgr4_byte

Stefano Sabatini stefasab at gmail.com
Mon May 31 18:17:00 CEST 2010


On date Friday 2010-05-28 03:23:38 +0200, Michael Niedermayer wrote:
> On Thu, May 27, 2010 at 12:14:24PM +0200, Stefano Sabatini wrote:
> > On date Thursday 2010-05-27 00:59:21 +0200, Stefano Sabatini wrote:
[...]
> > > I was almost committing, but since there are other formats I want to
> > > add support for, maybe someone can find out a scheme for all of them.
> > > 
> > > These are the format I want to add support for:
> > > bgr4_byte ->none
> > > rgb4_byte ->none
> > > rgb444be ->none
> > > rgb444le ->none
> > > bgr444be ->none
> > > bgr444le ->none
> > > 
> > > I propose this scheme.
> > > 
> > > First byte:
> > > b = BGR
> > > B = BGR+A
> > > r = RGB
> > > R = RGB+A
> > > a = ABGR
> > > A = ARGB
> 
> i dont like this at all, using upper/lower case to distinguish formats
> 
> following is much closer to the existing system:
> RGBA -> RBA[bits]
> ARGB -> ARB[bits]
> ABGR -> ABR[bits]
> BGRA -> BRA[bits]

This only works if all the components have the same amount of bits.

Anyway I don't mind if you want to use this scheme for the missing
formats:
rgb444be -> [16]BRA
rgb444le -> ARB[16]
bgr444be -> [16]RBA
bgr444le -> ABR[16]

"G" is always implicit, as its position is always assumed to be
between "R" and "B".

As for rgb_byte and bgr_byte we may use ad-hoc FourCCs:
B4BY (bgr4_byte) Packed BGR 1:2:1,  8bpp, (msb)1B 2G 1R(lsb)
R4BY (rgb4_byte) Packed RGB 1:2:1,  8bpp, (msb)1R 2G 1B(lsb)

Regards.


More information about the NUT-devel mailing list