STRUCT VDEC_LAT_BUF(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

✨ struct vdec_lat_buf(9) ✨

okay so bestie, buckle up β€” this is a page straight out of the Kernel API Manual, section 9, and it's all about struct vdec_lat_buf, aka the lat buffer message used to store lat info for core decode. yes i know, "lat" twice, we love a consistent queen πŸ’…


🌸 NAME 🌸

struct vdec_lat_buf β€” the lat buffer message that stores lat info for core decode πŸŽ€

Like, it's literally a little envelope that carries all the lat-related gossip over to core decode. main character energy, honestly.


πŸ¦‹ SYNOPSIS πŸ¦‹

here's the whole struct, laid out exactly as-is, no cap:

struct vdec_lat_buf {
    struct mtk_vcodec_mem wdma_err_addr;
    struct mtk_vcodec_mem slice_bc_addr;
    struct mtk_vcodec_mem rd_mv_addr;
    struct mtk_vcodec_mem tile_addr;
    struct vb2_v4l2_buffer ts_info;
    struct media_request *src_buf_req;
    void *private_data;
    struct mtk_vcodec_dec_ctx *ctx;
    core_decode_cb_t core_decode;
    struct list_head lat_list;
    struct list_head core_list;
    bool is_last_frame;
 };

she's got range ✨ hardware addresses, a timestamp carrier, a media request, callback pointers, two whole list heads… iconic.


πŸ’– Members πŸ’–

  • wdma_err_addr β€” the wdma error address used for lat hardware 🫢
  • slice_bc_addr β€” the slice bc address used for lat hardware, okurrr
  • rd_mv_addr β€” the mv addr for av1 lat hardware output AND core hardware input β€” she's working both sides of the pipeline, we stan a multitasker πŸ’€
  • tile_addr β€” the tile buffer for av1 core input 🧚
  • ts_info β€” you need to set the timestamp from output to capture here, don't forget bestie πŸ™ˆ
  • src_buf_req β€” the output buffer media request object 🌈
  • private_data β€” shared information used by BOTH lat and core hardware β€” a true friend to all πŸ’œ
  • ctx β€” mtk vcodec context information πŸ”₯
  • core_decode β€” different codecs use different decode callback functions, so like, every codec picks its own fave ✨
  • lat_list β€” adds the lat buffer to the lat head list πŸŽ€
  • core_list β€” adds the lat buffer to the core head list πŸ¦‹
  • is_last_frame β€” meaning this buffer is the last frame 😭 the finale, the send-off, periodt

πŸ‘‘ SEE ALSO πŸ‘‘

the kernel file to go peep is:

./drivers/media/platform/mediatek/vcodec/decoder/vdec_msg_queue.h enum

and these lovely neighbors, all in their own (9) sections:

iykyk β€” the whole vdec_msg_queue friend group is right there 🫢


⭐ real talk: everything above comes from the original page, so don't come for me if your kernel tree disagrees β€” go read that header file, bestie πŸ’–

and that's a wrap! πŸŽ€ source path on the original footer was ./drivers/media/platform/media... and it's dated October 2026 β€” so like, future vibes only 🌸✨ slay, bye! πŸ’…

πŸ“¦ where this page comes from