RAW vs YUV for MIPI Cameras: What to Check Before Ordering
Understand RAW and YUV output, identify the ISP and software requirements, and prepare the format details needed before ordering a MIPI camera module.
Last updated: Nov 12, 2026
When selecting a MIPI camera module, ask what data leaves the module, where image processing happens, and what format your application receives. Record all three stages before approving a configuration. A useful starting diagram is sensor → module output → host capture → processing → application.
This guide helps you define the image-processing requirements for a purchase. Use the exact module documentation and the intended host software to confirm supported formats and processing features.
Start with the output your application needs
Write down the image your application must receive, including format, dimensions, frame rate, and any processing you expect. For example, a hypothetical application might require processed colour frames for a preview, while another saves Bayer samples for its own processing pipeline.
Then work backwards through the proposed system. Ask which component produces that output, which software configures it, and whether the complete path supports the requested operating mode. Include both cameras if you need simultaneous capture.
Use a separate line for each stage in your notes. An application receiving YUV may be downstream of a host image signal processor (ISP). Confirming the application format therefore leaves the module's transmitted format as a separate question.
Read the exact RAW format description
For a Bayer sensor, RAW image data contains samples arranged according to its colour-filter pattern. To interpret a capture, you need the Bayer order, sample bit depth, packing, dimensions, and buffer layout. Ask whether cropping, flipping, or other configured transformations affect the reported arrangement.
Linux documents several Bayer layouts. Its packed RAW10 formats place four samples in five bytes, while its unpacked 10-bit formats use 16-bit words. The meaningful sample depth and storage size must both be recorded when choosing a viewer or allocating buffers. These are specific memory-format examples. Check the camera link's data type separately. Linux packed RAW10, Linux 10-bit Bayer in 16-bit words
A monochrome sensor needs its own format description. Ask for the actual sample arrangement rather than applying a colour Bayer workflow to every RAW stream.
Specify the YUV layout completely
YUV is a family of representations. Ask for the exact format identifier, component bit depth, chroma subsampling, packing or plane layout, and row stride. Your application and capture stack must agree on how to read the buffer.
For example, Linux describes UYVY and YUYV as different byte arrangements for packed 8-bit YUV 4:2:2. Each stores two pixels in four bytes, giving an average of 16 bits per pixel. Recording only “8-bit YUV” leaves both the layout and data budget incomplete.