STRUCT MTK_VCODEC_DEC_PDATA(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… struct mtk_vcodec_dec_pdata(9) β€” Kernel API Manual πŸŽ€

okay bestie, so this whole page lives in the Kernel API Manual, and it's literally about struct mtk_vcodec_dec_pdata β€” the compatible data for each IC. yes, each one. every IC gets its own lil personality sheet πŸ¦‹


✨ NAME ✨

struct mtk_vcodec_dec_pdata β€” compatible data for each IC πŸ’–


🌸 SYNOPSIS 🌸

struct mtk_vcodec_dec_pdata {
    void (*init_vdec_params)(struct mtk_vcodec_dec_ctx *ctx);
    int (*ctrls_setup)(struct mtk_vcodec_dec_ctx *ctx);
    void (*worker)(struct work_struct *work);
    int (*flush_decoder)(struct mtk_vcodec_dec_ctx *ctx);
    struct vdec_fb *(*get_cap_buffer)(struct mtk_vcodec_dec_ctx *ctx);
    void (*cap_to_disp)(struct mtk_vcodec_dec_ctx *ctx, int error,
struct media_request *src_buf_req);
    const struct vb2_ops *vdec_vb2_ops;
    const struct mtk_video_fmt *vdec_formats;
    const int *num_formats;
    const struct mtk_video_fmt *default_out_fmt;
    const struct mtk_video_fmt *default_cap_fmt;
    enum mtk_vdec_hw_arch hw_arch;
    bool is_subdev_supported;
    bool uses_stateless_api;
 };

no cap, it's a function-pointer buffet and I am obsessed πŸ“


πŸ‘‘ Members πŸ‘‘

  • init_vdec_params β€” init vdec params. the little setup moment, the "get ready with me" of decode params ✨
  • ctrls_setup β€” init vcodec dec ctrls. all the controls, set up, slay πŸ’…
  • worker β€” worker to start a decode job. it's giving main character energy, it literally starts the job πŸ”₯
  • flush_decoder β€” function that flushes the decoder. bye bye buffered stuff 🫢
  • get_cap_buffer β€” get capture buffer from capture queue. go get ur buffer bestie πŸŽ€
  • cap_to_disp β€” put capture buffer to disp list for lat and core arch. this one's booking the buffer a spot on the disp list specifically for lat and core arch, okay? iykyk 🌈
  • vdec_vb2_ops β€” struct vb2_ops. that's it, that's the description, and honestly? iconic for it ⭐
  • vdec_formats β€” supported video decoder formats. the whole menu of formats πŸ¦‹
  • num_formats β€” count of video decoder formats. the how-many of it all πŸ”’
  • default_out_fmt β€” default output buffer format. the default one, for output πŸ’œ
  • default_cap_fmt β€” default capture buffer format. the default one, for capture πŸ’œ
  • hw_arch β€” hardware arch is used to separate pure_sin_core and lat_sin_core. the divider between the two, literally the vibe check between them πŸ™ˆ
  • is_subdev_supported β€” whether support parent-node architecture(subdev). a yes/no on that parent-node (subdev) situation 🌸
  • uses_stateless_api β€” whether the decoder uses the stateless API with requests. again: yes or no, stateless API with requests, that's the question πŸ‘‘

πŸ’€ SEE ALSO πŸ’€

  • Kernel file ./drivers/media/platform/mediatek/vcodec/decoder/mtk_vcodec_dec_drv.h
  • struct vdec_pic_info(9), struct mtk_vcodec_dec_request(9), struct mtk_vcodec_dec_ctx(9), struct mtk_vcodec_dec_dev(9)

like, go read those too, they're all in the same friend group fr fr 🧚


okay that's the whole page, mwah πŸ’– this came out of ./drivers/media/platform/media... and it's dated October 2026, and the page itself is struct mtk_vcodec_dec_pdata(9) β€” go forth and configure ur ICs, bestie, u got this 🫢✨

πŸ“¦ where this page comes from