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 722314 - [gst-master]VC1 files decoding failed with latest gst-vaapi commit
[gst-master]VC1 files decoding failed with latest gst-vaapi commit
Status: VERIFIED INVALID
Product: gstreamer-vaapi
Classification: Other
Component: general
git master
Other Linux
: Normal normal
: ---
Assigned To: gstreamer-vaapi maintainer(s)
gstreamer-vaapi maintainer(s)
Depends on:
Blocks: 720305
 
 
Reported: 2014-01-16 06:30 UTC by zhenxiang.li
Modified: 2014-03-14 01:28 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description zhenxiang.li 2014-01-16 06:30:43 UTC
Environment:
--------------
Libva:          (master)73a11b3e249da35ede92560eb089239252721351
Libva_intel_driver:             (master)54cb60f3d973ce6a908ea57f5aa7481803fe653a
Gstreamer10:            (1.0)4e880d4d1e151ea64f83c28b5c3e1bbc06c57903
Gst_plugins_base10:             (1.0)2dd3f028c1e6dea799d7496639f53220818b20b1
Gst_plugins_good10:             (1.0)643d425f51f81b56deec16c01162637546708ee5
Gst_plugins_bad10:              (1.0)0587ab41b4f9979e9cfc11011ed5c970569ee3d3
Gst_plugins_ugly10:             (1.0)c7c911b8320576429e4a4234a1e29ec7436e6814
Gst_plugins_vaapi10:            (master)a674d9eff2665327fa534c2edbcb2cb8ed71d815

Command line:
--------------
gst-launch-1.0 filesrc location=/root/media_tools/decoder/bitstreams_vc1/SA00046.vc1 '!' video/x-wmv '!' vaapidecode '!' vaapisink sync=false

Log info:
--------------
libva info: VA-API version 0.34.0
libva info: va_getDriverName() returns 0
libva info: Trying to open /opt/X11R7/lib/dri/i965_drv_video.so
libva info: Found init function __vaDriverInit_0_34
libva info: va_openDriver() returns 0
Setting pipeline to PAUSED ...
Pipeline is PREROLLING ...

** (gst-launch-1.0:2515): CRITICAL **: gst_video_decoder_negotiate_default: assertion 'GST_VIDEO_INFO_WIDTH (&state->info) != 0' failed
ERROR: from element /GstPipeline:pipeline0/GstVaapiDecode:vaapidecode0: GStreamer error: negotiation problem.

** (gst-launch-1.0:2515): CRITICAL **: gst_vaapi_decoder_flush: assertion 'decoder != NULL' failed
Additional debug info:
gstvideodecoder.c(1983): gst_video_decoder_chain (): /GstPipeline:pipeline0/GstVaapiDecode:vaapidecode0:
encoder not initialized
ERROR: pipeline doesn't want to preroll.
Setting pipeline to NULL ...

Back trace:
--------------
(gdb) bt
  • #0 __lll_lock_wait
    from /lib64/libpthread.so.0
  • #1 _L_lock_839
    from /lib64/libpthread.so.0
  • #2 pthread_mutex_lock
    from /lib64/libpthread.so.0
  • #3 post_activate
    at gstpad.c line 886
  • #4 gst_pad_activate_mode
    at gstpad.c line 1067
  • #5 gst_pad_set_active
    at gstpad.c line 949
  • #6 activate_pads
    at gstelement.c line 2679
  • #7 gst_iterator_fold
    at gstiterator.c line 614
  • #8 iterator_activate_fold_with_resync
    at gstelement.c line 2699
  • #9 gst_element_pads_activate
    at gstelement.c line 2743
  • #10 gst_element_change_state_func
    at gstelement.c line 2807
  • #11 gst_video_decoder_change_state
    at gstvideodecoder.c line 2014
  • #12 gst_element_change_state
    at gstelement.c line 2594
  • #13 gst_element_set_state_func
    at gstelement.c line 2550
  • #14 gst_bin_element_set_state
    at gstbin.c line 2292
  • #15 gst_bin_change_state_func
    at gstbin.c line 2594
  • #16 gst_pipeline_change_state
    at gstpipeline.c line 471
  • #17 gst_element_change_state
    at gstelement.c line 2594
  • #18 gst_element_set_state_func
    at gstelement.c line 2550
  • #19 main
    at gst-launch.c line 1176

Comment 1 Gwenole Beauchesne 2014-01-16 11:37:11 UTC
Thanks, normally a video parser element is always needed. However, vc1parse did not exist in GStreamer 1.0. So, I probably missed adequate #if GST_CHECK_VERSION(1,1,0) around some calls to gst_video_decoder_negotiate().

However, this doesn't change the fact that the video parser was also needed in 1.0 days. So, my additional recommendation is either use a container around the tested VC-1 raw streams, or make it more explicit by specifying the resolution, framerate.
Comment 2 Gwenole Beauchesne 2014-01-22 18:14:54 UTC
Moved to 0.5.9 as this is not a regression per-se vs. 0.5.7 unless you can find out the relevant commit id. Thanks.
Comment 3 zhenxiang.li 2014-03-14 01:28:32 UTC
It can be decoded with gst-vaapi after adding some parameters(width and height of the clips). So close it, another bug will be filed for some failed clips in decoding.
Thanks.