Bug 65954 - [gst-vaapi-0.4][snb]core dumped when using gstreamer to play 1080i_29_97fps.wmv
Summary: [gst-vaapi-0.4][snb]core dumped when using gstreamer to play 1080i_29_97fps.wmv
Status: CLOSED WONTFIX
Alias: None
Product: libva
Classification: Unclassified
Component: intel (show other bugs)
Version: unspecified
Hardware: Other All
: medium normal
Assignee: Zhong Cong
QA Contact: Sean V Kelley
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2013-06-20 07:17 UTC by Yang Lianyue
Modified: 2013-07-12 07:34 UTC (History)
4 users (show)

See Also:
i915 platform:
i915 features:


Attachments

Description Yang Lianyue 2013-06-20 07:17:04 UTC
Bug detailed description
-----------------------------------------------------------------
Setting pipeline to PAUSED ...
Pipeline is PREROLLING ...
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
0:00:00.172655116  4402 0x7fb41400cca0 ERROR                  vaapi gstvaapidecoder_vc1.c:904:decode_frame: failed to parse frame layer
gst-launch-0.10: i965_drv_video.c:2318: i965_EndPicture: Assertion `obj_context->codec_state.decode.num_slice_params >= 1' failed.
Aborted (core dumped)

Environment:
-----------------------------------------------------------------
Hardware: Sandybridge
libva:  (staging)e468728f9e49603f91ccbce3a232aa3bd98d1fd4
intel-driver: (staging)1da548cccce1b9ec704e7aa406a228c037e25ea2

Reproduce steps:
----------------
1.xinit&
2.gst-launch-0.10 playbin2 uri=file:///home/ipod_itunes_1080i_29_97fps.wmv
(you can download the vedio file from
http://tinderbox.sh.intel.com/media/bitstreams/VC1/ipod_itunes_1080i_29_97fps.wmv)
Comment 1 Zhong Cong 2013-07-04 12:36:51 UTC
with pipeline *gst-launch-0.10 filesrc location=/work/media/ipod_itunes_1080i_29_97fps.wmv ! asfdemux ! video/x-wmv,stream-format=byte-stream ! vaapidecode ! vaapisink --gst-debug=*:3*,we can get the log as belows:

0:00:00.448356979  2240       0xd63680 WARN        codecparsers_vc1 gstvc1parser.c:1312:parse_frame_header_advanced: Failed to parse frame header
0:00:00.448372278  2240       0xd63680 ERROR                  vaapi gstvaapidecoder_vc1.c:904:decode_frame: failed to parse frame layer
0:00:00.448399893  2240       0xd63680 INFO             vaapidecode gstvaapidecode.c:733:gst_vaapidecode_sink_event: handle sink event 'eos'
gst-launch-0.10: i965_drv_video.c:2074: i965_EndPicture: Assertion `obj_context->codec_state.decode.num_slice_params >= 1' failed.

so we know that frame header parse failed.
And i find that almost all parameter of the first frame are wrong after they are parsed.Maybe stream data was destroyed somewhere.
Comment 2 Zhong Cong 2013-07-09 07:01:38 UTC
1,in gstvaapi,if codec data exists,*frame unit data* will be parsed from the start of codec frame buffer without *frame unit header*
   but the codec frame buffer of the reproducted clip is as blows:          
*Entry point unit header|Entry point unit data|Frame unit header|Frame unit data*

2,play this clip with mplayer-vaapi ,we can see log like this:
  
  *Gen_mfd.c:1442: gen7_mfd_vc1_pic_state: Assertion ‘0’ failed.*

3,we can see blur when play this clip with mplayer && vlc media player software decoding.

so we can see there is something wrong with the clip , this issue won't fix.
Comment 3 Zhong Cong 2013-07-09 12:28:14 UTC
entry-point: A point in the bitstream that offers random access.
entry-point segment: The compressed bitstream (and the corresponding coded pictures) that is present between one
entry-point, and the following entry-point.

In the advanced profile, entry-point layer shall be present between the sequence and picture layers to signal a random
access point in the bitstream. Further, in the advanced profile, an optional slice layer may be present between the
picture layer and the macroblock layer. A slice contains one or more contiguous rows of macroblocks in their original
left-to-right order. A slice shall begin at the first macroblock of a row, and end at the last macroblock of the same or
another row. The entry-point and slice layers are present only in advanced profile.

This is not supported is gstvaapi。It should be the root of the *core dump* issue.
Comment 4 Zhong Cong 2013-07-10 08:14:46 UTC
VC-1 interlace is not supported in intel-driver.


Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.