Our Product Insights

OMAP 35x Camera ISP


Recently, we had some queries on how to program the OMAP 35x ISP in Windows CE for a sensor that doesn’t have the ISP inside it. As we know that when there is an ISP inside the camera, we should not use the OMAP 35x’s ISP features and just use the OMAP processor’s camera pipeline to transfer images to the memory.

For more information on OMAP 35x camera driver interface, please see Omap-35x-camera Blog. This blog is more about how to use some of the OMAP 35x ISP’s features to obtain the best performance. This is particularly useful for sensors like OV5630, OV2710 etc.

I will give the overview on the basic register configuration for capturing data from BAYER RAW sensor without using any of Image processing functionalities.


Following are the register you may need to configure for capturing Bayer RAW data from the sensor.

Camera ISP registers:
For programming interrupt for the End of Frame capture, SYNC and HSYNC detect, PREVIEW done interrupt, RESIZER done interrupt etc. Using ISP registers you would be able control the power state of whole camera ISP


This unit is responsible for capturing both RAW and YUV data from the sensor.

You may need to program the parameters like Polarity of the VSYNC and HSYNC signals, output format of the sensor (YUV or RAW), Number of Pixels per line, number of lines per frame, number of start line for valid frame, start of valid pixel in each line, number of data bits to sample from the sensor, Bits per pixel, whether output is written to memory or PREVIEW engine. There is also option to pass CCDC output to RESIZER module bypassing PREVIEW, but this configuration is only work for YUV sensors (RESIZER can only work with YUV data).



This unit is responsible for doing Color space conversion (Bayer RAW–>YUV), Color Correction (color spectrum of the sensor can be adjusted to the human color spectrum), Gamma Correction, luminance enhancement etc.

You may need to program the parameters like input width and height of the frame to the PREVIEW engine,RGB to YUV conversion coefficients, output data to memory, output data to RESIZER module ,input is from memory or CCDC module, one shot or continuous,YUV data format on the memory, etc.,

  • PRV_CSC0
  • PRV_CSC1
  • PRV_CSC2


This unit is straightforward Upsampling and downsampling unit. You may need to program the parameters like input frame width and height, input frame memory address if input is selected as one shot, output frame width and height, output frame memory address, resizing coefficients etc.


Both PREVIEW and RESIZER unit is capable of getting input from the CCDC as well as from memory.

OMAP35x Camera ISP has internal MMU. If it is enabled then you may need to use virtual address of the image buffer to output data from above units. If MMU is not enabled means then you need to use physical address of the image buffer for programming the output address in the above engines.

For the best quality of the image you may need to make use of all the image processing functionality.

Related posts


Darshan Patel (SquareOne) September 2, 2009 at 12:14 am

Can you provide more details for the camera driver design for wince for your OMAP camera modules

admin December 1, 2009 at 3:55 pm

“Yes, we provide the video streaming application with source code along with this module. To be precise, once you switch on the overlay from the application, you can see the Video streaming on to the LCD. What is the application you are targeting?”

Gan June 20, 2012 at 8:48 pm

DM3730 looks like to have the same ISP module as that of omap3530, I want to know if the ISP module support connect 2 cameras simultaneously. What the highest resolution (X * Y) of the YUV data it supports when 2 cameras are available. We are targeting the handset devices.

Anitha Jothiprakash June 26, 2012 at 4:13 pm

DM3730 support dual cameras simultaneously. But only one of the camera output can be fed into PREVIEW engine or the Video Port and the other camera output will be transferred to the memory directly. In the PREVIEW engine it has got a Horizontal width limitation of 4096 pixels per line. PREVIEW engine is used only for converting RAW image into YUV422.If you are going to use YUV output sensor then there is no limitation on the resolution.

Comments are closed.