[libcamera-devel] [RFC] [PATCH 0/3] Add an option to enable rendering YUV frame by OpenGL shader
Niklas Söderlund
niklas.soderlund at ragnatech.se
Fri Mar 20 15:48:32 CET 2020
On 2020-03-20 14:50:38 +0100, Niklas Söderlund wrote:
> Hi Show,
>
> Thanks for your work!
>
> On 2020-03-20 16:50:26 +0800, Show Liu wrote:
> > Hi all,
> > I would like to share my adventure on qcam.
> > I added an option to enable rendering YUV frame by OpenGL shader for qcam.
> > Honestly, it's still in progress, and only support NV12 format at present.
> > However the improvement is obviously. I logged the messages below when qcam running.
> > https://pastebin.linaro.org/view/20d91f21
> > In 1280x800 mode:
> > format convert by CPU is around ~4 fps, rendering by GPU up to ~30.0 fps
> > In 1920x1080 mode:
> > format convert by CPU is around ~2 fps, rendering by GPU still up to ~30.0 fps
>
> I have tested this and I get similar result on different device using
> Panfrost GPU, really nice work!
>
> One general observation is that I do get a graphic artifact in the qcam
> GUI, covering about half the dropdown box for camera selection. If I
> specify --opengl the artifact is filled with black, without --opengl
> it's filled with white. If I run without the OpenGL patches I get no
> artifact. I'm not sure if this is an effect of the panfrost driver or
> not.
I get same behavior of the artifact on other systems as well so it's
somehow related the this series I think.
>
> I first tried applying the patches to latest libcamera master, but they
> did not apply. It was easy to solve but you might want to pull in the
> latest changes to qcam so you don't have to solve conflicts later.
>
> I will review the individual patches but just wanted to let you know how
> happy I am seeing and testing this series ;-)
>
> >
> > The improvement still in progress, including more YUV formats support ... etc.
> > And some parts I added are not in good shape, I am trying to make it better.
> > So I appreciate any review conments and suggestion.
> >
> > It's also available on below.
> > https://github.com/showliu/libcamera/commits/qcam_opengl_hack2
> >
> > I tested with kernel 5.5rc5 + Panfrost GPU driver on Rock Pi 4B platform.
> >
> > Show Liu (3):
> > qcam: Added statusbar to show the camera stream configuration
> > qcam: Added opengl widget class for qcam
> > qcam: added an option to enable rendering via OpenGL shader
> >
> > src/qcam/glwidget.cpp | 213 +++++++++++++++++++++++++++++++++++++++
> > src/qcam/glwidget.h | 76 ++++++++++++++
> > src/qcam/main.cpp | 2 +
> > src/qcam/main_window.cpp | 36 ++++++-
> > src/qcam/main_window.h | 3 +
> > src/qcam/meson.build | 4 +-
> > 6 files changed, 330 insertions(+), 4 deletions(-)
> > create mode 100644 src/qcam/glwidget.cpp
> > create mode 100644 src/qcam/glwidget.h
> >
> > --
> > 2.20.1
> >
> > _______________________________________________
> > libcamera-devel mailing list
> > libcamera-devel at lists.libcamera.org
> > https://lists.libcamera.org/listinfo/libcamera-devel
>
> --
> Regards,
> Niklas Söderlund
--
Regards,
Niklas Söderlund
More information about the libcamera-devel
mailing list