Re: [PATCH] media: venus: allow interlaced video streams

From: Vikash Garodia

Date: Mon Mar 02 2026 - 02:32:53 EST



On 3/1/2026 4:05 AM, Dmitry Baryshkov wrote:
On Sat, Feb 28, 2026 at 09:54:20PM +0100, Piotr Oniszczuk wrote:


Wiadomość napisana przez Dmitry Baryshkov <dmitry.baryshkov@xxxxxxxxxxxxxxxx> w dniu 28 lut 2026, o godz. 10:49:

Venus driver errors out on the interlaced streams with the 'field isn't
supported' error message, which e.g. prevents decoding of the MPEG2
video streams. Don't error out if the buffer is set to contain
interlaced data.

Tested with the fluster enabled to handle MPEG2 through Gstreamer:

./fluster.py r -d GStreamer-MPEG2_VIDEO-V4L2-Gst1.0 -s -so venus-mpeg2.md -j 1

GLOBAL SUMMARY
|TOTALS|GStreamer-MPEG2_VIDEO-V4L2-Gst1.0|
|-|-|
|TOTAL|30/52|
|TOTAL TIME|75.526s|
|-|-|
|Profile|GStreamer-MPEG2_VIDEO-V4L2-Gst1.0|
|MAIN|26/32|
|PROFILE_4_2_2|0/9|
|SIMPLE|4/11|
|-|-|

Fixes: 059790467bf4 ("media: venus: helpers: handle correctly vbuf field")
Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@xxxxxxxxxxxxxxxx>
---
drivers/media/platform/qcom/venus/helpers.c | 5 -----
1 file changed, 5 deletions(-)

diff --git a/drivers/media/platform/qcom/venus/helpers.c b/drivers/media/platform/qcom/venus/helpers.c
index 747c388fe25f..71e79093a4c7 100644
--- a/drivers/media/platform/qcom/venus/helpers.c
+++ b/drivers/media/platform/qcom/venus/helpers.c
@@ -1466,11 +1466,6 @@ int venus_helper_vb2_buf_prepare(struct vb2_buffer *vb)
if (V4L2_TYPE_IS_OUTPUT(vb->vb2_queue->type)) {
if (vbuf->field == V4L2_FIELD_ANY)
vbuf->field = V4L2_FIELD_NONE;
- if (vbuf->field != V4L2_FIELD_NONE) {
- dev_err(inst->core->dev, "%s field isn't supported\n",
- __func__);
- return -EINVAL;
- }
}

if (vb->type == V4L2_BUF_TYPE_VIDEO_CAPTURE_MPLANE &&

---
base-commit: 779cae956c8316aebc1946ef86ca001f99658270
change-id: 20260228-venus-mpeg2-495f9187a1ec

Best regards,
--
With best wishes
Dmitry




Dmitry,
I applied this on 6.19.4 mainline and give run with interlaced content (hd tv) on qcs6490 (radxa dragon sbc).
Playback fails like this: https://gist.github.com/warpme/a368983678af0a76af85314808773076
pls see a bootom kernel output showing venus failure.
my sw stack plays ok on e.g rpi4 stateful v4l2m2m so i think root cause isn't in my userspace....
pls let me know if anything extra is required to fix venus decoder issue.
br


Interesting. So, most likely, H.264 decoder can't cope with it and we
need to allow non-NONE fields only for MPEG2. Let's see if Vikash will
have any other ideas.


Venus should already support h264 interlace.

Piotr, do you see the same failure without this patch ?

Regards,
Vikash