[libcamera-devel,v1,0/5] qcam: Fix stride handling
mbox series

Message ID 20210906230436.17106-1-laurent.pinchart@ideasonboard.com
Headers show
Series
  • qcam: Fix stride handling
Related show

Message

Laurent Pinchart Sept. 6, 2021, 11:04 p.m. UTC
Hello,

I came to realize that stride support was broken in qcam when testing
[1] on Raspberry Pi with the YUV420 format. This patch series fixes it
for all RGB and YUV formats, and also adds YUV420 support to the
software converter.

The patches apply on top of [1]. I've tested ARGB8888, YUYV, NV12 and
YUV420, with both viewfinders. Only YUV420 had padding at the end of
lines, so other formats may not work properly when padding is present,
but there should at least be no regression.

[1] https://lists.libcamera.org/pipermail/libcamera-devel/2021-September/024477.html

Laurent Pinchart (5):
  qcam: viewfinder: Pass stride value to viewfinder
  qcam: format_converter: Add configurable stride support
  qcam: format_converter: Rename YUV and NV to YUVPacked and
    YUVSemiPlanar
  qcam: format_converter: Add fully-planar YUV formats support
  qcam: viewfinder_gl: Support configurable stride in shaders

 src/qcam/assets/shader/identity.vert |   4 +-
 src/qcam/format_converter.cpp        | 187 ++++++++++++++++++---------
 src/qcam/format_converter.h          |  14 +-
 src/qcam/main_window.cpp             |   3 +-
 src/qcam/viewfinder.h                |   3 +-
 src/qcam/viewfinder_gl.cpp           |  61 ++++++---
 src/qcam/viewfinder_gl.h             |   4 +-
 src/qcam/viewfinder_qt.cpp           |   4 +-
 src/qcam/viewfinder_qt.h             |   3 +-
 9 files changed, 195 insertions(+), 88 deletions(-)