STRUCT VDEC_MSG_QUEUE(9)
π struct vdec_msg_queue(9) π
okay so bestie, welcome to the Kernel API Manual page for struct vdec_msg_queue(9) β yes that IS the whole title, and yes we're gonna get through it together. this one's all about a struct that's "used to store lat buffer message". that's the vibe. let's go π«Ά
β¨ NAME β¨
struct vdec_msg_queue β literally here to store the lat buffer message. that's its whole job. main character energy fr fr π
π¦ SYNOPSIS π¦
struct vdec_msg_queue {
struct vdec_lat_buf lat_buf[NUM_BUFFER_COUNT];
struct mtk_vcodec_mem wdma_addr;
u64 wdma_rptr_addr;
u64 wdma_wptr_addr;
struct work_struct core_work;
struct vdec_msg_queue_ctx lat_ctx;
struct vdec_msg_queue_ctx core_ctx;
atomic_t lat_list_cnt;
atomic_t core_list_cnt;
bool flush_done;
struct vdec_lat_buf empty_lat_buf;
wait_queue_head_t core_dec_done;
int status;
struct mtk_vcodec_dec_ctx *ctx;
};
look at her. iconic. every field in its place, no notes π
π Members π
okay now the fun part β let's meet the whole cast, one by one:
lat_bufβ the lat buffer, and its job is storing lat buffer information. yes bestie, that's the description, we don't make the rules πwdma_addrβ the wdma address, used for ube. that's what it's for, no cap.wdma_rptr_addrβ the ube read point. πwdma_wptr_addrβ the ube write point. π and it's the write one, don't get it twisted.core_workβ the core hardware work. she's booked and busy.lat_ctxβ used to store the lat buffer list. ποΈcore_ctxβ used to store the core buffer list. ποΈ same energy, different list.lat_list_cntβ used to record each instance lat list count. per-instance, okay? very demure, very mindful.core_list_cntβ used to record each instance core list count. matching set πflush_doneβ core flush done status. it's giving "is it finished? yes ma'am" β¨empty_lat_bufβ the last lat buf, used to flush decode. she's the closer.core_dec_doneβ core work queue decode done event. the event that says we're DONE done π₯statusβ current context decode status for core hardware. the vibe check, essentially.ctxβ mtk vcodec context information. the big picture π§
π SEE ALSO π
the required reading, iykyk:
- Kernel file
./drivers/media/platform/mediatek/vcodec/decoder/vdec_msg_queue.henum core_ctx_status(9)struct vdec_msg_queue_ctx(9)struct vdec_lat_buf(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)
like, go read them. they're all right there. obsessed π«Ά
ok that's the whole page bestie, you ate that. now go init some queues π
mwah π this little love letter came from ./drivers/media/platform/media... and it's dated October 2026 β and yeah, the page signs off as struct vdec_msg_queue(9), periodt. πΈ
π¦ 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