This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

OMAp4460: RAW8/10 to YUV/RGB conversion.

Hi All,

I want to interface a camera sensor (CSI2) with OMAP4460. My sensor output is RAW8 or RAW10.

Once the interfacing is done, I am looking for some application use cases which will include:

1. "capture->encode->stream"
2. "capture->encode->decode->display"

If my understanding is correct, OMAP4460 can encode only YUV420 format.

Can anyone please tell me is there any way to convert my sensor output (RAW8/10) to YUV420 to achieve above use-case?

--
Regards,
Krunal

  • Hi Krunal,

    OMAP4460 internally has ISP HW module which would take care of color conversion to YUV420 as part of Pre-Processing pipeline. You are planning to use which software release and hardware platform?

    If you are using 4AI.1.6 ICS release with Blaze Tablet2 platform, you can find VTC Loopback test application as part of pre-built binaries that supports your usecases already. Only thing you may have to take care is to choose the sensor that is already supported by TI releases to get going immediately.

    Thanks & Best Regards,

    Venkat

  • Hi Venkat,

    Thanks for the valuable inputs.

    I am planning to use Pandaboard-ES for this development. I already have a sensor module which output data in RAW8 and RAW16 format. I will be writing a driver on my own to use it inside android.

    I was referring to attached OMAP4460-TRM - ISP module Page: 1846, 1847. I could not find it can convert RAW8/10 to YUV 420 format. Can you please help me to resolve below doubts:

    1. What is the difference between RGB and RAW8/10 bit format?
    2. Can OMAP4460 convert RAW8/10 to YUV420 (encoder input) format? Is the software/driver available? Where can I find it?
    3. If there any documentation available for ISP drivers (like PSP documents) and Encoder/decoder features?

    Thanks in advance for the help.!

    Regards,

    Krunal

  • Hi Krunal,

    Please find the answers for your queries as mentioned below.

    1. What is the difference between RGB and RAW8/10 bit format?

    RAW8/10 bit format is Bayer RGB data as captured by the RAW sensors. Bayer RGB data consists of alternate lines with RGRGRG...  GBGBGB... pixel data for each pixel location. On the other hand, RGB format indicates that every pixel what is the value of R, G & B. This is obtained by CFA Interpolation algorithm implemented in ISP IPIPE. RAW8/10 bit format does not have R, G B pixel values for each pixel location.

    2. Can OMAP4460 convert RAW8/10 to YUV420 (encoder input) format? Is the software/driver available? Where can I find it?

    You can look at the 8.3.3.4 ISS ISP IPIPE Functional Description section of OMAP4460 TRM to check the features and capabilities of IPIPE module. ISP drivers should include IPIPE processing pipeline which gives output in YUV422. This input is fed to SIMCOP LDC module to get YUV420 output.

    3. If there any documentation available for ISP drivers (like PSP documents) and Encoder/decoder features?

    I need to check in regards to this with some local folks for some pointers to access ISP drivers for Pandaboard. I will share that information after I find it out.

    Thanks & Best Regards,

    Venkat

  • Hi Venkat,

    Thanks a lot for the response. Really Appreciate.!

    I am looking into TRM. I hope the IPIPE driver will support RAW8/10 -> YUV420 conversion in hardware. I don't want to use software conversion which will add tremendous overhead on ARM.

    I will wait for the ISP drivers and related documents.

    If it is under some kind of NDA, please let me know I will contact local TI FAE and try to get access under NDA terms. This is bit urgent for me.

    --

    Regards,

    Krunal

  • Hi Krunal,

    As per the OMAP4 TRM under the section 8.3.3.4 on ISP IPIPE Functional Description, you can see that the RGB Bayer Pattern data (RAW8/10 Bayer Data) is taken as input and the output would be YUV 422 or YUV 420.

    The whole package of ISP drivers is part of the Ducati SW deliverables and are distributed under NDA. It should also be noted that some of the proprietary algorithms are shared as only libraries such as 3A algorithms etc., Please check with local TI FAE for more information in regards to access permissions and NDA terms for getting Ducati SW which has ISP drivers embedded.

    Thanks & Best Regards,

    Venkat

  • Hi Venkat,

    Thanks for the clarification.

    I am in touch with local FAE to get more details on Ducati source code. Meanwhile, I was also looking for another possibility and found that there are opensource drivers available based on V4l2. https://www.gitorious.org/omap4-v4l2-camera

    I am not sure, whether these drivers are fully tested and reliable or not and does that support all the functionality I am looking for.

    Do you have any experience working with these open-source drivers?

    Regards,

    Krunal

  • Krunal,

    Opensource driver supports RAW and YUV capture from camera interface. But it is not supporting RAW to YUV conversion.

    Regards,

    Chintan

  • Hi Chintan,

    Thanks for the valuable information.

    I just wanted to confirm my understanding - "The OMAP4460 encoder needs YUV420 as input" is that correct?

    I need the conversion just to overcome this limitation.

    Regards,

    Krunal

  • Hi Krunal,

    Yes, the OMAP4460 encoder requires YUV420 as input.

    Thanks & Best Regards,

    Venkat