STRUCT VDEC_LAT_BUF(9)
β¨ 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, okurrrrd_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:
core_ctx_status(9)struct vdec_msg_queue_ctx(9)struct vdec_msg_queue(9)vdec_msg_queue_init(9)vdec_msg_queue_init_ctx(9)vdec_msg_queue_qbuf(9)vdec_msg_queue_dqbuf(9)vdec_msg_queue_update_ube_rptr(9)vdec_msg_queue_update_ube_wptr(9)vdec_msg_queue_wait_lat_buf_full(9)vdec_msg_queue_deinit(9)
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
- 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