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

From: Dmitry Baryshkov

Date: Sat Feb 28 2026 - 17:36:26 EST


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.

--
With best wishes
Dmitry