pipeline: rkisp1: Split inputCrop and outputCrop

One Rectangle instance is used to calculate the inputCrop and the
outputCrop of the ISP in the rkisp1 pipeline. Split that into two
distinct variables, because both values will be needed in the upcoming
patches. This patch does not contain any functional changes.

Signed-off-by: Stefan Klug <stefan.klug@ideasonboard.com>
Reviewed-by: Paul Elder <paul.elder@ideasonboard.com>
Reviewed-by: Jacopo Mondi <jacopo.mondi@ideasonboard.com>
This commit is contained in:
Stefan Klug 2024-12-16 16:40:44 +01:00
parent ec097d63ef
commit 169b65ce16

View file

@ -795,15 +795,16 @@ int PipelineHandlerRkISP1::configure(Camera *camera, CameraConfiguration *c)
if (ret < 0) if (ret < 0)
return ret; return ret;
Rectangle rect(0, 0, format.size); Rectangle inputCrop(0, 0, format.size);
ret = isp_->setSelection(0, V4L2_SEL_TGT_CROP, &rect); ret = isp_->setSelection(0, V4L2_SEL_TGT_CROP, &inputCrop);
if (ret < 0) if (ret < 0)
return ret; return ret;
LOG(RkISP1, Debug) LOG(RkISP1, Debug)
<< "ISP input pad configured with " << format << "ISP input pad configured with " << format
<< " crop " << rect; << " crop " << inputCrop;
Rectangle outputCrop = inputCrop;
const PixelFormat &streamFormat = config->at(0).pixelFormat; const PixelFormat &streamFormat = config->at(0).pixelFormat;
const PixelFormatInfo &info = PixelFormatInfo::info(streamFormat); const PixelFormatInfo &info = PixelFormatInfo::info(streamFormat);
isRaw_ = info.colourEncoding == PixelFormatInfo::ColourEncodingRAW; isRaw_ = info.colourEncoding == PixelFormatInfo::ColourEncodingRAW;
@ -821,15 +822,15 @@ int PipelineHandlerRkISP1::configure(Camera *camera, CameraConfiguration *c)
const auto &cfg = config->at(0); const auto &cfg = config->at(0);
Size ispCrop = format.size.boundedToAspectRatio(cfg.size) Size ispCrop = format.size.boundedToAspectRatio(cfg.size)
.alignedUpTo(2, 2); .alignedUpTo(2, 2);
rect = ispCrop.centeredTo(Rectangle(format.size).center()); outputCrop = ispCrop.centeredTo(Rectangle(format.size).center());
format.size = ispCrop; format.size = ispCrop;
} }
LOG(RkISP1, Debug) LOG(RkISP1, Debug)
<< "Configuring ISP output pad with " << format << "Configuring ISP output pad with " << format
<< " crop " << rect; << " crop " << outputCrop;
ret = isp_->setSelection(2, V4L2_SEL_TGT_CROP, &rect); ret = isp_->setSelection(2, V4L2_SEL_TGT_CROP, &outputCrop);
if (ret < 0) if (ret < 0)
return ret; return ret;
@ -840,7 +841,7 @@ int PipelineHandlerRkISP1::configure(Camera *camera, CameraConfiguration *c)
LOG(RkISP1, Debug) LOG(RkISP1, Debug)
<< "ISP output pad configured with " << format << "ISP output pad configured with " << format
<< " crop " << rect; << " crop " << outputCrop;
std::map<unsigned int, IPAStream> streamConfig; std::map<unsigned int, IPAStream> streamConfig;
std::vector<std::reference_wrapper<StreamConfiguration>> outputCfgs; std::vector<std::reference_wrapper<StreamConfiguration>> outputCfgs;