Support for RAW RGB (10-bit) Camera

cancel
Showing results for 
Search instead for 
Did you mean: 

Support for RAW RGB (10-bit) Camera

2,343 Views
aravinthkumarja
Senior Contributor II

Dear all,

I'm using OV2710 camera parallel interface on imx6 Android 6 platform. This camera output format is 10bit RAW RGB.

For this which "V4L2_PIX_FMT_" format i need to use.?

Is there any driver code for OV2710.?

Regards,

Aravinth

0 Kudos
11 Replies

935 Views
aravinthkumarja
Senior Contributor II

Hi Joan,

ipu_id i have configured properly. IPU format i set to IPU_PIX_FMT_GENERIC_16. Now i can able to capture the image. But the image look as Black and white (Grey scale).

How can i make to RGB.?

Why it came as Grey scale image.?

Regards,

Aravinth 

0 Kudos

935 Views
joanxie
NXP TechSupport
NXP TechSupport

if your camera send 10bits data, then IPU will instore it as 16bits in the memory, you need to capture the high 10bits by yourself software, otherwise you couldnt get the correct data, you can dump the data to check it.

0 Kudos

935 Views
aravinthkumarja
Senior Contributor II

Is there any sample test application.??

Regards,

Aravinth

0 Kudos

935 Views
joanxie
NXP TechSupport
NXP TechSupport

unfortunately, we don't have such sample code, just can tell you how IPU works when camera send 10bits data.

0 Kudos

935 Views
aravinthkumarja
Senior Contributor II

Thanks Joan,

Could you please explain me how it's work's.? And how can i change.?

0 Kudos

935 Views
joanxie
NXP TechSupport
NXP TechSupport

in IPU, "for 10bit  raw data [9:0], it will be packed as16bits as {[9:0],[9:4]]} to memory, that is, it will use the high 6bits to compensate the low 6 bits of the 16bits"

I assumed that your camera sends the data is 80 89, 80 c9, then the IPU get the data (a2 89), the high 10bits is same as your camer data(80 89), the low 6bits (100010) is from the high 6bits of your camera 10bits data(I mean that 100010 from high of 89) ,

935 Views
sankarraj
Contributor I

Hi, we are working on a similar sensor (ours is OV13850, only RAW10 supported). We have set the test pattern and got a raw data image. As per the above reply, the raw 10 data is converted to 16 bits by IPU. We couldn't quite understand this. 

Suppose, the sensor sends data (1010001011 - RAW 10 - 10 Bits); after the IPU, do we get [9:0, 9:4] which is [1010001011 101000 - 16 bits] == 0xA2 0xE8 ?

Could you please help to understand this?

Also as a RAW10 format is sent as 5 bytes for every four pixels, is there a way we could discard the last two bits and get 8 bit data?

Thanks!

0 Kudos

935 Views
joanxie
NXP TechSupport
NXP TechSupport

if your sensor sends data 1010001011(0xA2C0, the high 10bits is the data from sensor), then you expect get data is

C0 A2, but in fact you will get E8 A2, so the high 10bits you get is the same as the data from your camera, for discard last two bits, you need to operate this by software, no HW support this operation

0 Kudos

935 Views
joanxie
NXP TechSupport
NXP TechSupport

IPU couldnt' supprt 10bits raw data directly, one can set 16bits, then capture the high 10bits by yourself software.

0 Kudos

935 Views
aravinthkumarja
Senior Contributor II

Hi Joan,

Thanks for your response. IPU format i set to IPU_PIX_FMT_GENERIC_16 as per your information.

In dtsi file how can i select the ipu_id.?

Regards,

Aravinth 

0 Kudos

935 Views
joanxie
NXP TechSupport
NXP TechSupport

ipu_id depends on which ipu(ipu0 or ipu1) you use for your camera.

0 Kudos