MIPI CSI RAW10 to RAW8 Conversion on i.MX 8M Nano

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

MIPI CSI RAW10 to RAW8 Conversion on i.MX 8M Nano

Jump to solution
2,466 Views
amurray
Contributor II

Hello,

We're currently using an i.MX 8M Nano to capture 10 bit raw bayer from a CSI MIPI sensor. This is working as expected.

Besides the GPU/Soft-ISP - Does the i.MX 8M Nano have any hardware capability to convert from RAW10 to RAW8?

Thanks,

Andrew Murray

0 Kudos
1 Solution
2,458 Views
igorpadykov
NXP Employee
NXP Employee

Hi Andrew

 

unfortunately  i.MX8M Nano has not hardware ISP support, so conversion

to other formats can be performed by software.

 

Best regards
igor

View solution in original post

0 Kudos
6 Replies
2,459 Views
igorpadykov
NXP Employee
NXP Employee

Hi Andrew

 

unfortunately  i.MX8M Nano has not hardware ISP support, so conversion

to other formats can be performed by software.

 

Best regards
igor

0 Kudos
2,450 Views
amurray
Contributor II

Thanks for the quick reply. I suspected this would be the answer.

Do you think it's feasible to use the SDMA to perform this type of operation?

Andrew Murray

0 Kudos
2,410 Views
igorpadykov
NXP Employee
NXP Employee

> it's feasible to use the SDMA to perform this type of operation?

 

sorry I do not think so.

 

Best regards
igor

 

 

0 Kudos
2,443 Views
ceggers1
Contributor IV

The SDMA can only perform very basic arithmetic operations like add, sub and bit shift (but no multiply nor division). Is this enough for converting between the RAW formats?

The SDMA is not a DSP, so even if this operation is possible, it would probably make no sense. The SDMA is typically clocked with 66 or 133 MHz, which is much slower than the ARM CPU(s).

The SDMA is mainly useful for:
- reducing interrupts on the CPU(s)
- ensure continuous flow of data

In some cases the SDMA may pre-/post-process data while copying between RAM and peripheral. But this will not increase overall performance in most cases.

0 Kudos
2,386 Views
ceggers
Contributor V

Hi Andrew,

do you know which type of calculation is required when converting from RAW10 to RAW8?

regards,
Christian

0 Kudos
2,371 Views
amurray
Contributor II

Hi Christian,

Thanks for your responses.

The 10bit RAW format is packed into 16bits leaving some unused bits. To convert from 10bits to 8bits we simply need to drop alternating bytes (to drop the 2 least significant bits). I suspect the SDMA can do this. The goal here really is to reduce load on the CPU.

It seems the the CSC allows for colour space conversion - whilst this doesn't do 10bit to 8bits, it does allow you to specify your own coefficients. Depending on assumptions I've made about how the CSC handles YUV, it may be possible to do this via a YUV422 to RGB565 conversion - though I'm sure there is probably something I've missed.

In any case we may have now found a way for our camera sensor to output 8bits avoiding the need for the above.

Thanks,

Andrew Murray

0 Kudos