[PATCH] Add RGB555X and RGB565X formats to pxa-camera
marek.vasut at gmail.com
Sat Sep 5 23:50:23 EDT 2009
Dne Ne 6. září 2009 00:05:14 Guennadi Liakhovetski napsal(a):
> On Sat, 5 Sep 2009, Marek Vasut wrote:
> > Dne So 5. zÃ¡ÅÃ 2009 22:19:42 Guennadi Liakhovetski napsal(a):
> > > On Sat, 5 Sep 2009, Marek Vasut wrote:
> > > > Dne So 5. zÃ¡ÅÃ 2009 10:55:55 Guennadi Liakhovetski napsal(a):
> > > > > Marek, please, look in PXA270 datasheet. To support a specific
> > > > > pixel format means, e.g., to be able to process it further,
> > > > > according to this format's particular colour component ordering.
> > > > > Process further can mean convert to another format, extract various
> > > > > information from the data (statistics, etc.)... Now RGB555 looks
> > > > > like (from wikipedia)
> > > > >
> > > > > 15 14 13 12 11 10 09 08 07 06 05 04 03 02 01 00
> > > > > R4 R3 R2 R1 R0 G4 G3 G2 G1 G1 B4 B3 B2 B1 B1 --
> > > > >
> > > > > (Actually, I thought bit 15 was unused, but it doesn't matter for
> > > > > this discussion.) Now, imagine what happens if you swap the two
> > > > > bytes. I don't think the PXA will still be able to meaningfully
> > > > > process that format.
> > > >
> > > > Not on the pxa side, but on the camera side -- Bs and Rs swapped in
> > > > the diagram above.
> > >
> > > And then? Are you trying to tell me, that the PXA then swaps them
> > > back?...
> > No, the software has to do it then, I'm trying to tell you that it has
> > nothing to do with PXA (as PXA really doesnt care if the channel is
> > actually blue or red).
> Of course it does. I asked you to swap the above two bytes, you would get
> 15 14 13 12 11 10 09 08 07 06 05 04 03 02 01 00
> G1 G0 B4 B3 B2 B1 B0 -- R4 R3 R2 R1 R0 G4 G3 G2
> and PXA would still inerpret this as
> R4 R3 R2 R1 R0 G4 G3 G2 G1 G0 B4 B3 B2 B1 B0 --
> i.e., it would take bits
> R2 R1 R0 G4 G3
> for blue, bits
> B1 B0 -- R4 R3
> for green, and bits
> G1 G0 B4 B3 B2
> as red. Which, as you see, makes no sense. That's why I'm saying, that it
> doesn't support this format, and we can only pass it through as raw data.
Ah damn, I see what you mean. What the camera does is it swaps the RED and BLUE
15 14 13 12 11 10 09 08 07 06 05 04 03 02 01 00
B4 B3 B2 B1 B0 G4 G3 G2 G1 G1 R4 R3 R2 R1 R1 --
so it's more a BGR555/565 then. I had to patch fswebcam for this.
Sorry for the confusion.
> Guennadi Liakhovetski, Ph.D.
> Freelance Open-Source Software Developer
More information about the linux-arm-kernel