On Fri May 9 14:08:49 2025 +0530, Dikshita Agarwal wrote:
> Update the width, height and buffer size of CAPTURE based on the
> resolution set to OUTPUT via VIDIOC_S_FMT. This is required to set the
> updated capture resolution to firmware when S_FMT is called only for
> OUTPUT.
> 
> Cc: sta...@vger.kernel.org
> Fixes: b530b95de22c ("media: iris: implement s_fmt, g_fmt and try_fmt ioctls")
> Reviewed-by: Bryan O'Donoghue <bryan.odonog...@linaro.org>
> Acked-by: Vikash Garodia <quic_vgaro...@quicinc.com>
> Tested-by: Neil Armstrong <neil.armstr...@linaro.org> # on SM8550-QRD
> Tested-by: Neil Armstrong <neil.armstr...@linaro.org> # on SM8550-HDK
> Tested-by: Neil Armstrong <neil.armstr...@linaro.org> # on SM8650-QRD
> Tested-by: Neil Armstrong <neil.armstr...@linaro.org> # on SM8650-HDK
> Signed-off-by: Dikshita Agarwal <quic_diksh...@quicinc.com>
> Tested-by: Vikash Garodia <quic_vgaro...@quicinc.com> # on sa8775p-ride
> Signed-off-by: Bryan O'Donoghue <b...@kernel.org>
> Signed-off-by: Hans Verkuil <hverk...@xs4all.nl>

Patch committed.

Thanks,
Hans Verkuil

 drivers/media/platform/qcom/iris/iris_vdec.c | 5 +++++
 1 file changed, 5 insertions(+)

---

diff --git a/drivers/media/platform/qcom/iris/iris_vdec.c 
b/drivers/media/platform/qcom/iris/iris_vdec.c
index 9c049b9671cc..d342f733feb9 100644
--- a/drivers/media/platform/qcom/iris/iris_vdec.c
+++ b/drivers/media/platform/qcom/iris/iris_vdec.c
@@ -171,6 +171,11 @@ int iris_vdec_s_fmt(struct iris_inst *inst, struct 
v4l2_format *f)
                output_fmt->fmt.pix_mp.ycbcr_enc = f->fmt.pix_mp.ycbcr_enc;
                output_fmt->fmt.pix_mp.quantization = 
f->fmt.pix_mp.quantization;
 
+               /* Update capture format based on new ip w/h */
+               output_fmt->fmt.pix_mp.width = ALIGN(f->fmt.pix_mp.width, 128);
+               output_fmt->fmt.pix_mp.height = ALIGN(f->fmt.pix_mp.height, 32);
+               inst->buffers[BUF_OUTPUT].size = iris_get_buffer_size(inst, 
BUF_OUTPUT);
+
                inst->crop.left = 0;
                inst->crop.top = 0;
                inst->crop.width = f->fmt.pix_mp.width;

Reply via email to