| Message ID | 20251125162851.2301793-15-stefan.klug@ideasonboard.com |
|---|---|
| State | Accepted |
| Headers | show |
| Series |
|
| Related | show |
Quoting Stefan Klug (2025-11-25 16:28:26) > When the dewarper is used, an addition buffer loop with > kRkISP1MinBufferCount buffers is created between ISP and dewarper. When > the dewarper is configured, it stores the bufferCount value of the > requested stream configurations. This number of buffers is then imported > when the dewarper is started. > > On the input stream of the dewarper the bufferCount is currently left > unchanged, meaning it carries the bufferCount as supplied by the user > instead of the bufferCount of the additional loop. Fix that by setting > the bufferCount to kRkISP1MinBufferCount. > > Signed-off-by: Stefan Klug <stefan.klug@ideasonboard.com> > Reviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com> > --- > > Changes in v3: > - Added this patch > --- > src/libcamera/pipeline/rkisp1/rkisp1.cpp | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/src/libcamera/pipeline/rkisp1/rkisp1.cpp b/src/libcamera/pipeline/rkisp1/rkisp1.cpp > index 79c8717c839a..138e1d5bf06b 100644 > --- a/src/libcamera/pipeline/rkisp1/rkisp1.cpp > +++ b/src/libcamera/pipeline/rkisp1/rkisp1.cpp > @@ -954,6 +954,7 @@ int PipelineHandlerRkISP1::configure(Camera *camera, CameraConfiguration *c) > if (data->usesDewarper_) { > outputCfgs.push_back(const_cast<StreamConfiguration &>(cfg)); > > + ispCfg.bufferCount = kRkISP1MinBufferCount; > ispCfg.size = format.size; > ispCfg.stride = > PixelFormatInfo::info(ispCfg.pixelFormat) > -- > 2.51.0 >
diff --git a/src/libcamera/pipeline/rkisp1/rkisp1.cpp b/src/libcamera/pipeline/rkisp1/rkisp1.cpp index 79c8717c839a..138e1d5bf06b 100644 --- a/src/libcamera/pipeline/rkisp1/rkisp1.cpp +++ b/src/libcamera/pipeline/rkisp1/rkisp1.cpp @@ -954,6 +954,7 @@ int PipelineHandlerRkISP1::configure(Camera *camera, CameraConfiguration *c) if (data->usesDewarper_) { outputCfgs.push_back(const_cast<StreamConfiguration &>(cfg)); + ispCfg.bufferCount = kRkISP1MinBufferCount; ispCfg.size = format.size; ispCfg.stride = PixelFormatInfo::info(ispCfg.pixelFormat)
When the dewarper is used, an addition buffer loop with kRkISP1MinBufferCount buffers is created between ISP and dewarper. When the dewarper is configured, it stores the bufferCount value of the requested stream configurations. This number of buffers is then imported when the dewarper is started. On the input stream of the dewarper the bufferCount is currently left unchanged, meaning it carries the bufferCount as supplied by the user instead of the bufferCount of the additional loop. Fix that by setting the bufferCount to kRkISP1MinBufferCount. Signed-off-by: Stefan Klug <stefan.klug@ideasonboard.com> --- Changes in v3: - Added this patch --- src/libcamera/pipeline/rkisp1/rkisp1.cpp | 1 + 1 file changed, 1 insertion(+)