STRUCT VDEC_H264_SLICE_VSI(9)
β¨ 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 addresstrans_endβ trans end dma addresswdma_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 ofH264_MAX_MV_NUMof 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
- nixpkgs unstable: linux-manual 7.3.1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms