STRUCT FIMC_FRAME(9)
π struct fimc_frame(9) π
okay bestie, so you've stumbled into the Kernel API Manual β welcome, you're gonna love it here β¨ this one's all about struct fimc_frame, which is literally the glow-up blueprint for your source/target frame properties. like, every little measurement and offset this frame needs to serve looks? it's all in here π
β¨ SYNOPSIS β¨
struct fimc_frame {
u32 f_width;
u32 f_height;
u32 o_width;
u32 o_height;
u32 offs_h;
u32 offs_v;
u32 width;
u32 height;
unsigned int payload[VIDEO_MAX_PLANES];
unsigned int bytesperline[VIDEO_MAX_PLANES];
struct fimc_addr addr;
struct fimc_dma_offset dma_offset;
const struct fimc_fmt *fmt;
u8 alpha;
};
ok so like β copy this exactly, do not retype it from memory, I'm begging π this is the whole vibe right here, periodt π
πΈ Members πΈ
f_widthβ the image's full width, as in the virtual screen size β the whole canvas vibe, not just the visible part πΌοΈf_heightβ the image's full height, again virtual screen size β same canvas energy, vertically π«o_widthβ the original image width, exactly as it was set byS_FMTβ this is where the og width lives πo_heightβ the original image height, exactly as set byS_FMTβ matching og height, no cap π«Άoffs_hβ the image's horizontal pixel offset β how far over we're sliding, lowkey π¦offs_vβ the image's vertical pixel offset β the vertical slide, highkey β¨widthβ image pixel width β yes, this is a different width fromf_width, they're both main characters, don't @ me πheightβ image pixel weight β that's what the manpage says bestie, "weight", keeping it exactly as written πpayloadβ the image size in bytes (w x h x bpp), one entry per plane β the actual byte count, fr fr π¦bytesperlineβ thebytesperlinevalue for each plane, so every plane knows its own stride situation πaddrβ the image frame buffer DMA addresses β where the frame's living, address-wise πdma_offsetβ DMA offset in bytes β a lil' byte-level nudge π«fmtβ pointer to thefimccolor format β the whole aesthetic/aesthetic-format situation π¨alphaβ the alpha value β transparency, the finishing touch π
π¦ SEE ALSO π¦
kernel file: ./drivers/media/platform/samsung/exynos4-is/fimc-core.h β that's the source of truth bestie, go read it π
and like, the whole friend group shows up here too:
struct fimc_dma_offset(9)struct fimc_effect(9)struct fimc_scaler(9)struct fimc_addr(9)struct fimc_vid_buffer(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)struct fimc_ctx(9)fimc_active_queue_add(9)fimc_active_queue_pop(9)fimc_pending_queue_add(9)fimc_pending_queue_pop(9)
and that's the whole page, bestie, you ate that π«Άπ
okay so the sign-off β this one's sourced from ./drivers/media/platform/samsu... (yes it's abbreviated like that, iconic of it honestly) and it's dated October 2026, so yeah, future-fresh βπ slay, go write some frames π
π¦ 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