ipu_image_convert(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… 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 πŸ¦‹

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