Page MenuHomeFreeBSD

video: add V4L2 compat symbols for ffmpeg/opencv
ClosedPublic

Authored by seuros on Aug 12 2026, 11:07 AM.
Tags
None
Referenced Files
F175804034: D58793.id183907.diff
Tue, Oct 13, 12:04 PM
F175787740: D58793.id183920.diff
Tue, Oct 13, 9:01 AM
Unknown Object (File)
Mon, Oct 12, 11:12 PM
Unknown Object (File)
Sun, Oct 11, 10:53 PM
Unknown Object (File)
Sun, Oct 11, 2:52 PM
Unknown Object (File)
Sun, Oct 11, 3:46 AM
Unknown Object (File)
Tue, Oct 6, 10:48 PM
Unknown Object (File)
Fri, Oct 2, 4:41 PM

Details

Summary

Adds v4l2_std_id, struct v4l2_standard/v4l2_plane, VIDIOC_G_STD/S_STD/
ENUMSTD, V4L2_STD_NTSC*, the MPLANE capability flag, multiplanar types
(VIDEO_MAX_PLANES, v4l2_plane_pix_format, v4l2_pix_format_mplane,
V4L2_TYPE_IS_MULTIPLANAR), V4L2_PIX_FMT_JPEG/YUV411P/SN9C10X, and the
MPEG control class (V4L2_CID_MPEG_BASE, V4L2_CID_MPEG_VIDEO_B_FRAMES).

video(4) capture devices are digital-only and never expose these, but
ffmpeg's libavdevice/v4l2.c and opencv's cap_v4l.cpp both reference
them unconditionally. Fixes their build against sys/videoio.h.

PR: 297454

Diff Detail

Repository
rG FreeBSD src repository
Lint
Lint Not Applicable
Unit
Tests Not Applicable

Event Timeline

looks good, please add a second diff in the stack that increments sys/param.h __FreeBSD_version from 1600019 to 1600020 and add a quick note in UPDATING that the new video refactor has landed and sys/videoio.h is now provided as the API to communicate with it.

That way ports that need to know about the changeover window can just do it based on __FreeBSD_version .

This revision is now accepted and ready to land.Aug 12 2026, 2:57 PM
This revision was automatically updated to reflect the committed changes.