v4l2_m2m_expbuf(9)
π v4l2_m2m_expbuf(9) β Kernel API Manual
okay bestie, welcome to the v4l2_m2m_expbuf page π this one lives in the Kernel API Manual, and it is, and I say this with love, short. Like, three-lines-of-prose short. But we're gonna make it iconic anyway, because every entry in this family deserves main character energy β¨
πΈ NAME πΈ
v4l2_m2m_expbuf β export a source or destination buffer, depending on the type π
π¦ SYNOPSIS π¦
int v4l2_m2m_expbuf (struct file *file , struct v4l2_m2m_ctx *m2m_ctx ,
struct v4l2_exportbuffer *eb );
yep, that's the whole vibe. returns an int, takes three pointers, that's it π
β¨ ARGUMENTS β¨
fileβ pointer tostruct fileποΈ the usual file-handle situationm2m_ctxβ the m2m context assigned to the instance, given bystruct v4l2_m2m_ctxπ§ this is the mem2mem brain of the operationebβ pointer tostruct v4l2_exportbufferπ the export buffer itself, right there
no defaults to memorise, no optional flags, no hidden values β three args, all of them pointers, all of them required. slay for simplicity ngl π
π₯ SEE ALSO π₯
okay so the original page hands you a whole friend group here, and I am NOT about to drop a single one of them, so buckle up buttercup π first, the file to open:
Kernel file ./include/media/v4l2-mem2mem.h
then every single reference, in order, no cap π
struct v4l2_m2m_ops(9)struct v4l2_m2m_queue_ctx(9)struct v4l2_m2m_ctx(9)struct v4l2_m2m_buffer(9)v4l2_m2m_get_curr_priv(9)v4l2_m2m_get_vq(9)v4l2_m2m_try_schedule(9)v4l2_m2m_job_finish(9)v4l2_m2m_buf_done_and_job_finish(9)v4l2_m2m_clear_state(9)v4l2_m2m_mark_stopped(9)v4l2_m2m_dst_buf_is_last(9)v4l2_m2m_has_stopped(9)v4l2_m2m_is_last_draining_src_buf(9)v4l2_m2m_last_buffer_done(9)v4l2_m2m_suspend(9)v4l2_m2m_resume(9)v4l2_m2m_reqbufs(9)v4l2_m2m_querybuf(9)v4l2_m2m_qbuf(9)v4l2_m2m_dqbuf(9)v4l2_m2m_prepare_buf(9)v4l2_m2m_create_bufs(9)v4l2_m2m_streamon(9)v4l2_m2m_streamoff(9)v4l2_m2m_update_start_streaming_state(9)v4l2_m2m_update_stop_streaming_state(9)v4l2_m2m_encoder_cmd(9)v4l2_m2m_decoder_cmd(9)v4l2_m2m_poll(9)v4l2_m2m_mmap(9)v4l2_m2m_init(9)v4l2_m2m_release(9)v4l2_m2m_get(9)v4l2_m2m_put(9)v4l2_m2m_ctx_init(9)v4l2_m2m_ctx_release(9)v4l2_m2m_buf_queue(9)v4l2_m2m_num_src_bufs_ready(9)v4l2_m2m_num_dst_bufs_ready(9)v4l2_m2m_next_buf(9)v4l2_m2m_next_src_buf(9)v4l2_m2m_next_dst_buf(9)v4l2_m2m_last_buf(9)v4l2_m2m_last_src_buf(9)v4l2_m2m_last_dst_buf(9)v4l2_m2m_for_each_dst_buf(9)v4l2_m2m_for_each_src_buf(9)v4l2_m2m_for_each_dst_buf_safe(9)v4l2_m2m_for_each_src_buf_safe(9)v4l2_m2m_get_src_vq(9)v4l2_m2m_get_dst_vq(9)v4l2_m2m_buf_remove(9)v4l2_m2m_src_buf_remove(9)v4l2_m2m_dst_buf_remove(9)v4l2_m2m_buf_remove_by_buf(9)v4l2_m2m_src_buf_remove_by_buf(9)v4l2_m2m_dst_buf_remove_by_buf(9)v4l2_m2m_buf_copy_metadata(9)
like I said. the whole group chat π go read them, they're all under (9), you'll be fine π«Ά
π and that's the page π
no environment variables, no exit-status drama, no warnings hiding in here β the manpage is genuinely this chill πΈ so consider this your certified vibe check passed β
mwah π this one is filed under ./include/media and dated October 2026 β see you in the next one, bestie π
π¦ 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