STRUCT CAMIF_VP(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’– struct camif_vp(9) β€” CAMIF data processing path structure (codec/preview) πŸ’–

🌸 NAME 🌸

okay bestie, welcome to the Kernel API Manual page for struct camif_vp(9)! This is the CAMIF data processing path structure for codec/preview. It's the struct holding the whole video-path setup, and we are going through every single member like the responsible Unix bestie we are. No skips. No cap. πŸ’…

πŸ“¦ SYNOPSIS πŸ“¦

Here's the struct exactly as it appears, bestie β€” every field is iconic and must stay put:

struct camif_vp {
    wait_queue_head_t irq_queue;
    int irq;
    struct camif_dev        *camif;
    struct media_pad        pad;
    struct video_device     vdev;
    struct v4l2_ctrl_handler ctrl_handler;
    struct v4l2_fh          *owner;
    struct vb2_queue        vb_queue;
    struct list_head        pending_buf_q;
    struct list_head        active_buf_q;
    unsigned int            active_buffers;
    unsigned int            buf_index;
    unsigned int            frame_sequence;
    unsigned int            reqbufs_count;
    struct camif_scaler     scaler;
    const struct camif_fmt  *out_fmt;
    unsigned int            payload;
    struct camif_frame      out_frame;
    unsigned int            state;
    u16 fmt_flags;
    u8 id;
    u16 rotation;
    u8 hflip;
    u8 vflip;
    unsigned int            offset;
 };

🧩 Members 🧩

Every member, one by one, with zero missing, periodt:

  • irq_queue β€” interrupt handling waitqueue; the waitqueue for interrupt handling. πŸ’€
  • irq β€” the interrupt number for this data path. Yes, the actual irq for this path. πŸ”’
  • camif β€” pointer to the camif structure. It's giving backstage pass to the CAMIF struct. 🎟️
  • pad β€” media pad for the video node. 🌈
  • vdev β€” video device. πŸŽ₯
  • ctrl_handler β€” video node controls handler. πŸŽ›οΈ
  • owner β€” file handle that own the streaming β€” streaming ownership, iykyk. πŸ™ˆ
  • vb_queue β€” vb2 buffer queue. πŸ“š
  • pending_buf_q β€” pending (empty) buffers queue head. πŸ•
  • active_buf_q β€” active (being written) buffers queue head. πŸ”₯
  • active_buffers β€” counter of buffer set up at the DMA engine. πŸ“ˆ
  • buf_index β€” identifier of a last empty buffer set up in H/W. πŸ”–
  • frame_sequence β€” image frame sequence counter. 🎞️
  • reqbufs_count β€” the number of buffers requested. 🧾
  • scaler β€” the scaler structure. πŸͺ„
  • out_fmt β€” pixel format at this video path output. 🎨
  • payload β€” the output data frame payload size. πŸ“¦
  • out_frame β€” the output pixel resolution. πŸ–ΌοΈ
  • state β€” the video path's state. 🧭
  • fmt_flags β€” flags determining supported pixel formats. 🚩
  • id β€” CAMIF id, 0 - codec, 1 - preview. πŸ†”
  • rotation β€” current image rotation value. πŸ”„
  • hflip β€” apply horizontal flip if set. ↔️
  • vflip β€” apply vertical flip if set. ↕️
  • offset β€” register offset. πŸ“

πŸ‘€ SEE ALSO πŸ‘€

Go peek at these, bestie β€” the whole friend group:

  • Kernel file ./drivers/media/platform/samsung/s3c-camif/camif-core.h
  • struct camif_fmt(9)
  • struct camif_dma_offset(9)
  • struct camif_frame(9)
  • struct s3c_camif_variant(9)
  • struct camif_dev(9)
  • struct camif_addr(9)
  • struct camif_buffer(9)

This struct camif_vp(9) page's source/version is ./drivers/media/platform/samsu..., dated October 2026. That's the footer energy, folded into a cute sign-off β€” now go read the source, bestie! πŸ«ΆπŸ’–

πŸ“¦ where this page comes from