STRUCT VSP1_DU_ATOMIC_CONFIG(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’– struct vsp1_du_atomic_config(9) πŸ’–

okay so bestie, welcome to the struct vsp1_du_atomic_config situation β€” it's a Kernel API Manual page and it's literally just the VSP atomic configuration parameters, all cozy in one struct. no cap, that's the whole vibe. let's get into it πŸ¦‹


✨ NAME ✨

struct vsp1_du_atomic_config β€” VSP atomic configuration parameters πŸŽ€


🌸 SYNOPSIS 🌸

here's the whole glow-up, every field exactly as it is, don't touch a thing:

struct vsp1_du_atomic_config {
    u32 pixelformat;
    unsigned int pitch;
    dma_addr_t mem[3];
    struct v4l2_rect src;
    struct v4l2_rect dst;
    unsigned int alpha;
    unsigned int zpos;
    bool premult;
    enum v4l2_ycbcr_encoding color_encoding;
    enum v4l2_quantization color_range;
};

like, she's giving "one struct to rule the atomic config" and honestly? iconic πŸ’…


πŸ‘‘ Members πŸ‘‘

every member gets her moment, periodt:

  • pixelformat β€” the plane pixel format, aka the V4L2 4CC. it's the whole personality of the plane ngl 🌈
  • pitch β€” line pitch in bytes for the first plane. just the first one, bestie, don't come for me 🫢
  • mem β€” DMA memory address for each plane of the frame buffer. yes, it's an array of 3, so there's room for the whole squad πŸ’œ
  • src β€” source rectangle in the frame buffer, and it's integer coordinates only. no fractional drama here πŸ™ˆ
  • dst β€” destination rectangle on the display, also integer coordinates. keep it whole, keep it cute ✨
  • alpha β€” the alpha value. 0 is fully transparent, 255 is fully opaque. so 0 = invisible ghost mode πŸ‘», 255 = full main character energy πŸ”₯
  • zpos β€” Z position of the plane, from 0 to number of planes minus 1. it's giving stack order, it's giving layering, iykyk πŸ’€
  • premult β€” true for premultiplied alpha. simple as that, bestie πŸŽ€
  • color_encoding β€” color encoding. valid for YUV formats only, so don't try it on everything, she has boundaries ⭐
  • color_range β€” color range. also valid for YUV formats only. same rule, same energy 🌸

πŸ¦‹ SEE ALSO πŸ¦‹

the whole friend group, go say hi:

  • Kernel file ./include/media/vsp1.h
  • struct vsp1_du_lif_config(9)
  • enum vsp1_du_crc_source(9)
  • struct vsp1_du_crc_config(9)
  • struct vsp1_du_writeback_config(9)
  • struct vsp1_du_atomic_pipe_config(9)
  • struct vsp1_isp_buffer_desc(9)
  • struct vsp1_isp_job_desc(9)
  • struct vsp1_vspx_frame_end(9)

lowkey reminder bestie: keep color_encoding and color_range for the YUV formats only, and keep those src/dst coords as integers. the struct does not do decimals, fr fr 😭

and that's the page!! mwah πŸ’‹ this came from ./include/media, dated October 2026, and she's officially struct vsp1_du_atomic_config(9) β€” slay, go read the other structs, ily πŸ§šβ€β™€οΈπŸ’–

πŸ“¦ where this page comes from