drm_dsc_pps_payload_pack(9)
π drm_dsc_pps_payload_pack(9) β like, the Kernel API Manual page, bestie β¨
okay so picture this: you're deep in the Kernel API Manual and you stumble on drm_dsc_pps_payload_pack(9). iconic. let me tell you everything π
π NAME π
drm_dsc_pps_payload_pack β bestie, it Populates the DSC PPS. that's literally the whole vibe. no cap.
β¨ SYNOPSIS β¨
here's the exact signature, don't @ me, copy it right:
void drm_dsc_pps_payload_pack (struct drm_dsc_picture_parameter_set
*pps_payload , const struct drm_dsc_config *dsc_cfg );
returns void β so like, it does the thing and dips, no return value era π«Ά
π ARGUMENTS π
pps_payloadβ the Bitwise struct for the DSC Picture Parameter Set π this one is defined bystruct drm_dsc_picture_parameter_set, okay? that's the whole tea.dsc_cfgβ the DSC Configuration data, filled by the driver, as defined bystruct drm_dsc_configβ¨ so your driver hands this over all filled in.
π¦ DESCRIPTION π¦
okay so the DSC source device sends a picture parameter set (PPS) that's carrying all the info the sink needs to decode the compressed frame. main character energy, honestly π
the driver populates the DSC PPS struct using the DSC configuration parameters, and it does it in the order expected by the DSC Display Sink device. order matters, bestie, do not freestyle it π¨
and for the DSC specifically? the sink device expects the PPS payload in big endian format for fields that span more than 1 byte. so multi-byte fields = big endian, periodt. π don't mess that up.
π SEE ALSO π
go look at the Kernel file ./drivers/gpu/drm/display/drm_dsc_helper.c β that's where the magic lives, iykyk π§
and then these absolute icons, fr fr:
- dsc helpers(9)
drm_dsc_dp_pps_header_init(9)drm_dsc_dp_rc_buffer_size(9)drm_dsc_set_const_params(9)drm_dsc_set_rc_buf_thresh(9)drm_dsc_setup_rc_params(9)drm_dsc_compute_rc_parameters(9)drm_dsc_get_bpp_int(9)drm_dsc_initial_scale_value(9)drm_dsc_flatness_det_thresh(9)drm_dsc_dump_config(9)
β reminder bestie: populate the PPS in the sink's expected order, and big endian for anything over 1 byte. that's the whole assignment.
πΈ mwah, that's the page! it's from ./drivers/gpu/drm/display, dated October 2026, and you found it sitting pretty under the Kernel API Manual π slay, go pack some PPS payloads ππ
π¦ 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