STRUCT VDEC_H264_SLICE_VSI(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

✨ struct vdec_h264_slice_vsi β€” Kernel API Manual ✨

okay bestie, so this is from the Kernel API Manual and it's literally called struct vdec_h264_slice_vsi β€” say that five times fast, i dare you πŸ’…


🌸 NAME 🌸

struct vdec_h264_slice_vsi β€” shared memory for decode information exchange between SCP and Host (shared data between host and firmware).

like, it's the group chat where SCP and the Host both hang out and drop decode info. shared memory, shared vibes, no cap 🫢


✨ SYNOPSIS ✨

struct vdec_h264_slice_vsi {
    u64 wdma_err_addr;
    u64 wdma_start_addr;
    u64 wdma_end_addr;
    u64 slice_bc_start_addr;
    u64 slice_bc_end_addr;
    u64 row_info_start_addr;
    u64 row_info_end_addr;
    u64 trans_start;
    u64 trans_end;
    u64 wdma_end_addr_offset;
    u64 mv_buf_dma[H264_MAX_MV_NUM];
    struct vdec_h264_slice_info dec;
    struct vdec_h264_slice_lat_dec_param h264_slice_params;
 };

that's the whole squad right there πŸ‘‘ every single member accounted for, no one left out.


πŸŽ€ Members πŸŽ€

  • wdma_err_addr β€” the wdma error dma address. it's giving "something went wrong" energy 😭
  • wdma_start_addr β€” the wdma start dma address. where the wdma party begins πŸŽ‰
  • wdma_end_addr β€” the wdma end dma address. where it wraps up, periodt.
  • slice_bc_start_addr β€” the slice bc start dma address ✨
  • slice_bc_end_addr β€” the slice bc end dma address, matching set, we love a duo πŸ’–
  • row_info_start_addr β€” the row info start dma address 🌈
  • row_info_end_addr β€” the row info end dma address πŸ¦‹
  • trans_start β€” trans start dma address
  • trans_end β€” trans end dma address
  • wdma_end_addr_offset β€” the wdma end address offset. tiny field, big job πŸ’…
  • mv_buf_dma[H264_MAX_MV_NUM] β€” the HW working motion vector buffer. hardware's lil MV stash, array of H264_MAX_MV_NUM of them πŸ”₯
  • dec β€” decode information (AP-R, VPU-W). note the direction, bestie: AP reads it, VPU writes it πŸ‘€
  • h264_slice_params β€” decode parameters for hw used. the actual settings the hardware munches on πŸ“

πŸ¦‹ SEE ALSO πŸ¦‹

Kernel file:

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

and the whole friend group, fr fr:

  • enum vdec_h264_core_dec_err_type(9)
  • struct vdec_h264_slice_lat_dec_param(9)
  • struct vdec_h264_slice_info(9)
  • struct vdec_h264_slice_share_info(9)
  • struct vdec_h264_slice_fb(9)
  • struct vdec_h264_slice_info_ext(9)
  • struct vdec_h264_slice_vsi_ext(9)
  • struct vdec_h264_slice_inst(9)

lowkey reminder: this is all straight from the source page β€” same fields, same addresses, same directions, same file path. i would never make stuff up about your structs, that's not the vibe πŸ™ˆ

okay that's the whole page!! mwah πŸ’‹ it lives at ./drivers/media/platform/media..., dated October 2026, and yes the footer is also out here repping struct vdec_h264_slice_vsi(9) because consistency is iconic ⭐ stay hydrated, read your kernel files, and slay πŸ§šπŸ’œ

πŸ“¦ where this page comes from