From: Ricardo Ribalda <ribalda@chromium.org>
To: Mauro Carvalho Chehab <mchehab@kernel.org>,
Stanimir Varbanov <stanimir.k.varbanov@gmail.com>,
Vikash Garodia <quic_vgarodia@quicinc.com>,
Bryan O'Donoghue <bryan.odonoghue@linaro.org>,
Hans Verkuil <hverkuil@xs4all.nl>
Cc: linux-media@vger.kernel.org, linux-kernel@vger.kernel.org,
linux-arm-msm@vger.kernel.org,
Ricardo Ribalda <ribalda@chromium.org>
Subject: [PATCH v6 4/6] media: venus: Remove timeperframe from inst
Date: Sat, 11 Jan 2025 09:55:17 +0000 [thread overview]
Message-ID: <20250111-fix-cocci-v6-4-1aa7842006cc@chromium.org> (raw)
In-Reply-To: <20250111-fix-cocci-v6-0-1aa7842006cc@chromium.org>
The driver only cares about whole fps. We can infer the timeperframe
from the fps field. Remove the redundant field.
Signed-off-by: Ricardo Ribalda <ribalda@chromium.org>
---
drivers/media/platform/qcom/venus/core.h | 2 --
drivers/media/platform/qcom/venus/vdec.c | 15 ++++++++-------
drivers/media/platform/qcom/venus/venc.c | 16 ++++++++--------
3 files changed, 16 insertions(+), 17 deletions(-)
diff --git a/drivers/media/platform/qcom/venus/core.h b/drivers/media/platform/qcom/venus/core.h
index afae2b9fdaf7..1d4fd5cc75d9 100644
--- a/drivers/media/platform/qcom/venus/core.h
+++ b/drivers/media/platform/qcom/venus/core.h
@@ -407,7 +407,6 @@ enum venus_inst_modes {
* @tss: timestamp metadata
* @payloads: cache plane payload to use it for clock/BW scaling
* @fps: holds current FPS
- * @timeperframe: holds current time per frame structure
* @fmt_out: a reference to output format structure
* @fmt_cap: a reference to capture format structure
* @num_input_bufs: holds number of input buffers
@@ -478,7 +477,6 @@ struct venus_inst {
struct venus_ts_metadata tss[VIDEO_MAX_FRAME];
unsigned long payloads[VIDEO_MAX_FRAME];
u64 fps;
- struct v4l2_fract timeperframe;
const struct venus_format *fmt_out;
const struct venus_format *fmt_cap;
unsigned int num_input_bufs;
diff --git a/drivers/media/platform/qcom/venus/vdec.c b/drivers/media/platform/qcom/venus/vdec.c
index c1d5f94e16b4..e160a5508154 100644
--- a/drivers/media/platform/qcom/venus/vdec.c
+++ b/drivers/media/platform/qcom/venus/vdec.c
@@ -471,10 +471,12 @@ static int vdec_s_parm(struct file *file, void *fh, struct v4l2_streamparm *a)
return -EINVAL;
memset(cap->reserved, 0, sizeof(cap->reserved));
- if (!timeperframe->denominator)
- timeperframe->denominator = inst->timeperframe.denominator;
- if (!timeperframe->numerator)
- timeperframe->numerator = inst->timeperframe.numerator;
+
+ if (!timeperframe->numerator || !timeperframe->denominator) {
+ timeperframe->numerator = 1;
+ timeperframe->denominator = inst->fps;
+ }
+
cap->readbuffers = 0;
cap->extendedmode = 0;
cap->capability = V4L2_CAP_TIMEPERFRAME;
@@ -487,7 +489,8 @@ static int vdec_s_parm(struct file *file, void *fh, struct v4l2_streamparm *a)
fps = min(VENUS_MAX_FPS, fps);
inst->fps = fps;
- inst->timeperframe = *timeperframe;
+ timeperframe->numerator = 1;
+ timeperframe->denominator = inst->fps;
return 0;
}
@@ -1612,8 +1615,6 @@ static void vdec_inst_init(struct venus_inst *inst)
inst->out_width = frame_width_min(inst);
inst->out_height = frame_height_min(inst);
inst->fps = 30;
- inst->timeperframe.numerator = 1;
- inst->timeperframe.denominator = 30;
inst->opb_buftype = HFI_BUFFER_OUTPUT;
}
diff --git a/drivers/media/platform/qcom/venus/venc.c b/drivers/media/platform/qcom/venus/venc.c
index 943d432b6568..17bec44c9825 100644
--- a/drivers/media/platform/qcom/venus/venc.c
+++ b/drivers/media/platform/qcom/venus/venc.c
@@ -401,10 +401,10 @@ static int venc_s_parm(struct file *file, void *fh, struct v4l2_streamparm *a)
memset(out->reserved, 0, sizeof(out->reserved));
- if (!timeperframe->denominator)
- timeperframe->denominator = inst->timeperframe.denominator;
- if (!timeperframe->numerator)
- timeperframe->numerator = inst->timeperframe.numerator;
+ if (!timeperframe->numerator || !timeperframe->denominator) {
+ timeperframe->numerator = 1;
+ timeperframe->denominator = inst->fps;
+ }
out->capability = V4L2_CAP_TIMEPERFRAME;
@@ -416,8 +416,9 @@ static int venc_s_parm(struct file *file, void *fh, struct v4l2_streamparm *a)
do_div(fps, us_per_frame);
fps = min(VENUS_MAX_FPS, fps);
- inst->timeperframe = *timeperframe;
inst->fps = fps;
+ timeperframe->numerator = 1;
+ timeperframe->denominator = inst->fps;
return 0;
}
@@ -431,7 +432,8 @@ static int venc_g_parm(struct file *file, void *fh, struct v4l2_streamparm *a)
return -EINVAL;
a->parm.output.capability |= V4L2_CAP_TIMEPERFRAME;
- a->parm.output.timeperframe = inst->timeperframe;
+ a->parm.output.timeperframe.numerator = 1;
+ a->parm.output.timeperframe.denominator = inst->fps;
return 0;
}
@@ -1454,8 +1456,6 @@ static void venc_inst_init(struct venus_inst *inst)
inst->out_width = 1280;
inst->out_height = 720;
inst->fps = 15;
- inst->timeperframe.numerator = 1;
- inst->timeperframe.denominator = 15;
inst->hfi_codec = HFI_VIDEO_CODEC_H264;
}
--
2.47.1.613.gc27f4b7a9f-goog
next prev parent reply other threads:[~2025-01-11 9:55 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-01-11 9:55 [PATCH v6 0/6] media: Fix coccinelle warning/errors Ricardo Ribalda
2025-01-11 9:55 ` [PATCH v6 1/6] media: dvb-frontends: tda10048: Make the range of z explicit Ricardo Ribalda
2025-01-11 9:55 ` [PATCH v6 2/6] media: venus: vdec: Clamp parm smaller than 1fps and bigger than 240 Ricardo Ribalda
2025-01-15 1:14 ` Bryan O'Donoghue
2025-06-16 11:04 ` Vikash Garodia
2025-06-16 11:44 ` Ricardo Ribalda
2025-06-16 15:44 ` Vikash Garodia
2025-01-11 9:55 ` [PATCH v6 3/6] media: venus: venc: " Ricardo Ribalda
2025-06-16 11:12 ` Vikash Garodia
2025-01-11 9:55 ` Ricardo Ribalda [this message]
2025-06-16 11:24 ` [PATCH v6 4/6] media: venus: Remove timeperframe from inst Vikash Garodia
2025-01-11 9:55 ` [PATCH v6 5/6] media: venus: venc: Make the range of us_per_frame explicit Ricardo Ribalda
2025-06-16 11:31 ` Vikash Garodia
2025-01-11 9:55 ` [PATCH v6 6/6] media: venus: vdec: " Ricardo Ribalda
2025-01-15 1:17 ` Bryan O'Donoghue
2025-06-16 11:32 ` Vikash Garodia
2025-06-12 9:22 ` [PATCH v6 0/6] media: Fix coccinelle warning/errors Bryan O'Donoghue
2025-06-16 11:34 ` Vikash Garodia
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=20250111-fix-cocci-v6-4-1aa7842006cc@chromium.org \
--to=ribalda@chromium.org \
--cc=bryan.odonoghue@linaro.org \
--cc=hverkuil@xs4all.nl \
--cc=linux-arm-msm@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-media@vger.kernel.org \
--cc=mchehab@kernel.org \
--cc=quic_vgarodia@quicinc.com \
--cc=stanimir.k.varbanov@gmail.com \
/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).