mirror of
https://git.libcamera.org/libcamera/libcamera.git
synced 2025-07-23 16:45:07 +03:00
libcamera: ipu3: Fill stride and frameSize at config validation
Fill the stride and frameSize fields of the StreamConfiguration at configuration validation time instead of at camera configuration time. This allows applications to get the stride when trying a configuration without modifying the active configuration of the camera. Signed-off-by: Paul Elder <paul.elder@ideasonboard.com> Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
This commit is contained in:
parent
bded08db18
commit
3a9c574ed9
1 changed files with 6 additions and 8 deletions
|
@ -278,6 +278,12 @@ CameraConfiguration::Status IPU3CameraConfiguration::validate()
|
|||
<< cfg.toString();
|
||||
status = Adjusted;
|
||||
}
|
||||
|
||||
const PixelFormatInfo &info = PixelFormatInfo::info(cfg.pixelFormat);
|
||||
bool packedRaw = info.colourEncoding == PixelFormatInfo::ColourEncodingRAW;
|
||||
|
||||
cfg.stride = info.stride(cfg.size.width, 0, packedRaw ? 64 : 1);
|
||||
cfg.frameSize = info.frameSize(cfg.size, packedRaw ? 64 : 1);
|
||||
}
|
||||
|
||||
return status;
|
||||
|
@ -495,21 +501,13 @@ int PipelineHandlerIPU3::configure(Camera *camera, CameraConfiguration *c)
|
|||
if (ret)
|
||||
return ret;
|
||||
|
||||
cfg.stride = outputFormat.planes[0].bpl;
|
||||
outActive = true;
|
||||
} else if (stream == vfStream) {
|
||||
ret = imgu->configureViewfinder(cfg, &outputFormat);
|
||||
if (ret)
|
||||
return ret;
|
||||
|
||||
cfg.stride = outputFormat.planes[0].bpl;
|
||||
vfActive = true;
|
||||
} else {
|
||||
/*
|
||||
* The RAW stream is configured as part of the CIO2 and
|
||||
* no configuration is needed for the ImgU.
|
||||
*/
|
||||
cfg.stride = cio2Format.planes[0].bpl;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue