[libcamera-devel] [PATCH v6 0/4] qcam: accelerate format conversion by OpenGL shader
Show Liu
show.liu at linaro.org
Fri Sep 11 10:55:10 CEST 2020
Hi Laurent,
This is patch set v6 for qcam accelerated format conversion by OpenGL shader.
The changes mainly based on your comments on v5, including:
* New coordinates matrix for vertex and texture mapping
* Move the NV 3 planes fragment shader into one file, and the YUV420 and YVU420 format
use the same one.
* And this version is always renew the fragment shader when set format to avoid
if the format changed.
* And of course refine some parts you mentioned.
Please let me know if I still lose something.
Known issue:
* The on/off issue is still there, not fixed yet.
Thanks,
Show
Show Liu (4):
qcam: add OpenGL shader code as Qt resource
qcam: new viewfinder hierarchy
qcam: add viewfinderGL class to accelerate the format convert
qcam: add additional command line option to select the render type
meson.build | 1 +
src/qcam/assets/shader/NV_2_planes_UV_f.glsl | 32 ++
src/qcam/assets/shader/NV_2_planes_VU_f.glsl | 32 ++
src/qcam/assets/shader/NV_3_planes_f.glsl | 33 ++
src/qcam/assets/shader/NV_vertex_shader.glsl | 16 +
src/qcam/assets/shader/shaders.qrc | 9 +
src/qcam/main.cpp | 3 +
src/qcam/main_window.cpp | 31 +-
src/qcam/main_window.h | 3 +
src/qcam/meson.build | 20 +-
src/qcam/viewfinder.h | 57 +--
src/qcam/viewfinder_gl.cpp | 456 ++++++++++++++++++
src/qcam/viewfinder_gl.h | 96 ++++
.../{viewfinder.cpp => viewfinder_qt.cpp} | 24 +-
src/qcam/viewfinder_qt.h | 64 +++
15 files changed, 812 insertions(+), 65 deletions(-)
create mode 100644 src/qcam/assets/shader/NV_2_planes_UV_f.glsl
create mode 100644 src/qcam/assets/shader/NV_2_planes_VU_f.glsl
create mode 100644 src/qcam/assets/shader/NV_3_planes_f.glsl
create mode 100644 src/qcam/assets/shader/NV_vertex_shader.glsl
create mode 100644 src/qcam/assets/shader/shaders.qrc
create mode 100644 src/qcam/viewfinder_gl.cpp
create mode 100644 src/qcam/viewfinder_gl.h
rename src/qcam/{viewfinder.cpp => viewfinder_qt.cpp} (86%)
create mode 100644 src/qcam/viewfinder_qt.h
--
2.20.1
More information about the libcamera-devel
mailing list