| Related |
show
-
[libcamera-devel,v3,00/22] Clean up formats in v4l2-compat and pipeline handlers
-
[libcamera-devel,v3,01/22] libcamera: formats: Add NV24 and NV42, and reorder NV formats
-
[libcamera-devel,v3,02/22] libcamera: formats: Add fields to info to ease calculating stride
-
[libcamera-devel,v3,03/22] libcamera: StreamConfiguration: Add frameSize field
-
[libcamera-devel,v3,04/22] libcamera: V4L2VideoDevice: Add tryFormat
-
[libcamera-devel,v3,05/22] libcamera: formats: PixelFormatInfo: Add v4l2 lookup function
-
[libcamera-devel,v3,06/22] libcamera: PixelFormatInfo: Add functions stride and frameSize
-
[libcamera-devel,v3,07/22] v4l2: v4l2_camera: Add validateConfiguration
-
[libcamera-devel,v3,08/22] v4l2: v4l2_camera_proxy: Use libcamera formats
-
[libcamera-devel,v3,09/22] v4l2: v4l2_camera_proxy: Get stride and frameSize from stream config
-
[libcamera-devel,v3,10/22] v4l2: v4l2_camera_proxy: Use stream config in tryFormat
-
[libcamera-devel,v3,11/22] libcamera: pipeline: raspberrypi: Simplify format fetching
-
[libcamera-devel,v3,12/22] libcamera: pipeline: raspberrypi: Acquire media devices with acquireMe...
-
[libcamera-devel,v3,13/22] libcamera: pipeline_handler: Fatal if registering camera without media...
-
[libcamera-devel,v3,14/22] libcamera: pipeline: raspberrypi: Filter out unsupported formats
-
[libcamera-devel,v3,15/22] libcamera: pipeline: uvcvideo: Filter out unsupported formats
-
[libcamera-devel,v3,16/22] libcamera: ipu3: Fill stride and frameSize at config validation
-
[libcamera-devel,v3,17/22] libcamera: raspberrypi: Fill stride and frameSize at config validation
-
[libcamera-devel,v3,18/22] libcamera: rkisp1: Fill stride and frameSize at config validation
-
[libcamera-devel,v3,19/22] libcamera: simple: Fill stride and frameSize at config validation
-
[libcamera-devel,v3,20/22] libcamera: uvcvideo: Fill stride and frameSize at config validation
-
[libcamera-devel,v3,21/22] libcamera: vimc: Fill stride and frameSize at config validation
-
[libcamera-devel,v3,22/22] libcamera: StreamConfiguration: Update stride documentation
|
This patch series: - improves format-related calculations (stride, frameSize) - cleans up the v4l2 compatibility layer related to formats - fixes v4l2 compatibility interception for the raspberry pi pipeline handler - fixes unsupported formats in uvcvideo and raspberrypi pipeline handlers (the others were fine already) - moves filling in stride and frameSize from camera configuration time to configuration validation time for all pipeline handlers I know it's kind of big but they're all related... some of these patches came from stray short series that never got reviewed, so those can now be disregarded. Patches 1~7 add functions and fields that are necessary in the rest of the patches. Patches 8~10 move formats out of V4L2CameraProxy, and clean up some of its code. Patches 13 forces pipeline handlers to use acquireMediaDevice so that media devices can automatically be mapped to devnums for the v4l2 compatibility layer to intercept, and patch 12 makes the raspberrypi pipeline handler conform to this. Patches 14~15 filter out unsupported formats at configuration generation time, to prevent them from being selected, in the pipeline handlers that hadn't already done so. Patches 16~21 move filling in the stide and frameSize parameters from camera configuration time to configuration validation time. Paul Elder (22): libcamera: formats: Add NV24 and NV42, and reorder NV formats libcamera: formats: Add fields to info to ease calculating stride libcamera: StreamConfiguration: Add frameSize field libcamera: V4L2VideoDevice: Add tryFormat libcamera: formats: PixelFormatInfo: Add v4l2 lookup function libcamera: PixelFormatInfo: Add functions stride and frameSize v4l2: v4l2_camera: Add validateConfiguration v4l2: v4l2_camera_proxy: Use libcamera formats v4l2: v4l2_camera_proxy: Get stride and frameSize from stream config v4l2: v4l2_camera_proxy: Use stream config in tryFormat libcamera: pipeline: raspberrypi: Simplify format fetching libcamera: pipeline: raspberrypi: Acquire media devices with acquireMediaDevice libcamera: pipeline_handler: Fatal if registering camera without media devices libcamera: pipeline: raspberrypi: Filter out unsupported formats libcamera: pipeline: uvcvideo: Filter out unsupported formats libcamera: ipu3: Fill stride and frameSize at config validation libcamera: raspberrypi: Fill stride and frameSize at config validation libcamera: rkisp1: Fill stride and frameSize at config validation libcamera: simple: Fill stride and frameSize at config validation libcamera: uvcvideo: Fill stride and frameSize at config validation libcamera: vimc: Fill stride and frameSize at config validation libcamera: StreamConfiguration: Update stride documentation include/libcamera/internal/formats.h | 15 +- include/libcamera/internal/v4l2_videodevice.h | 4 + include/libcamera/stream.h | 1 + src/libcamera/formats.cpp | 229 ++++++++++++++++-- src/libcamera/pipeline/ipu3/ipu3.cpp | 12 +- .../pipeline/raspberrypi/raspberrypi.cpp | 43 ++-- src/libcamera/pipeline/rkisp1/rkisp1.cpp | 5 +- src/libcamera/pipeline/simple/converter.cpp | 14 ++ src/libcamera/pipeline/simple/converter.h | 5 + src/libcamera/pipeline/simple/simple.cpp | 28 ++- src/libcamera/pipeline/uvcvideo/uvcvideo.cpp | 44 +++- src/libcamera/pipeline/vimc/vimc.cpp | 5 +- src/libcamera/pipeline_handler.cpp | 4 + src/libcamera/stream.cpp | 22 +- src/libcamera/v4l2_videodevice.cpp | 121 +++++++++ src/v4l2/v4l2_camera.cpp | 29 +++ src/v4l2/v4l2_camera.h | 3 + src/v4l2/v4l2_camera_proxy.cpp | 206 +++------------- src/v4l2/v4l2_camera_proxy.h | 8 - 19 files changed, 544 insertions(+), 254 deletions(-)