[v1,3/4] pipeline: rpi: Add new stream flags for PiSP
diff mbox series

Message ID 20250113093532.4054142-4-naush@raspberrypi.com
State Accepted
Headers show
Series
  • Raspberry Pi: Add support for Pi 5 (PiSP)
Related show

Commit Message

Naushir Patuck Jan. 13, 2025, 9:24 a.m. UTC
Add the following new stream flags:

Needs16bitEndianSwap - Indicates that a 16-bit endian swap needs to be
performed on the framebuffer in software.

Needs14bitUnpack - Indicates that a CSI-2 14-bit unpacking (to 16-bits)
needs to be performed on the framebuffer in software.

These are to workaround hardware restrictions in the CFE hardware that
will be supported in a future commit.

Signed-off-by: Naushir Patuck <naush@raspberrypi.com>
---
 src/libcamera/pipeline/rpi/common/rpi_stream.h | 10 ++++++++++
 1 file changed, 10 insertions(+)

Comments

Kieran Bingham March 20, 2025, 11:13 a.m. UTC | #1
Quoting Naushir Patuck (2025-01-13 09:24:45)
> Add the following new stream flags:
> 
> Needs16bitEndianSwap - Indicates that a 16-bit endian swap needs to be
> performed on the framebuffer in software.
> 
> Needs14bitUnpack - Indicates that a CSI-2 14-bit unpacking (to 16-bits)
> needs to be performed on the framebuffer in software.
> 
> These are to workaround hardware restrictions in the CFE hardware that
> will be supported in a future commit.
> 
> Signed-off-by: Naushir Patuck <naush@raspberrypi.com>


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

> ---
>  src/libcamera/pipeline/rpi/common/rpi_stream.h | 10 ++++++++++
>  1 file changed, 10 insertions(+)
> 
> diff --git a/src/libcamera/pipeline/rpi/common/rpi_stream.h b/src/libcamera/pipeline/rpi/common/rpi_stream.h
> index a13d5dc0d5e9..0dba12961743 100644
> --- a/src/libcamera/pipeline/rpi/common/rpi_stream.h
> +++ b/src/libcamera/pipeline/rpi/common/rpi_stream.h
> @@ -82,6 +82,16 @@ public:
>                  * to be applied after ISP processing.
>                  */
>                 Needs32bitConv  = (1 << 4),
> +               /*
> +                * Indicates that the input stream needs a software 16-bit endian
> +                * conversion to be applied before ISP processing.
> +                */
> +               Needs16bitEndianSwap = (1 << 5),
> +               /*
> +                * Indicates that the input stream needs a software 14-bit to
> +                * 16-bit unpacking.
> +                */
> +               Needs14bitUnpack = (1 << 6),
>         };
>  
>         using StreamFlags = Flags<StreamFlag>;
> -- 
> 2.43.0
>

Patch
diff mbox series

diff --git a/src/libcamera/pipeline/rpi/common/rpi_stream.h b/src/libcamera/pipeline/rpi/common/rpi_stream.h
index a13d5dc0d5e9..0dba12961743 100644
--- a/src/libcamera/pipeline/rpi/common/rpi_stream.h
+++ b/src/libcamera/pipeline/rpi/common/rpi_stream.h
@@ -82,6 +82,16 @@  public:
 		 * to be applied after ISP processing.
 		 */
 		Needs32bitConv	= (1 << 4),
+		/*
+		 * Indicates that the input stream needs a software 16-bit endian
+		 * conversion to be applied before ISP processing.
+		 */
+		Needs16bitEndianSwap = (1 << 5),
+		/*
+		 * Indicates that the input stream needs a software 14-bit to
+		 * 16-bit unpacking.
+		 */
+		Needs14bitUnpack = (1 << 6),
 	};
 
 	using StreamFlags = Flags<StreamFlag>;