Hello,
This series implements support for multiplane pixel formats at vimc.
A lot of changes were required since vimc support for singleplane
was "hardcoded". The code has been adapted in order to support both
formats. When was possible, the functions were written generically,
avoiding functions for just one type of pixel format (single/multi)
and favoring code reuse.
The debayer subdevice is the only one that currently doesn't supports
multiplanar formats. Documentation to each device will be made in a
future patch.
Thanks,
AndrÃ
Andrà Almeida (16):
media: Move sp2mp functions to v4l2-common
media: vimc: Remove unnecessary stream check
media: vimc: Check if the stream is on using ved.stream
media: vimc: cap: Change vimc_cap_device.format type
media: vimc: Create multiplanar parameter
media: vimc: cap: Dynamically define stream pixelformat
media: vimc: cap: Add handler for singleplanar fmt ioctls
media: vimc: cap: Add handler for multiplanar fmt ioctls
media: vimc: cap: Add multiplanar formats
media: vimc: cap: Add multiplanar default format
media: vimc: cap: Allocate and verify mplanar buffers
media: vimc: Add and use new struct vimc_frame
media: vimc: sen: Add support for multiplanar formats
media: vimc: sca: Add support for multiplanar formats
media: vimc: cap: Add support for multiplanar formats
media: vimc: cap: Dynamically define device caps
drivers/media/platform/vimc/vimc-capture.c | 310 +++++++++++++++---
drivers/media/platform/vimc/vimc-common.c | 37 +++
drivers/media/platform/vimc/vimc-common.h | 50 ++-
drivers/media/platform/vimc/vimc-core.c | 8 +
drivers/media/platform/vimc/vimc-debayer.c | 38 +--
drivers/media/platform/vimc/vimc-scaler.c | 125 ++++---
drivers/media/platform/vimc/vimc-sensor.c | 62 ++--
drivers/media/platform/vimc/vimc-streamer.c | 2 +-
drivers/media/platform/vivid/vivid-vid-cap.c | 6 +-
.../media/platform/vivid/vivid-vid-common.c | 59 ----
.../media/platform/vivid/vivid-vid-common.h | 9 -
drivers/media/platform/vivid/vivid-vid-out.c | 6 +-
drivers/media/v4l2-core/v4l2-common.c | 62 ++++
include/media/v4l2-common.h | 31 ++
14 files changed, 580 insertions(+), 225 deletions(-)