On 2022-10-05 22:58:48, Marijn Suijten wrote: > On 2022-10-05 22:31:43, Dmitry Baryshkov wrote: > > [..] > > In fact, could you please take a look if we can switch to using this > > function and drop our code? > > [..] > > Do you want me to do this in a v3, before applying this fractional-bits > fix? [..] One thing to note: /* bpc 8 */ dsc->flatness_min_qp = 3; dsc->flatness_max_qp = 12; dsc->rc_quant_incr_limit0 = 11; dsc->rc_quant_incr_limit1 = 11; dsc->mux_word_size = DSC_MUX_WORD_SIZE_8_10_BPC; Here a bunch of properties are hardcoded, seemingly for bpc = 8. mux_word_size is only ever read in drm_dsc_compute_rc_parameters() so only becomes relevant _after_ the migration, and is currently dealt with correctly by: mux_words_size = 48; /* bpc == 8/10 */ if (dsc->bits_per_component == 12) mux_words_size = 64; Aside fixing that to assign these values (through the proper constants) to dsc->mux_word_size, is it worth looking for the right parameters for other bpc or return -EINVAL if bpc isn't 8, to uphold this comment until support for other bpc is validated? - Marijn