IMX8MM Hantro VP9 decode failure

Nicolas Dufresne nicolas at ndufresne.ca
Fri Dec 3 17:14:49 UTC 2021


Le vendredi 03 décembre 2021 à 09:00 -0800, Tim Harvey a écrit :
> Greetings,
> 
> I'm testing the VP9 hantro kernel support on an IMX8MM with the following:
> - imx8mm-venice-gw73xx-0x board with a 800x480 MIPI DSI display
> - v5.16-rc3 kernel with:
>   - [PATCH v7 00/11] VP9 codec V4L2 control interface
>   - IMX8MM DSI support added (some old patchsets)
>   - GStreamer 1.19.3+
> 
>  with vp9 backported, hantro support added, and imx8mm display support added
> - gstreamer 1.19.3 (git sha b5c07e11ca)

Couple more fixed landed yesterday:

05458f05e0 v4l2codecs: vp9: Drop frames on non-keyframe format change


And if you want to recover MPEG2 which regressed after merging VP9, get the next
commit too:

7e875ddb2c (HEAD -> main, origin/main) v4l2codecs: mpeg2: Fix selected sizeimage

> 
> I see the v4l2 stateless decoder:
> [gst-main] root at focal-venice:~/gstreamer/build# gst-inspect-1.0
> v4l2codecs | grep v4l2slvp9dec
>   v4l2slvp9dec: V4L2 Stateless VP9 Video Decoder
> 
> I'm generating a test stream on an x86 with GStreamer 1.19.3 (git sha
> 05458f05e0):
> gst-launch-1.0 -v videotestsrc ! video/x-raw,width=800,height=480 !
> vp9enc ! rtpvp9pay ! udpsink host=172.24.33.15 port=9001
> 
> I'm decoding on imx8mm with:
> gst-launch-1.0 udpsrc port=9001 caps =
> 'application/x-rtp,media=(string)video, clock-rate=(int)90000,
> encoding-name=(string)VP9,payload=(int)96, ssrc=(uint)2246741422,
> timestamp-offset=(uint)3441735424,
> seqnum-offset=(uint)30250,a-framerate=(string)30' ! rtpvp9depay !
> v4l2slvp9dec ! fakesink
> ^^^ this fails with no-negotiated

vp9parse is required. Our new stateless decoder handle frames, while VP9 have
this notion of superframe. vp9parse will seperate the frames from the super
frames.

> 
> Things seem to be very bleeding edge with VP9 so I'm not sure if I
> need very specific gstreamer versions here or not.

This is currently broken due to another feature, but this should work using
playbin(3) / decodebin(3) by 1.20 hopefully. 1.20 is are soon coming next stable
release.

> 
> Best regards,
> 
> Tim



More information about the gstreamer-devel mailing list