STRUCT HANTRO_VP9_DEC_HW_CTX(9)
π NAME π
struct hantro_vp9_dec_hw_ctx β bestie, literally the whole hardware decoding context for Hantro's VP9 decoder β¨ (the original page gives no description line, so yeah, that's it, that's the whole vibe π)
Also hi, welcome to the Kernel API Manual β that's the manual we're in, consider it the group chat's name π
π¦ SYNOPSIS π¦
struct hantro_vp9_dec_hw_ctx {
struct hantro_aux_buf tile_edge;
struct hantro_aux_buf segment_map;
struct hantro_aux_buf misc;
struct v4l2_vp9_frame_symbol_counts cnts;
struct v4l2_vp9_frame_context probability_tables;
struct v4l2_vp9_frame_context frame_context[4];
struct hantro_vp9_frame_info cur;
struct hantro_vp9_frame_info last;
unsigned int bsd_ctrl_offset;
unsigned int segment_map_size;
unsigned int ctx_counters_offset;
unsigned int tile_info_offset;
unsigned short tile_r_info[MAX_SB_ROWS];
unsigned short tile_c_info[MAX_SB_COLS];
unsigned int last_tile_r;
unsigned int last_tile_c;
unsigned int last_sbs_r;
unsigned int last_sbs_c;
unsigned int active_segment;
u8 feature_enabled[8];
s16 feature_data[8][4];
};
Look at her. Structured. Organized. Main character energy fr fr π
π Members π
Okay so every single field, one by one, no skips, no cap π«Ά
tile_edgeβ auxiliary DMA buffer for tile edge processing π§segment_mapβ auxiliary DMA buffer for segment map πΊοΈmiscβ auxiliary DMA buffer for tile info, probabilities and hw counters β¨cntsβ vp9 library struct for abstracting hw counters access π«probability_tablesβ VP9 probability tables implied by the spec πframe_contextβ VP9 frame contexts (there's[4]of them, she's popular π )curβ current frame information πlastβ last frame information π°οΈbsd_ctrl_offsetβ bsd offset intotile_edgeπsegment_map_sizeβ size of segment map πctx_counters_offsetβ hw counters offset intomiscπ’tile_info_offsetβ tile info offset intomiscπ―tile_r_infoβ per-tile information array π§©tile_c_infoβ per-tile information array π§©last_tile_rβ last number of tile rows β‘οΈlast_tile_cβ last number of tile cols β¬οΈlast_sbs_rβ last number of superblock rows π₯last_sbs_cβ last number of superblock cols π₯active_segmentβ number of active segment (alternating between0and1) πfeature_enabledβ segmentation feature enabled flags π©feature_dataβ segmentation feature data π
Not me listing all twenty-one of them with full commitment π but like, she deserves it. Iconic struct. Periodt.
πΈ SEE ALSO πΈ
Go check these out, they're all in the same friend group iykyk π
Kernel file ./drivers/media/platform/verisilicon/hantro_hw.h β plus these absolute legends:
struct hantro_aux_buf(9)struct hantro_h264_dec_ctrls(9)struct hantro_h264_dec_reflists(9)struct hantro_h264_dec_hw_ctx(9)struct hantro_hevc_dec_ctrls(9)struct hantro_hevc_dec_hw_ctx(9)struct hantro_mpeg2_dec_hw_ctx(9)struct hantro_vp8_dec_hw_ctx(9)struct hantro_vp9_frame_info(9)struct hantro_av1_dec_ctrls(9)struct hantro_av1_dec_hw_ctx(9)struct hantro_postproc_ctx(9)struct hantro_postproc_ops(9)struct hantro_codec_ops(9)enum hantro_enc_fmt(9)
Okay bestie that's the whole page, you're officially smarter than 90% of the timeline πβ¨
Cute lil sign-off: this beauty lives in the source file ./drivers/media/platform/verisilicon/hantro_hw.h (the footer shortens it to ./drivers/media/platform/veris...), and she's dated October 2026, from the Kernel API Manual. Go read the source, it's giving homework but like, the fun kind πππ¦
π¦ 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