From: Stanimir Varbanov <stanimir.varbanov@linaro.org>
To: linux-media@vger.kernel.org, linux-kernel@vger.kernel.org,
linux-arm-msm@vger.kernel.org, linux-api@vger.kernel.org
Cc: Hans Verkuil <hverkuil-cisco@xs4all.nl>,
Stanimir Varbanov <stanimir.varbanov@linaro.org>
Subject: [PATCH v2 3/5] venus: Add a handling of QC08C compressed format
Date: Tue, 6 Jul 2021 15:40:32 +0300 [thread overview]
Message-ID: <20210706124034.773503-4-stanimir.varbanov@linaro.org> (raw)
In-Reply-To: <20210706124034.773503-1-stanimir.varbanov@linaro.org>
This adds QC08C compressed pixel format in the Venus driver, and
make it possible to discover from v4l2 clients.
Signed-off-by: Stanimir Varbanov <stanimir.varbanov@linaro.org>
---
drivers/media/platform/qcom/venus/helpers.c | 2 ++
drivers/media/platform/qcom/venus/vdec.c | 18 +++++++++++++++---
2 files changed, 17 insertions(+), 3 deletions(-)
diff --git a/drivers/media/platform/qcom/venus/helpers.c b/drivers/media/platform/qcom/venus/helpers.c
index 48da88d21ccd..49d720fd9a9d 100644
--- a/drivers/media/platform/qcom/venus/helpers.c
+++ b/drivers/media/platform/qcom/venus/helpers.c
@@ -561,6 +561,8 @@ static u32 to_hfi_raw_fmt(u32 v4l2_fmt)
return HFI_COLOR_FORMAT_NV12;
case V4L2_PIX_FMT_NV21:
return HFI_COLOR_FORMAT_NV21;
+ case V4L2_PIX_FMT_QC08C:
+ return HFI_COLOR_FORMAT_NV12_UBWC;
default:
break;
}
diff --git a/drivers/media/platform/qcom/venus/vdec.c b/drivers/media/platform/qcom/venus/vdec.c
index 198e47eb63f4..989a75dc5bf0 100644
--- a/drivers/media/platform/qcom/venus/vdec.c
+++ b/drivers/media/platform/qcom/venus/vdec.c
@@ -31,6 +31,10 @@
*/
static const struct venus_format vdec_formats[] = {
{
+ .pixfmt = V4L2_PIX_FMT_QC08C,
+ .num_planes = 1,
+ .type = V4L2_BUF_TYPE_VIDEO_CAPTURE_MPLANE,
+ }, {
.pixfmt = V4L2_PIX_FMT_NV12,
.num_planes = 1,
.type = V4L2_BUF_TYPE_VIDEO_CAPTURE_MPLANE,
@@ -106,6 +110,10 @@ find_format(struct venus_inst *inst, u32 pixfmt, u32 type)
!venus_helper_check_codec(inst, fmt[i].pixfmt))
return NULL;
+ if (V4L2_TYPE_IS_CAPTURE(type) &&
+ !venus_helper_check_format(inst, fmt[i].pixfmt))
+ return NULL;
+
return &fmt[i];
}
@@ -124,8 +132,12 @@ find_format_by_index(struct venus_inst *inst, unsigned int index, u32 type)
if (fmt[i].type != type)
continue;
- valid = type != V4L2_BUF_TYPE_VIDEO_OUTPUT_MPLANE ||
- venus_helper_check_codec(inst, fmt[i].pixfmt);
+
+ if (V4L2_TYPE_IS_OUTPUT(type))
+ valid = venus_helper_check_codec(inst, fmt[i].pixfmt);
+ else if (V4L2_TYPE_IS_CAPTURE(type))
+ valid = venus_helper_check_format(inst, fmt[i].pixfmt);
+
if (k == index && valid)
break;
if (valid)
@@ -1484,7 +1496,7 @@ static const struct hfi_inst_ops vdec_hfi_ops = {
static void vdec_inst_init(struct venus_inst *inst)
{
inst->hfi_codec = HFI_VIDEO_CODEC_H264;
- inst->fmt_out = &vdec_formats[6];
+ inst->fmt_out = &vdec_formats[7];
inst->fmt_cap = &vdec_formats[0];
inst->width = frame_width_min(inst);
inst->height = ALIGN(frame_height_min(inst), 32);
--
2.25.1
next prev parent reply other threads:[~2021-07-06 12:46 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-07-06 12:40 [PATCH v2 0/5] Qualcomm custom compressed pixfmt Stanimir Varbanov
2021-07-06 12:40 ` [PATCH v2 1/5] v4l: Add Qualcomm custom compressed pixel formats Stanimir Varbanov
2021-07-06 13:38 ` Nicolas Dufresne
2021-07-28 10:09 ` Hans Verkuil
2021-07-28 10:10 ` Hans Verkuil
2021-07-06 12:40 ` [PATCH v2 2/5] venus: helpers: Add helper to check supported " Stanimir Varbanov
2021-07-06 12:40 ` Stanimir Varbanov [this message]
2021-07-06 12:40 ` [PATCH v2 4/5] venus: hfi_platform: Correct supported compressed format Stanimir Varbanov
2021-07-06 12:40 ` [PATCH v2 5/5] venus: Add a handling of QC10C " Stanimir Varbanov
2021-07-28 9:59 ` [PATCH v2 0/5] Qualcomm custom compressed pixfmt Stanimir Varbanov
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20210706124034.773503-4-stanimir.varbanov@linaro.org \
--to=stanimir.varbanov@linaro.org \
--cc=hverkuil-cisco@xs4all.nl \
--cc=linux-api@vger.kernel.org \
--cc=linux-arm-msm@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-media@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).