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@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