libcamera: pipeline: rkisp1: Set number of planes based on format
The RkISP1 pipeline originally only supported NV formats which have 2
planes. When support for YUV formats was added the plane count on the
output format was not made to reflect this. Instead of hard coding the
plane count to 2 fetch the number of planes from the format information.
Reported-by: Jacopo Mondi <jacopo@jmondi.org>
Fixes: 2b1a908b52 ("libcamera: camera: Add a validation API to the CameraConfiguration class")
Signed-off-by: Niklas Söderlund <niklas.soderlund@ragnatech.se>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
This commit is contained in:
@@ -667,10 +667,11 @@ int PipelineHandlerRkISP1::configure(Camera *camera, CameraConfiguration *c)
|
||||
|
||||
LOG(RkISP1, Debug) << "Resizer output pad configured with " << format.toString();
|
||||
|
||||
const PixelFormatInfo &info = PixelFormatInfo::info(cfg.pixelFormat);
|
||||
V4L2DeviceFormat outputFormat = {};
|
||||
outputFormat.fourcc = video_->toV4L2PixelFormat(cfg.pixelFormat);
|
||||
outputFormat.size = cfg.size;
|
||||
outputFormat.planesCount = 2;
|
||||
outputFormat.planesCount = info.numPlanes();
|
||||
|
||||
ret = video_->setFormat(&outputFormat);
|
||||
if (ret)
|
||||
|
||||
Reference in New Issue
Block a user