summaryrefslogtreecommitdiffstats
path: root/drivers/media/platform/qcom/venus/vdec.c
diff options
context:
space:
mode:
authorDikshita Agarwal <quic_dikshita@quicinc.com>2023-05-22 07:48:18 +0100
committerMauro Carvalho Chehab <mchehab@kernel.org>2023-06-09 14:04:32 +0100
commit08998cf30f66862916b7b21784f0640677415492 (patch)
treec2dae947919c8583420691af8041cf6f2a80db0a /drivers/media/platform/qcom/venus/vdec.c
parent996d215547a877406e601439bd6533d8524d27db (diff)
downloadlinux-stable-08998cf30f66862916b7b21784f0640677415492.tar.gz
linux-stable-08998cf30f66862916b7b21784f0640677415492.tar.bz2
linux-stable-08998cf30f66862916b7b21784f0640677415492.zip
media: venus: return P010 as preferred format for 10 bit decode
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@quicinc.com> Signed-off-by: Stanimir Varbanov <stanimir.k.varbanov@gmail.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
Diffstat (limited to 'drivers/media/platform/qcom/venus/vdec.c')
-rw-r--r--drivers/media/platform/qcom/venus/vdec.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/drivers/media/platform/qcom/venus/vdec.c b/drivers/media/platform/qcom/venus/vdec.c
index 96ecedafe546..12a2e99508f5 100644
--- a/drivers/media/platform/qcom/venus/vdec.c
+++ b/drivers/media/platform/qcom/venus/vdec.c
@@ -1503,8 +1503,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[VENUS_FMT_P010];
+ else
+ inst->fmt_cap = &vdec_formats[VENUS_FMT_NV12];
+ }
if (inst->pic_struct != ev_data->pic_struct)
inst->pic_struct = ev_data->pic_struct;