STRUCT V4L2_SUBDEV_FRAME_INTERVAL(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… struct v4l2_subdev_frame_interval(9) πŸ’…

okay so bestie, welcome to the Kernel API Manual ✨ β€” yes, the actual kernel API, and yes, this page is about a lil struct called v4l2_subdev_frame_interval. It's giving pad-level frame rate realness πŸŽ€ and honestly? she's iconic.


🌸 NAME 🌸

struct v4l2_subdev_frame_interval β€” Pad-level frame rate πŸ’«

Like, literally just that. Pad-level frame rate. That's the whole vibe check πŸ¦‹


✨ SYNOPSIS ✨

struct v4l2_subdev_frame_interval {
    __u32 pad;
    struct v4l2_fract interval;
    __u32 stream;
    __u32 which;
    __u32 reserved[7];
 };

copy this exactly, no cap, do not touch the semicolons, do not "fix" the spacing πŸ™ˆ


🫢 Members 🫢

hh okay let's go through every single one of these, no skipping, we don't do that here πŸ’–

  • pad β€” the pad number, as reported by the media API πŸ‘‘ (yes, that media API, you know the one)
  • interval β€” the frame interval, in seconds ⏱️ (lowkey the whole point of this struct ngl)
  • stream β€” the stream number, defined in subdev routing 🌈
  • which β€” the interval type, straight from enum v4l2_subdev_format_whence 🧚
  • reserved β€” drivers and applications must zero this array πŸ’€
🚨 okay this one matters, bestie β€” reserved genuinely has to be zeroed by drivers and applications. Both. Everybody. Zero it. That's not a suggestion, that's the rules, fr fr 🫑

πŸ‘‘ SEE ALSO πŸ‘‘

Kernel file ./include/uapi/linux/v4l2-subdev.h β€” plus enum v4l2_subdev_format_whence(9) 🌟 and the whole bestie squad:

  • struct v4l2_subdev_format(9)
  • struct v4l2_subdev_crop(9)
  • struct v4l2_subdev_mbus_code_enum(9)
  • struct v4l2_subdev_frame_size_enum(9)
  • struct v4l2_subdev_frame_interval_enum(9)
  • struct v4l2_subdev_selection(9)
  • struct v4l2_subdev_capability(9)
  • struct v4l2_subdev_route(9)
  • struct v4l2_subdev_routing(9)
  • struct v4l2_subdev_client_capability(9)

like, the full group chat πŸ˜­πŸ’• read them all, iykyk


aaaand that's the page!! πŸŽ€ source lives at ./include/uapi/linux, dated October 2026 ⭐ β€” mwah, sending you the biggest kiss, go forth and set your frame intervals responsibly πŸ’œπŸ¦‹πŸŒΈ

πŸ“¦ where this page comes from