[libcamera-devel] [RFC] [PATCH 0/3] Add an option to enable rendering YUV frame by OpenGL shader

Show Liu show.liu at linaro.org
Mon Mar 23 08:25:20 CET 2020


Hi Niklas,

Thanks for your review and comments.
I will have the next version soon according to your suggestions.

On Fri, Mar 20, 2020 at 10:48 PM Niklas Söderlund <
niklas.soderlund at ragnatech.se> wrote:

> 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 will try to fix this problem in the next version.

>
> >
> > 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
>

BR,
Show Liu
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.libcamera.org/pipermail/libcamera-devel/attachments/20200323/7bca67c3/attachment.htm>


More information about the libcamera-devel mailing list