Embedded Linux ·
Zero-copy in an Embedded Linux camera pipeline means moving ownership, not pixels
Zero-copy is not "no data movement". It means avoiding unnecessary CPU-mediated copies between pipeline stages.
How DMA-BUF shares one buffer across the pipeline
In an Embedded Linux camera pipeline, V4L2 buffers can be exported through DMA-BUF and shared with the ISP, GPU, display or encoder. Each component operates on the same underlying memory, while ownership and synchronisation move through the pipeline.
What you gain
Done well, the result is:
- Lower memory bandwidth
- Reduced CPU load
- More predictable latency
- Better throughput at higher resolutions
Where the difficult work is
The hard part is buffer lifecycle management. Format compatibility, cache coherency, fences and back-pressure must all remain correct as a buffer passes from one stage to the next. A pipeline that gets any of these wrong can fail intermittently, or quietly fall back to copying.
Move buffer ownership, not pixels.