On 5.05.2023 11:03, Dikshita Agarwal wrote: > > On 5/4/2023 10:50 PM, Konrad Dybcio wrote: >> >> On 4.05.2023 12:36, Dikshita Agarwal wrote: >>> If bit depth is detected as 10 bit by firmware, return >>> P010 as preferred decoder format to the client. >>> >>> Signed-off-by: Dikshita Agarwal <quic_dikshita@xxxxxxxxxxx> >>> --- >>> drivers/media/platform/qcom/venus/vdec.c | 7 ++++++- >>> 1 file changed, 6 insertions(+), 1 deletion(-) >>> >>> diff --git a/drivers/media/platform/qcom/venus/vdec.c b/drivers/media/platform/qcom/venus/vdec.c >>> index 69f7f6e..ed11dc2 100644 >>> --- a/drivers/media/platform/qcom/venus/vdec.c >>> +++ b/drivers/media/platform/qcom/venus/vdec.c >>> @@ -1468,8 +1468,13 @@ static void vdec_event_change(struct venus_inst *inst, >>> inst->out_width = ev_data->width; >>> inst->out_height = ev_data->height; >>> - if (inst->bit_depth != ev_data->bit_depth) >>> + if (inst->bit_depth != ev_data->bit_depth) { >>> inst->bit_depth = ev_data->bit_depth; >>> + if (inst->bit_depth == VIDC_BITDEPTH_10) >>> + inst->fmt_cap = &vdec_formats[3]; >>> + else >>> + inst->fmt_cap = &vdec_formats[0]; >> This doesn't scale and is very error-prone, please enumerate the >> entries and assign it using the enumerator, like: >> >> enum { >> VDEC_FORMAT_FOO, >> ... >> }; >> >> ... vdec_formats[] = { >> [VDEC_FORMAT_FOO] = { foo, bar, baz } >> } >> >> Konrad > > I agree, this can be improved but I would prefer making that change as separate patch. > > As this is not only related to HDR 10 decoding, there are other places in the code which will require similar change. This is not a very strong argument. You can't add code that will break very easily whenever somebody touches that array and pinky-promise to fix it some time later, just because you want to get your feature merged faster, this is not drivers/staging. Konrad > > Thanks, > > Dikshita > >>> + } >>> if (inst->pic_struct != ev_data->pic_struct) >>> inst->pic_struct = ev_data->pic_struct;