[libcamera-devel,v2,3/3] android: CameraDevice: Deny non ROTATION_0 stream configuration
diff mbox series

Message ID 20210328224528.55468-4-hiroh@chromium.org
State Superseded
Headers show
Series
  • Regard crop_rotate_scale_degrees in configuration
Related show

Commit Message

Hirokazu Honda March 28, 2021, 10:45 p.m. UTC
Libcamera doesn't handle crop_rotate_scale_degrees. Therefore,
if it is requested, that is, crop_rotate_scale_degrees is not
CAMERA3_STREAM_ROTATION_0, the configuration should fail.

Signed-off-by: Hirokazu Honda <hiroh@chromium.org>
---
 src/android/camera_device.cpp | 7 +++++++
 1 file changed, 7 insertions(+)

--
2.31.0.291.g576ba9dcdaf-goog

Comments

Laurent Pinchart March 29, 2021, 4:32 a.m. UTC | #1
Hi Hiro,

Thank you for the patch.

On Mon, Mar 29, 2021 at 07:45:28AM +0900, Hirokazu Honda wrote:
> Libcamera doesn't handle crop_rotate_scale_degrees. Therefore,

s/Libcamera/libcamera/

> if it is requested, that is, crop_rotate_scale_degrees is not
> CAMERA3_STREAM_ROTATION_0, the configuration should fail.
> 
> Signed-off-by: Hirokazu Honda <hiroh@chromium.org>

Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>

> ---
>  src/android/camera_device.cpp | 7 +++++++
>  1 file changed, 7 insertions(+)
> 
> diff --git a/src/android/camera_device.cpp b/src/android/camera_device.cpp
> index d3368b19..11c0f35a 100644
> --- a/src/android/camera_device.cpp
> +++ b/src/android/camera_device.cpp
> @@ -1647,6 +1647,13 @@ int CameraDevice::configureStreams(camera3_stream_configuration_t *stream_list)
>  		if (!format.isValid())
>  			return -EINVAL;
> 
> +		/* \todo Support rotation. */
> +		if (stream->rotation != CAMERA3_STREAM_ROTATION_0 ||
> +		    stream->crop_rotate_scale_degrees != CAMERA3_STREAM_ROTATION_0) {
> +			LOG(HAL, Error) << "Rotation is not supported";
> +			return -EINVAL;
> +		}
> +
>  		/* Defer handling of MJPEG streams until all others are known. */
>  		if (stream->format == HAL_PIXEL_FORMAT_BLOB) {
>  			if (jpegStream) {
Jacopo Mondi March 29, 2021, 8:03 a.m. UTC | #2
Hi Hiro

On Mon, Mar 29, 2021 at 07:45:28AM +0900, Hirokazu Honda wrote:
> Libcamera doesn't handle crop_rotate_scale_degrees. Therefore,
> if it is requested, that is, crop_rotate_scale_degrees is not
> CAMERA3_STREAM_ROTATION_0, the configuration should fail.
>
> Signed-off-by: Hirokazu Honda <hiroh@chromium.org>

Reviewed-by: Jacopo Mondi <jacopo@jmondi.org>

Thanks
  j

> ---
>  src/android/camera_device.cpp | 7 +++++++
>  1 file changed, 7 insertions(+)
>
> diff --git a/src/android/camera_device.cpp b/src/android/camera_device.cpp
> index d3368b19..11c0f35a 100644
> --- a/src/android/camera_device.cpp
> +++ b/src/android/camera_device.cpp
> @@ -1647,6 +1647,13 @@ int CameraDevice::configureStreams(camera3_stream_configuration_t *stream_list)
>  		if (!format.isValid())
>  			return -EINVAL;
>
> +		/* \todo Support rotation. */
> +		if (stream->rotation != CAMERA3_STREAM_ROTATION_0 ||
> +		    stream->crop_rotate_scale_degrees != CAMERA3_STREAM_ROTATION_0) {
> +			LOG(HAL, Error) << "Rotation is not supported";
> +			return -EINVAL;
> +		}
> +
>  		/* Defer handling of MJPEG streams until all others are known. */
>  		if (stream->format == HAL_PIXEL_FORMAT_BLOB) {
>  			if (jpegStream) {
> --
> 2.31.0.291.g576ba9dcdaf-goog
> _______________________________________________
> libcamera-devel mailing list
> libcamera-devel@lists.libcamera.org
> https://lists.libcamera.org/listinfo/libcamera-devel

Patch
diff mbox series

diff --git a/src/android/camera_device.cpp b/src/android/camera_device.cpp
index d3368b19..11c0f35a 100644
--- a/src/android/camera_device.cpp
+++ b/src/android/camera_device.cpp
@@ -1647,6 +1647,13 @@  int CameraDevice::configureStreams(camera3_stream_configuration_t *stream_list)
 		if (!format.isValid())
 			return -EINVAL;

+		/* \todo Support rotation. */
+		if (stream->rotation != CAMERA3_STREAM_ROTATION_0 ||
+		    stream->crop_rotate_scale_degrees != CAMERA3_STREAM_ROTATION_0) {
+			LOG(HAL, Error) << "Rotation is not supported";
+			return -EINVAL;
+		}
+
 		/* Defer handling of MJPEG streams until all others are known. */
 		if (stream->format == HAL_PIXEL_FORMAT_BLOB) {
 			if (jpegStream) {