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:
parent
ec097d63ef
commit
169b65ce16
1 changed files with 8 additions and 7 deletions
|
@ -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;
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue