libcamera: camera_sensor: Transform CameraSensor::sizes()
In CameraSensor, the mbusCodes() and sizes() accessor functions retrieves all the supported media bus codes and the supported sizes respectively. However, this is quite limiting since the caller probably isn't in a position to match which range of sizes are supported for a particular mbusCode. Hence, the caller is most likely interested to know about the sizes supported for a particular media bus code. This patch transforms the existing CameraSensor::sizes() to CameraSensor::sizes(mbuscode) to achieve that goal. The patch also transforms existing CIO2Device::sizes() in IPU3 pipeline handler to CIO2Device::sizes(PixelFormat) on a similar principle. The function is then plumbed to CameraSensor::sizes(mbusCode) to enumerate the per-format sizes as required in PipelineHandlerIPU3::generateConfiguration(). Signed-off-by: Umang Jain <umang.jain@ideasonboard.com> Tested-by: Jacopo Mondi <jacopo@jmondi.org> Reviewed-by: Jacopo Mondi <jacopo@jmondi.org> Reviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
This commit is contained in:
parent
887dbdb439
commit
a18c9f0490
6 changed files with 46 additions and 14 deletions
|
@ -76,7 +76,7 @@ protected:
|
|||
return TestFail;
|
||||
}
|
||||
|
||||
const std::vector<Size> &sizes = sensor_->sizes();
|
||||
const std::vector<Size> &sizes = sensor_->sizes(*iter);
|
||||
auto iter2 = std::find(sizes.begin(), sizes.end(),
|
||||
Size(4096, 2160));
|
||||
if (iter2 == sizes.end()) {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue