After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 776795 - avdec_vp9: Rendering corruption
avdec_vp9: Rendering corruption
Status: RESOLVED OBSOLETE
Product: GStreamer
Classification: Platform
Component: gst-libav
git master
Other other
: Normal normal
: git master
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2017-01-03 07:40 UTC by Yu Yin Kii
Modified: 2018-11-03 12:58 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
A comparison of different sinks using avdec_vp9 and vaapidecode (62.61 KB, image/jpeg)
2017-01-04 05:11 UTC, Yu Yin Kii
Details
Video with rendering corruption with avdecvp9 (3.37 MB, application/octet-stream)
2017-01-13 06:26 UTC, Yu Yin Kii
Details

Description Yu Yin Kii 2017-01-03 07:40:46 UTC
Hi,

Software decode for VP9 (libav – using avdec_vp9 pipeline) will cause corruption when rendering. However this does not occur when using vaapidecode (hardware decode) and vp9dec (on2 decode).

This was run on Yocto OS (reproducible on both Weston and X).

Command Used:

-Hardware Decode (Works fine)
gst-launch-1.0 filesrc location=/<File>.webm ! matroskademux ! vaapidecode ! vaapisink

-On2 Software Decode (Works fine)
gst-launch-1.0 filesrc location=/<File>.webm ! matroskademux ! vp9dec  ! vaapisink

-libav Software Decode (Corruption when rendering)
gst-launch-1.0 filesrc location=/<File>.webm  ! matroskademux ! avdec_vp9 ! vaapisink
Comment 1 Sebastian Dröge (slomo) 2017-01-03 15:06:11 UTC
Does it work fine with ffplay / avplay?
Comment 2 Sebastian Dröge (slomo) 2017-01-03 15:06:38 UTC
And if you use another sink, like glimagesink, xvimagesink, ximagesink? Can you attach screenshots of the problem?
Comment 3 Tim-Philipp Müller 2017-01-03 15:46:51 UTC
Also, could you try a more recent version please? (1.10.x or git master)

And is this against system ffmpeg/libav or the included one?
Comment 4 Yu Yin Kii 2017-01-04 05:11:19 UTC
Created attachment 342809 [details]
A comparison of different sinks using avdec_vp9 and vaapidecode

Snapshot of the output when running the same commands on glimagesink and xvimagesink. Tried on ximagesink too, but unfortunately I got an error for both decoders:

root@intel-corei7-64:~# gst-launch-1.0 filesrc location=/gfx/projects/Braswell/HCK_Videos/VP9_Videos/Cactus_640x320_2mbps_30fps.webm ! matroskademux ! avdec_vp9 ! ximagesink
Setting pipeline to PAUSED ...
Pipeline is PREROLLING ...
WARNING: from element /GstPipeline:pipeline0/GstMatroskaDemux:matroskademux0: Delayed linking failed.
Additional debug info:
/nfs/png/home/lab_yocto/jk/workspace/BXT-LINUX-YOCTO.METABSP/yocto_build/build/tmp/work/corei7-64-poky-linux/gstreamer1.0/1.8.3-r0/gstreamer-1.8.3/gst/parse/grammar.y(506): gst_parse_no_more_pads (): /GstPipeline:pipeline0/GstMatroskaDemux:matroskademux0:
failed delayed linking some pad of GstMatroskaDemux named matroskademux0 to some pad of avdec_vp9 named avdec_vp9-0
ERROR: from element /GstPipeline:pipeline0/GstMatroskaDemux:matroskademux0: GStreamer encountered a general stream error.
Additional debug info:
/nfs/png/home/lab_yocto/jk/workspace/BXT-LINUX-YOCTO.METABSP/yocto_build/build/tmp/work/corei7-64-poky-linux/gstreamer1.0-plugins-good/1.8.3-r0/gst-plugins-good-1.8.3/gst/matroska/matroska-demux.c(4761): gst_matroska_demux_loop (): /GstPipeline:pipeline0/GstMatroskaDemux:matroskademux0:
stream stopped, reason not-linked
ERROR: pipeline doesn't want to preroll.
Setting pipeline to NULL ...
Freeing pipeline ...
Comment 5 Yu Yin Kii 2017-01-04 05:32:31 UTC
Hi, sorry I confused the libva version with the intel-va-driver version. The intel-va-driver version is 1.7.2, while gstreamer-libav is 1.8.3:

gstreamer1.0-libav-1.8.3-r0.corei7_64
gstreamer1.0-libav-dev-1.8.3-r0.corei7_64

We are not able to yet try on 1.10.x or above due to the best known configuration of the gstreamer version we are using is 1.8.3. However, it would be good news if this is fixed in libav 1.10.x and above!
Comment 6 Sebastian Dröge (slomo) 2017-01-04 10:58:37 UTC
Looks good here with 1.10.2 and GIT master on the sample videos I tried. Please provide your test video if it doesn't happen with all of them.
Comment 7 Yu Yin Kii 2017-01-13 06:26:32 UTC
Created attachment 343404 [details]
Video with rendering corruption with avdecvp9

Sorry for the late reply, found out that this occurs with the specific video. Video is as attached - decoding and rendering with avdec_vp9 will result in corruption for this specific video, but with other decoders it is fine.
Comment 8 Sebastian Dröge (slomo) 2017-01-13 10:29:07 UTC
Confirmed, and works with ffplay with -vcodec vp9 (-> avdec_vp9) and with -vcodec libvpx-vp9 (-> vp9dec). So a problem on our side most likely.
Comment 9 GStreamer system administrator 2018-11-03 12:58:21 UTC
-- GitLab Migration Automatic Message --

This bug has been migrated to freedesktop.org's GitLab instance and has been closed from further activity.

You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.freedesktop.org/gstreamer/gst-libav/issues/32.