[libcamera-devel] [PATCH v2 12/13] android: camera_device: Add stream mapping log

Kieran Bingham kieran.bingham at ideasonboard.com
Tue Oct 6 22:03:21 CEST 2020


Hi Jacopo,

On 06/10/2020 15:44, Jacopo Mondi wrote:
> To ease following how Android streams get mapped to libcamera ones
> add a (quite verbose) printout before queueing a request to libcamera.
> 
> The output looks like:
>  0 -  (320x240)[0x00000022] -> (320x240)[NV12] (direct)
>  1 -  (640x480)[0x00000021] -> (640x480)[NV12] (internal)
> 
> Reviewed-by: Laurent Pinchart <laurent.pinchart at ideasonboard.com>
> Reviewed-by: Hirokazu Honda <hiroh at chromium.org>
> Reviewed-by: Niklas Söderlund <niklas.soderlund at ragnatech.se>
> Signed-off-by: Jacopo Mondi <jacopo at jmondi.org>

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

> ---
>  src/android/camera_device.cpp | 13 +++++++++++++
>  1 file changed, 13 insertions(+)
> 
> diff --git a/src/android/camera_device.cpp b/src/android/camera_device.cpp
> index b2fec7040038..58a9f44db219 100644
> --- a/src/android/camera_device.cpp
> +++ b/src/android/camera_device.cpp
> @@ -1376,7 +1376,10 @@ int CameraDevice::processCaptureRequest(camera3_capture_request_t *camera3Reques
>  	Request *request =
>  		camera_->createRequest(reinterpret_cast<uint64_t>(descriptor));
>  
> +	LOG(HAL, Debug) << "Queueing Request to libcamera with "
> +			<< descriptor->numBuffers << " HAL streams";
>  	for (unsigned int i = 0; i < descriptor->numBuffers; ++i) {
> +		camera3_stream *camera3Stream = camera3Buffers[i].stream;
>  		CameraStream *cameraStream =
>  			static_cast<CameraStream *>(camera3Buffers[i].stream->priv);
>  
> @@ -1387,6 +1390,13 @@ int CameraDevice::processCaptureRequest(camera3_capture_request_t *camera3Reques
>  		descriptor->buffers[i].stream = camera3Buffers[i].stream;
>  		descriptor->buffers[i].buffer = camera3Buffers[i].buffer;
>  
> +		std::stringstream ss;
> +		ss << i << " - (" << camera3Stream->width << "x"
> +		   << camera3Stream->height << ")"
> +		   << "[" << utils::hex(camera3Stream->format) << "] -> "
> +		   << "(" << cameraStream->configuration().size.toString() << ")["
> +		   << cameraStream->configuration().pixelFormat.toString() << "]";
> +
>  		/*
>  		 * Inspect the camera stream type, create buffers opportunely
>  		 * and add them to the Request if required.
> @@ -1398,6 +1408,7 @@ int CameraDevice::processCaptureRequest(camera3_capture_request_t *camera3Reques
>  			 * Mapped streams don't need buffers added to the
>  			 * Request.
>  			 */
> +			LOG(HAL, Debug) << ss.str() << " (mapped)";
>  			continue;
>  
>  		case CameraStream::Type::Direct:
> @@ -1409,6 +1420,7 @@ int CameraDevice::processCaptureRequest(camera3_capture_request_t *camera3Reques
>  			 */
>  			buffer = createFrameBuffer(*camera3Buffers[i].buffer);
>  			descriptor->frameBuffers.emplace_back(buffer);
> +			LOG(HAL, Debug) << ss.str() << " (direct)";
>  			break;
>  
>  		case CameraStream::Type::Internal:
> @@ -1420,6 +1432,7 @@ int CameraDevice::processCaptureRequest(camera3_capture_request_t *camera3Reques
>  			 * once it has been processed.
>  			 */
>  			buffer = cameraStream->getBuffer();
> +			LOG(HAL, Debug) << ss.str() << " (internal)";
>  			break;
>  		}
>  
> 

-- 
Regards
--
Kieran


More information about the libcamera-devel mailing list