Message ID | 20201006144432.22908-13-jacopo@jmondi.org |
---|---|
State | Accepted |
Headers | show |
Series |
|
Related | show |
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@ideasonboard.com> > Reviewed-by: Hirokazu Honda <hiroh@chromium.org> > Reviewed-by: Niklas Söderlund <niklas.soderlund@ragnatech.se> > Signed-off-by: Jacopo Mondi <jacopo@jmondi.org> Reviewed-by: Kieran Bingham <kieran.bingham@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; > } > >
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; }