STRUCT V4L2_SUBDEV_FRAME_INTERVAL_ENUM(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

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

okay so bestie, welcome to the Kernel API Manual ✨ β€” yes, the actual Kernel API Manual, and today's main character is struct v4l2_subdev_frame_interval_enum, which is literally the frame interval enumeration struct. it's giving "i enumerate frame intervals and i do it gorgeously" πŸŽ€


🌸 NAME 🌸

struct v4l2_subdev_frame_interval_enum β€” Frame interval enumeration. that's the whole vibe, no cap πŸ’–


πŸ¦‹ SYNOPSIS πŸ¦‹

struct v4l2_subdev_frame_interval_enum {
    __u32 index;
    __u32 pad;
    __u32 code;
    __u32 width;
    __u32 height;
    struct v4l2_fract interval;
    __u32 which;
    __u32 stream;
    __u32 reserved[7];
 };

like, look at her. she's structured. she's organized. she's an icon πŸ‘‘


πŸ’… Members πŸ’…

get into the details, because every single field matters fr fr:

  • index β€” frame interval index during enumeration. literally the number telling you which one you're looking at during the enumeration era πŸ“
  • pad β€” pad number, as reported by the media API. not us guessing, the media API said so πŸ’β€β™€οΈ
  • code β€” format code (MEDIA_BUS_FMT_ definitions). keep it exact bestie, those definitions are named like that for a reason ✨
  • width β€” frame width in pixels πŸ“
  • height β€” frame height in pixels πŸ“
  • interval β€” frame interval in seconds ⏱️ yes, seconds. don't come for me, that's what it says.
  • which β€” interval type (from enum v4l2_subdev_format_whence). ikyk 😌
  • stream β€” stream number, defined in subdev routing 🌈
  • reserved β€” drivers and applications must zero this array. not "should", not "maybe", must. zero it. periodt πŸ’€
🫢 real talk: that reserved array is not a suggestion, it's a rule. zero it out and everyone stays happy.

πŸ‘‘ SEE ALSO πŸ‘‘

where else to find her friends πŸ’œ:

  • Kernel file ./include/uapi/linux/v4l2-subdev.h enum
  • v4l2_subdev_format_whence(9)
  • 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(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)

and that's the page, bestie πŸ§šπŸ’– sign-off time: this little love letter lives in ./include/uapi/linux, dated October 2026, and it's filed under struct v4l2_...nterval_enum(9) in the Kernel API Manual. slay, go zero your reserved array, and stay iconic ⭐πŸ”₯πŸ‘‘

πŸ“¦ where this page comes from