STRUCT FIMC_CTX(9)
π struct_fimc_ctx(9) π
okay so bestie, welcome to the Kernel API Manual β specifically the page for struct fimc_ctx, and honestly? it's giving "the whole vibe of one camera pipeline, packaged into a single C struct." no cap. this is the device context data, and it's a lot, so grab a strawberry drink π and let's go through it field by field. i promise i'll keep it readable π
β¨ NAME β¨
struct fimc_ctx β the device context data
like, the entire context blob for a device. one struct, all the state. iconic behavior honestly π
πΈ SYNOPSIS πΈ
struct fimc_ctx {
struct fimc_frame s_frame;
struct fimc_frame d_frame;
u32 out_order_1p;
u32 out_order_2p;
u32 in_order_1p;
u32 in_order_2p;
enum fimc_datapath in_path;
enum fimc_datapath out_path;
struct fimc_scaler scaler;
struct fimc_effect effect;
int rotation;
unsigned int hflip:1;
unsigned int vflip:1;
u32 flags;
u32 state;
struct fimc_dev *fimc_dev;
struct v4l2_fh fh;
struct fimc_ctrls ctrls;
};
look at her. twenty lines of pure main character energy. let's break down every single member because we do NOT skip π
π Members π
s_frameβ source frame properties. the "before" picture, literally β¨d_frameβ destination frame properties. the "after" picture, the glow-up π¦out_order_1pβ output 1-plane YCBCR orderout_order_2pβ output 2-plane YCBCR orderin_order_1pβ input 1-plane YCBCR orderin_order_2pβ input 2-plane YCBCR order
(note how the 1p/2p pairs are just matching sets, in and out. they're twins. they're the moment. anyway π )
in_pathβ input mode (DMA or camera)out_pathβ output mode (DMA or FIFO)scalerβ image scaler properties. she resizes, she serves πββοΈeffectβ image effectrotationβ image clockwise rotation in degrees. clockwise ONLY, bestie, don't @ me πhflipβ indicates image horizontal flip if setvflipβ indicates image vertical flip if setflagsβ additional flags for image conversionstateβ flags to keep track of user configuration. lowkey the struct's little diary of what you've configured πfimc_devβ the FIMC device this context applies to. her home. her origin story πfhβ v4l2 file handlectrlsβ v4l2 controls structure
fr fr, that's every single member β nothing skipped, nothing merged, that's the whole roster π«Ά
π¦ SEE ALSO π¦
okay so if you've read this far you're clearly in your unix research era, so here's the whole friend group π
- Kernel file
./drivers/media/platform/samsung/exynos4-is/fimc-core.h struct fimc_dma_offset(9)struct fimc_effect(9)struct fimc_scaler(9)struct fimc_addr(9)struct fimc_vid_buffer(9)struct fimc_frame(9)struct fimc_m2m_device(9)struct fimc_vid_cap(9)struct fimc_pix_limit(9)struct fimc_variant(9)struct fimc_drvdata(9)struct fimc_dev(9)struct fimc_ctrls(9)fimc_active_queue_add(9)fimc_active_queue_pop(9)fimc_pending_queue_add(9)fimc_pending_queue_pop(9)
<s>and that's the whole page, periodt.</s> no wait β one more thing π§
this lil masterpiece comes from ./drivers/media/platform/samsu... and it's dated October 2026, so like... future-coded of it, honestly β thank you for coming to my ted talk, go configure something pretty ππ
π¦ 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