[libcamera-devel] [PATCH 00/15] Support v4l2-compliance

Paul Elder paul.elder at ideasonboard.com
Tue Jun 16 15:12:29 CEST 2020


This patchset makes the V4L2 compatibility layer comply with
v4l2-compliance, and v4l2-compliance -s. I have gotten zero failues and
2 warnings with a uvcvideo libcamera camera. The two warnings are that
VIDIOC_S_FMT doesn't work from a second fd (after a different fd has
already called it), and that VIDIOC_CREATEBUFS is not supported, which I
think are fair to not support.

Note that there are a couple failues when using a vimc libcamera camera,
as these cameras doesn't support setting frame sizes that are not
multiples of 3.

Also, while trying to comply with v4l2-compliance I lost support for
firefox. I'll look into this. qv4l2 still works, though.


Paul Elder (15):
  v4l2: v4l2_compat: Support multiple open
  v4l2: v4l2_camera_proxy: Check for null arg values in ioctl handlers
  v4l2: v4l2_camera_proxy: Fix v4l2-compliance support for extended
    formats
  v4l2: v4l2_camera_proxy: Implement VIDIOC_G/S_PRIORITY
  v4l2: v4l2_camera_proxy: Implement VIDIOC_ENUMINPUT, VIDIOC_G/S_INPUT
  v4l2: v4l2_camera_proxy: Implement VIDIOC_ENUM_FRAMESIZES
  v4l2: v4l2_camera_proxy: Fix v4l2-compliance format tests
  v4l2: v4l2_camera: Re-validate configuration after adjusted
  v4l2: v4l2_cammera_proxy: Reset buffer flags on streamoff when already
    off
  v4l2: v4l2_camera_proxy: Call streamoff on reqbufs 0
  v4l2: v4l2_camera: Don't use libcamera::Semaphore for available
    buffers
  v4l2: v4l2_camera_proxy: Add sequence number
  v4l2: v4l2_camera: Clear pending requests on freeBuffers
  v4l2: v4l2_camera_proxy: Check arg->index bounds for querybuf, qbuf,
    dqbuf
  v4l2: v4l2_camera_proxy: Fix v4l2-compliance streaming tests

 src/v4l2/v4l2_camera.cpp         |  53 +++-
 src/v4l2/v4l2_camera.h           |   9 +-
 src/v4l2/v4l2_camera_proxy.cpp   | 435 ++++++++++++++++++++++++++-----
 src/v4l2/v4l2_camera_proxy.h     |  58 +++--
 src/v4l2/v4l2_compat_manager.cpp |  25 +-
 5 files changed, 477 insertions(+), 103 deletions(-)

-- 
2.27.0



More information about the libcamera-devel mailing list