[libcamera-devel] pipeline: rpi: vc4: Fix drop frame bug when no ISP streams are configured
diff mbox series

Message ID 20231023135446.10579-1-naush@raspberrypi.com
State Accepted
Commit 34b248c88f3ab67f47e64a6eab0a784e43f40488
Headers show
Series
  • [libcamera-devel] pipeline: rpi: vc4: Fix drop frame bug when no ISP streams are configured
Related show

Commit Message

Naushir Patuck Oct. 23, 2023, 1:54 p.m. UTC
If no ISP output streams are configured, the ISP output count is skipped
for the the low res stream, and causes the drop frame logic to fail
because of a count mismatch. This in-turn stops any requests from
completing correctly.

Fix this by ensuring the low res output is counted correctly when no ISP
output streams are configured.

Signed-off-by: Naushir Patuck <naush@raspberrypi.com>
---
 src/libcamera/pipeline/rpi/vc4/vc4.cpp | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Kieran Bingham Oct. 24, 2023, 1:41 p.m. UTC | #1
Quoting Naushir Patuck via libcamera-devel (2023-10-23 14:54:46)
> If no ISP output streams are configured, the ISP output count is skipped
> for the the low res stream, and causes the drop frame logic to fail
> because of a count mismatch. This in-turn stops any requests from
> completing correctly.
> 
> Fix this by ensuring the low res output is counted correctly when no ISP
> output streams are configured.
> 
> Signed-off-by: Naushir Patuck <naush@raspberrypi.com>

Reviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com>

> ---
>  src/libcamera/pipeline/rpi/vc4/vc4.cpp | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/src/libcamera/pipeline/rpi/vc4/vc4.cpp b/src/libcamera/pipeline/rpi/vc4/vc4.cpp
> index 616e0bc95021..a5cc4fc11471 100644
> --- a/src/libcamera/pipeline/rpi/vc4/vc4.cpp
> +++ b/src/libcamera/pipeline/rpi/vc4/vc4.cpp
> @@ -628,7 +628,7 @@ int Vc4CameraData::platformConfigure(const RPi::RPiCameraConfiguration *rpiConfi
>          * \todo If Output 1 format is not YUV420, Output 1 ought to be disabled as
>          * colour denoise will not run.
>          */
> -       if (outStreams.size() == 1) {
> +       if (outStreams.size() <= 1) {
>                 V4L2VideoDevice *dev = isp_[Isp::Output1].dev();
>  
>                 V4L2DeviceFormat output1Format;
> -- 
> 2.34.1
>

Patch
diff mbox series

diff --git a/src/libcamera/pipeline/rpi/vc4/vc4.cpp b/src/libcamera/pipeline/rpi/vc4/vc4.cpp
index 616e0bc95021..a5cc4fc11471 100644
--- a/src/libcamera/pipeline/rpi/vc4/vc4.cpp
+++ b/src/libcamera/pipeline/rpi/vc4/vc4.cpp
@@ -628,7 +628,7 @@  int Vc4CameraData::platformConfigure(const RPi::RPiCameraConfiguration *rpiConfi
 	 * \todo If Output 1 format is not YUV420, Output 1 ought to be disabled as
 	 * colour denoise will not run.
 	 */
-	if (outStreams.size() == 1) {
+	if (outStreams.size() <= 1) {
 		V4L2VideoDevice *dev = isp_[Isp::Output1].dev();
 
 		V4L2DeviceFormat output1Format;