STRUCT V4L2_CTRL_HEVC_SCALING_MATRIX(9)
π NAME π
struct v4l2_ctrl_hevc_scaling_matrix β the HEVC scaling lists parameters, bestie. Yes, this is from the Kernel API Manual and yes it's iconic β¨
π SYNOPSIS π
struct v4l2_ctrl_hevc_scaling_matrix {
__u8 scaling_list_4x4[6][16];
__u8 scaling_list_8x8[6][64];
__u8 scaling_list_16x16[6][64];
__u8 scaling_list_32x32[2][64];
__u8 scaling_list_dc_coef_16x16[6];
__u8 scaling_list_dc_coef_32x32[2];
};
Like. look at her. six arrays. main character energy fr fr π«Ά
πΈ Members πΈ
Okay so every single one of these is literally the same story with a different size, and I'm not gonna lie to you about that β here's the whole cast:
π scaling_list_4x4
scaling list is used for the scaling process for transform coefficients. The values on each scaling list are expected in raster scan order. π¦
π scaling_list_8x8
scaling list is used for the scaling process for transform coefficients. The values on each scaling list are expected in raster scan order. π¦
π scaling_list_16x16
scaling list is used for the scaling process for transform coefficients. The values on each scaling list are expected in raster scan order. π¦
π scaling_list_32x32
scaling list is used for the scaling process for transform coefficients. The values on each scaling list are expected in raster scan order. π¦
π scaling_list_dc_coef_16x16
scaling list is used for the scaling process for transform coefficients. The values on each scaling list are expected in raster scan order.
π scaling_list_dc_coef_32x32
scaling list is used for the scaling process for transform coefficients. The values on each scaling list are expected in raster scan order.
β οΈ bestie please internalize the "raster scan order" thing β every single list wants it that way, no cap. Don't hand these over in some other order and then act surprised π
π¦ SEE ALSO π¦
Kernel file ./include/uapi/linux/v4l2-controls.h enum v4l2_mpeg_video_av1_profile(9), enum v4l2_mpeg_video_av1_level(9), enum v4l2_stateless_h264_decode_mode(9), enum v4l2_stateless_h264_start_code(9), struct v4l2_ctrl_h264_sps(9), struct v4l2_ctrl_h264_pps(9), struct v4l2_ctrl_h264_scaling_matrix(9), struct v4l2_ctrl_h264_pred_weights(9), struct v4l2_h264_reference(9), struct v4l2_ctrl_h264_slice_params(9), struct v4l2_h264_dpb_entry(9), struct v4l2_ctrl_h264_decode_params(9), struct v4l2_ctrl_fwht_params(9), struct v4l2_vp8_segment(9), struct v4l2_vp8_loop_filter(9), struct v4l2_vp8_quantization(9), struct v4l2_vp8_entropy(9), struct v4l2_vp8_entropy_coder_state(9), struct v4l2_ctrl_vp8_frame(9), struct v4l2_ctrl_mpeg2_sequence(9), struct v4l2_ctrl_mpeg2_picture(9), struct v4l2_ctrl_mpeg2_quantisation(9), struct v4l2_ctrl_hevc_sps(9), struct v4l2_ctrl_hevc_pps(9), struct v4l2_hevc_dpb_entry(9), struct v4l2_hevc_pred_weight_table(9), struct v4l2_ctrl_hevc_slice_params(9), struct v4l2_ctrl_hevc_decode_params(9), struct v4l2_vp9_loop_filter(9), struct v4l2_vp9_quantization(9), struct v4l2_vp9_segmentation(9), struct v4l2_ctrl_vp9_frame(9), struct v4l2_vp9_mv_probs(9), struct v4l2_ctrl_vp9_compressed_hdr(9), struct v4l2_ctrl_av1_sequence(9), struct v4l2_ctrl_av1_tile_group_entry(9), enum v4l2_av1_warp_model(9), enum v4l2_av1_reference_frame(9), struct v4l2_av1_global_motion(9), enum v4l2_av1_frame_restoration_type(9), struct v4l2_av1_loop_restoration(9), struct v4l2_av1_cdef(9), enum v4l2_av1_segment_feature(9), struct v4l2_av1_segmentation(9), struct v4l2_av1_loop_filter(9), struct v4l2_av1_quantization(9), struct v4l2_av1_tile_info(9), enum v4l2_av1_frame_type(9), enum v4l2_av1_interpolation_filter(9), enum v4l2_av1_tx_mode(9), struct v4l2_ctrl_av1_frame(9), struct v4l2_ctrl_av1_film_grain(9)
okay that's the whole page, you ate that π
source is ./include/uapi/linux, dated October 2026, and the header is struct v4l2_...aling_matrix(9) β mwah, go forth and scale those matrices bestie πβ¨
π¦ 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