Repository navigation
v2.6.0
Minor release adding V4L2 buffer flags to camera buffers so callers can tell which clock and which instant within the frame a capture timestamp refers to, and fixing format enumeration on single-plane capture devices. Adds one exported symbol (vsl_camera_buffer_flags); SOVERSION stays at 2 and existing symbols are unchanged.
Added
vsl_camera_buffer_flags()/CameraBuffer::flags()— rawstruct v4l2_buffer::flagsfor each dequeued buffer, so callers can tell which clock and which instant within the framevsl_camera_buffer_timestamp()reports. TaggedVSL_AVAILABLE_SINCE_2_6. (EDGEAI-1938)CameraBuffer::timestamp_clock()/CameraBuffer::timestamp_source()— Rust decoders for the timestamp bits of the flags, returningTimestampClock(Monotonic,Copy,Unknown) andTimestampSource(EndOfFrame,StartOfExposure,Unknown). (EDGEAI-1938)
Fixed
vsl_camera_enum_fmts()returned no formats on single-plane capture devices when called beforevsl_camera_init_device(), which is howCameraBuilder::formats()uses it (lib/v4l2.c). The buffer type was only detected during device initialisation, so a freshly opened device was always queried as multi-planar.vsl_camera_open_device()now detects it. Seen on the i.MX 8M Plus VeriSilicon ISP (viv_v4l2); the ISI and i.MX 95 capture nodes are multi-planar and were unaffected. (EDGEAI-1556)