ipu_image_convert(9)
π ipu_image_convert(9) β the Kernel API Manual, bestie edition
okay so this is a page from the Kernel API Manual, and I'm gonna walk you through ipu_image_convert like we're texting at 2am. it's giving "asynchronous image conversion request" energy and honestly? iconic. π¦
β¨ NAME β¨
ipu_image_convert β asynchronous image conversion request
like, you ask for an image conversion, and it doesn't block you. main character scheduling behavior, no cap. π
π SYNOPSIS π
struct ipu_image_convert_run * ipu_image_convert (struct ipu_soc *ipu ,
enum ipu_ic_task ic_task , struct ipu_image *in , struct ipu_image *out
, enum ipu_rotate_mode rot_mode , ipu_image_convert_cb_t complete , void
*complete_context );
that's the whole signature, copied exactly, do not touch, we stan a verbatim prototype. π
πΈ ARGUMENTS πΈ
ipuβ the IPU handle you're using for the conversion. it's the vibe check of "which hardware are we even talking to".ic_taskβ the IC task to use for the conversion. pick your fighter. βinβ input image format.outβ output image format. (yes, in goes in, out goes out, we love a consistent queen.)rot_modeβ rotation mode. spin it, tilt it, whatever the enum says. πcompleteβ run completion callback. this is the "text me when you're done" function. π«Άcomplete_contextβ a context pointer for the completion callback. so your callback knows whose group chat it's replying to.
π DESCRIPTION π
so here's the tea: you're requesting a single image conversion. the function returns the run that has been queued β like handing in your order and getting the receipt immediately. π₯
a conversion context is automatically created for you, and it's available at run->ctx. so thoughtful, so generous, we love a function that does the admin for us. β¨
and just like with ipu_image_convert_prepare, the input/output formats and the rotation mode must already meet IPU restrictions before you even show up. no last-minute glow-ups at this stage, bestie β the requirements are the requirements. π
on a successful return, the caller can queue more run requests if needed, using that prepared context in run->ctx. so you can keep the party going. π
but β and this is the important part β the caller is responsible for unpreparing the context when no more conversion requests are needed. that's your mess, your cleanup. nobody else is gonna do it for you. π§Ήπ
β RETURN β
on success you get a pointer to the created struct ipu_image_convert_run that has been queued. π
on error you get an ERR_PTR(errno). so like... check it. always check it. IS_ERR() is your friend, iykyk. π
π¦ SEE ALSO π¦
- Kernel file
./include/video/imx-ipu-image-convert.h struct ipu_image_convert_run(9)ipu_image_convert_cb_t(9)ipu_image_convert_adjust(9)ipu_image_convert_verify(9)ipu_image_convert_prepare(9)ipu_image_convert_unprepare(9)ipu_image_convert_queue(9)ipu_image_convert_abort(9)
that's the whole friend group, go say hi. π«Ά
okay and finally the sign-off: this page lives out of ./include/video, and it's dated October 2026, and yes it's still ipu_image_convert(9) β same girl, same manual. 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