<div dir="ltr"><div dir="ltr">Hi Laurent,<div><br clear="all"><div><div dir="ltr" class="gmail_signature" data-smartmail="gmail_signature"><div dir="ltr"></div></div></div><br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Mon, Sep 7, 2020 at 12:25 AM Laurent Pinchart <<a href="mailto:laurent.pinchart@ideasonboard.com">laurent.pinchart@ideasonboard.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Hi Show,<br>
<br>
Thank you for the patches.<br>
<br>
On Fri, Sep 04, 2020 at 04:43:11PM +0800, Show Liu wrote:<br>
> This is patch set v5 for qcam accelerated format conversion by OpenGL shader.<br>
> It's based on viewfinderGL(patch set v3), please skip the v4.<br>
> <br>
> In this version, I changed the original viewfinder hierarchy including created<br>
> viewfinder base and move the original viewfinder as default Qt rendering and<br>
> created new viewfinderGL to handle OpenGL stuff and also move the OpenGL shader<br>
> code as Qt resource. All the changes are according to the previous review comments.<br>
> <br>
> Known issue:<br>
> * It's running well at start time, but when the stop button is pressed and<br>
> starts again, there is no more capture event being triggered.<br>
> <br>
> Todo:<br>
> * Show the No camera icon when the capture stops being pressed.<br>
<br>
Nice work ! My head hurts with opengl now :-)<br>
<br>
Patches 1/4, 2/4 and 4/4 are mostly fine. I've sent more comments for<br>
patch 3/4, but nothing that should affect the architecture.</blockquote><div><br></div><div>Thanks for the review, I am trying to modify it according to your comments. </div><div><br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"> If there are<br>
issue you're not sure how to address, please let me know. I can try to<br>
help with the integration, letting you focus on the GL part. For<br>
instance I can have a look at the issues mentioned above,</blockquote><div>If so, that would be grateful!! ...:-)</div><div><br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">as well as the<br>
QT_NO_OPENGL conditional compilation. We also need to fall back to<br>
ViewFinderQt when the format isn't supported by ViewFinderGL, and that's<br>
also something I can handle.<br></blockquote><div>Actually I have thinks about this problem when I generating this series,</div><div>but the ViewFinderGL been generated before we got the format, currently</div><div>I am just have warning message and suggest to use render qt if setFormat() is failed</div><div class="gmail_quote"><br></div><div class="gmail_quote"><br></div><div class="gmail_quote"><br></div>Best Regards,<div>Show Liu </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<br>
> Show Liu (4):<br>
> qcam: add OpenGL shader code as Qt resource<br>
> qcam: new viewfinder hierarchy<br>
> qcam: add viewfinderGL class to accelerate the format convert<br>
> qcam: add additional command line option to select the render type<br>
> <br>
> src/qcam/assets/shader/NV_2_planes_UV_f.glsl | 32 ++<br>
> src/qcam/assets/shader/NV_2_planes_VU_f.glsl | 32 ++<br>
> src/qcam/assets/shader/NV_3_planes_UV_f.glsl | 33 ++<br>
> src/qcam/assets/shader/NV_3_planes_VU_f.glsl | 33 ++<br>
> src/qcam/assets/shader/NV_vertex_shader.glsl | 16 +<br>
> src/qcam/assets/shader/shaders.qrc | 10 +<br>
> src/qcam/main.cpp | 3 +<br>
> src/qcam/main_window.cpp | 29 +-<br>
> src/qcam/main_window.h | 6 +<br>
> src/qcam/meson.build | 7 +-<br>
> src/qcam/viewfinder.h | 60 +--<br>
> src/qcam/viewfinder_gl.cpp | 441 ++++++++++++++++++<br>
> src/qcam/viewfinder_gl.h | 97 ++++<br>
> .../{viewfinder.cpp => viewfinder_qt.cpp} | 24 +-<br>
> src/qcam/viewfinder_qt.h | 67 +++<br>
> 15 files changed, 824 insertions(+), 66 deletions(-)<br>
> create mode 100644 src/qcam/assets/shader/NV_2_planes_UV_f.glsl<br>
> create mode 100644 src/qcam/assets/shader/NV_2_planes_VU_f.glsl<br>
> create mode 100644 src/qcam/assets/shader/NV_3_planes_UV_f.glsl<br>
> create mode 100644 src/qcam/assets/shader/NV_3_planes_VU_f.glsl<br>
> create mode 100644 src/qcam/assets/shader/NV_vertex_shader.glsl<br>
> create mode 100644 src/qcam/assets/shader/shaders.qrc<br>
> create mode 100644 src/qcam/viewfinder_gl.cpp<br>
> create mode 100644 src/qcam/viewfinder_gl.h<br>
> rename src/qcam/{viewfinder.cpp => viewfinder_qt.cpp} (86%)<br>
> create mode 100644 src/qcam/viewfinder_qt.h<br>
<br>
-- <br>
Regards,<br>
<br>
Laurent Pinchart<br>
</blockquote></div></div>