]> git.baikalelectronics.ru Git - kernel.git/commit
media: venus: dec: Fix capture formats enumeration order
authorJavier Martinez Canillas <javierm@redhat.com>
Fri, 10 Feb 2023 08:18:35 +0000 (09:18 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 11 May 2023 14:03:15 +0000 (23:03 +0900)
commit21fcf52240cc25ebd6d878bc19814f192866422a
treee27b58d355e73c7db69b02944e09f8944f30778d
parentfcc0c6453916b6dc7f1d5cb8269705c22f4e4712
media: venus: dec: Fix capture formats enumeration order

[ Upstream commit a9d45ec74c8e68aaafe90191928eddbf79f4644f ]

Commit e348aad7256a ("media: venus: Add a handling of QC08C compressed
format") and commit a821979b2025 ("media: venus: Add a handling of QC10C
compressed format") added support for the QC08C and QC10C compressed
formats respectively.

But these also caused a regression, because the new formats where added
at the beginning of the vdec_formats[] array and the vdec_inst_init()
function sets the default format output and capture using fixed indexes
of that array:

static void vdec_inst_init(struct venus_inst *inst)
{
...
inst->fmt_out = &vdec_formats[8];
inst->fmt_cap = &vdec_formats[0];
...
}

Since now V4L2_PIX_FMT_NV12 is not the first entry in the array anymore,
the default capture format is not set to that as it was done before.

Both commits changed the first index to keep inst->fmt_out default format
set to V4L2_PIX_FMT_H264, but did not update the latter to keep .fmt_out
default format set to V4L2_PIX_FMT_NV12.

Rather than updating the index to the current V4L2_PIX_FMT_NV12 position,
let's reorder the entries so that this format is the first entry again.

This would also make VIDIOC_ENUM_FMT report the V4L2_PIX_FMT_NV12 format
with an index 0 as it did before the QC08C and QC10C formats were added.

Fixes: e348aad7256a ("media: venus: Add a handling of QC08C compressed format")
Fixes: a821979b2025 ("media: venus: Add a handling of QC10C compressed format")
Signed-off-by: Javier Martinez Canillas <javierm@redhat.com>
Signed-off-by: Stanimir Varbanov <stanimir.k.varbanov@gmail.com>
Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/media/platform/qcom/venus/vdec.c