[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