
On date Monday 2010-05-31 18:17:00 +0200, Stefano Sabatini wrote:
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)
Ping?