[libcamera-devel] [PATCH 14/21] qcam: viewfinder: Move multi-planar check into viewfinder
Kieran Bingham
kieran.bingham at ideasonboard.com
Mon Mar 23 18:06:24 CET 2020
Hi Laurent,
On 23/03/2020 14:21, Laurent Pinchart wrote:
> The lack of support for multiplanar buffers comes from the viewfinder.
> Move the corresponding check from MainWindow.
Presumably this limitation can be removed with the FormatConvertor too?
(Particularly when we get a hardware accelerated format convertor...)
Reviewed-by: Kieran Bingham <kieran.bingham at ideasonboard.com>
> Signed-off-by: Laurent Pinchart <laurent.pinchart at ideasonboard.com>
> ---
> src/qcam/main_window.cpp | 7 +------
> src/qcam/main_window.h | 2 +-
> src/qcam/viewfinder.cpp | 6 ++++++
> 3 files changed, 8 insertions(+), 7 deletions(-)
>
> diff --git a/src/qcam/main_window.cpp b/src/qcam/main_window.cpp
> index c0feb91a6fb1..ad0d6bf4f3e5 100644
> --- a/src/qcam/main_window.cpp
> +++ b/src/qcam/main_window.cpp
> @@ -519,14 +519,9 @@ void MainWindow::processCapture()
> queueRequest(buffer);
> }
>
> -int MainWindow::display(FrameBuffer *buffer)
> +void MainWindow::display(FrameBuffer *buffer)
> {
> - if (buffer->planes().size() != 1)
> - return -EINVAL;
> -
> viewfinder_->display(buffer, &mappedBuffers_[buffer]);
> -
> - return 0;
> }
>
> void MainWindow::queueRequest(FrameBuffer *buffer)
> diff --git a/src/qcam/main_window.h b/src/qcam/main_window.h
> index 0918ae5307d8..03db761b58e4 100644
> --- a/src/qcam/main_window.h
> +++ b/src/qcam/main_window.h
> @@ -65,7 +65,7 @@ private:
>
> void requestComplete(Request *request);
> void processCapture();
> - int display(FrameBuffer *buffer);
> + void display(FrameBuffer *buffer);
> void queueRequest(FrameBuffer *buffer);
>
> /* UI elements */
> diff --git a/src/qcam/viewfinder.cpp b/src/qcam/viewfinder.cpp
> index d00edc33dfb7..b8feabd5d189 100644
> --- a/src/qcam/viewfinder.cpp
> +++ b/src/qcam/viewfinder.cpp
> @@ -11,6 +11,7 @@
> #include <QImageWriter>
> #include <QMutexLocker>
> #include <QPainter>
> +#include <QtDebug>
>
> #include "format_converter.h"
>
> @@ -27,6 +28,11 @@ ViewFinder::~ViewFinder()
> void ViewFinder::display(const libcamera::FrameBuffer *buffer,
> MappedBuffer *map)
> {
> + if (buffer->planes().size() != 1) {
> + qWarning() << "Multi-planar buffers are not supported";
> + return;
> + }
> +
> QMutexLocker locker(&mutex_);
>
> /*
>
--
Regards
--
Kieran
More information about the libcamera-devel
mailing list