STRUCT VDEC_AV1_SLICE_MEM(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… struct vdec_av1_slice_mem(9)

okay so this is a page from the Kernel API Manual, section 9 β€” yes, the kernel-doc girlies are at it again, and this time it's about a lil struct called vdec_av1_slice_mem. bestie, it's literally just "memory address and size". that's the whole vibe. two things. an address, and a size. iconic minimalism, honestly. πŸŽ€


✨ NAME ✨

struct vdec_av1_slice_mem β€” memory address and size 🫢

like… that's it. that's the struct. she's small, she's purposeful, she knows exactly what she's about.


🌸 SYNOPSIS 🌸

struct vdec_av1_slice_mem {
    union {
      u64 buf;
      dma_addr_t dma_addr;
    };
    union {
      size_t size;
      dma_addr_t dma_addr_end;
      u64 padding;
    };
 };

not me staring at two anonymous unions like they're the main characters… because they ARE. πŸ‘‘


πŸ’– Members πŸ’–

okay so let's go member by member, no skipping, we do not leave anyone out in this house:

  • {unnamed_union} β€” anonymous. yes ma'am, she has no name. mysterious. elusive. we respect her privacy. πŸ’…
  • buf β€” dma_addr padding. (that's literally what the good book says, I'm just the messenger πŸ™ˆ)
  • dma_addr β€” buffer address. the actual where-is-it of it all. πŸ“
  • {unnamed_union} β€” anonymous. again!! a second nameless queen. the plot thickens, lowkey. 😭
  • size β€” buffer size. how much. the quantity. the amount. her whole thing. πŸ“
  • dma_addr_end β€” buffer end address. where the buffer stops being a buffer and starts being a memory you don't own. πŸ’€
  • padding β€” for padding. yeah. she's padding. she's here for alignment reasons and vibes. ⭐

πŸ¦‹ SEE ALSO πŸ¦‹

first up, the Kernel file that started all of this:

./drivers/media/platform/mediatek/vcodec/decoder/vdec/vdec_av1_req_lat_if.c

and then… bestie. brace yourself. the whole friend group is here and they're ALL invited:

  • struct vdec_av1_slice_init_vsi(9)
  • struct vdec_av1_slice_state(9)
  • struct vdec_av1_slice_tile_group(9)
  • struct vdec_av1_slice_scale_factors(9)
  • struct vdec_av1_slice_frame_refs(9)
  • struct vdec_av1_slice_gm(9)
  • struct vdec_av1_slice_sm(9)
  • struct vdec_av1_slice_seg(9)
  • struct vdec_av1_slice_delta_q_lf(9)
  • struct vdec_av1_slice_quantization(9)
  • struct vdec_av1_slice_lr(9)
  • struct vdec_av1_slice_loop_filter(9)
  • struct vdec_av1_slice_cdef(9)
  • struct vdec_av1_slice_mfmv(9)
  • struct vdec_av1_slice_tile(9)
  • struct vdec_av1_slice_uncompressed_header(9)
  • struct vdec_av1_slice_seq_header(9)
  • struct vdec_av1_slice_frame(9)
  • struct vdec_av1_slice_work_buffer(9)
  • struct vdec_av1_slice_frame_info(9)
  • struct vdec_av1_slice_slot(9)
  • struct vdec_av1_slice_fb(9)
  • struct vdec_av1_slice_vsi(9)
  • struct vdec_av1_slice_pfc(9)
  • struct vdec_av1_slice_instance(9)

twenty-five structs. TWENTY-FIVE. the way this one tiny memory struct is connected to an entire extended universe… it's giving franchise energy. 🌈


ngl bestie, if you're here you're probably deep in MediaTek vcodec decoder land, and honestly? slay. drink some water. πŸ’œ

and that's the page!! she was documented in October 2026, lives under ./drivers/media/platform/media..., and honestly she ate. no crumbs. periodt. πŸ’…βœ¨πŸ”₯

πŸ“¦ where this page comes from