Bug 78884 - GStreamer encountered a general stream error when playing video in grayscale format
Summary: GStreamer encountered a general stream error when playing video in grayscale ...
Status: CLOSED FIXED
Alias: None
Product: libva
Classification: Unclassified
Component: intel (show other bugs)
Version: unspecified
Hardware: x86-64 (AMD64) Linux (All)
: medium normal
Assignee: Gwenole Beauchesne
QA Contact: Sean V Kelley
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2014-05-19 06:54 UTC by zhixinx.liu
Modified: 2014-06-06 01:04 UTC (History)
2 users (show)

See Also:
i915 platform:
i915 features:


Attachments

Description zhixinx.liu 2014-05-19 06:54:58 UTC
The current code in VA intel-driver is
suboptimal, yet incorrect. If the bitstream is in grayscale format, we have to
try and allocate YUV 4:0:0 surfaces instead.

you can get some useful information from Bug730047(https://bugzilla.gnome.org/show_bug.cgi?id=730047)

1. Testing Env:
========================================================================
Libva:               (master)0337703ffedc8562299c2d65acfae76c380043c6
Libva_intel_driver:  (master)b48ba793b83096be87cc4a1258be80737f26fb3b
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)85a60441fa240a0cf884fcb91bb296636a22efe7

2. Testing Steps:
========================================================================
when running command: 
"gst-launch-1.0 filesrc
location=/root/media_tools/decoder/Base_Ext_Main_profile/HPCAMOLQ_BRCM_B.264
'!' h264parse '!' vaapidecode '!' vaapisink sync=false"
following error will arise.
error log:
    ......
    Setting pipeline to PAUSED ...
    Pipeline is PREROLLING ...
    ERROR: from element /GstPipeline:pipeline0/GstH264Parse:h264parse0:
GStreamer encountered a general stream error.
    Additional debug info:
    gstbaseparse.c(3038): gst_base_parse_loop ():
/GstPipeline:pipeline0/GstH264Parse:h264parse0:
    streaming stopped, reason error
    ERROR: pipeline doesn't want to preroll.
    Setting pipeline to NULL ...
    Freeing pipeline ...

3. Frequency of Occurence:
========================================================================
100%
Comment 1 haihao 2014-05-19 07:07:07 UTC
The issue has been fixed by Gwenole. Previously the old codec layer doesn't require a YUV 4:0:0 surface for grayscale image, so the driver doesn't support YUV 4:0:0 surface for H.264 decoding as well.
Comment 2 Gwenole Beauchesne 2014-05-20 04:23:57 UTC
Hi,

(In reply to comment #1)
> The issue has been fixed by Gwenole. Previously the old codec layer doesn't
> require a YUV 4:0:0 surface for grayscale image, so the driver doesn't
> support YUV 4:0:0 surface for H.264 decoding as well.

Yes, I will push the patches by the end of the week if there is no additional comment. Meanwhile, could the QA team do a test on all existing platforms with: <http://cgit.freedesktop.org/~gb/libva-intel-driver/> (15.grayscale branch)?

Thanks. In particular, I am interested in platforms I didn't test, and in order of priority: Baytrail, Sandybridge, Ironlake. I'd suspect a potential issue with the last one if my fallback strategy doesn't work there, but the first two platforms should work just fine.
Comment 3 Gwenole Beauchesne 2014-05-20 04:25:10 UTC
(In reply to comment #2)
> Hi,
> 
> (In reply to comment #1)
> > The issue has been fixed by Gwenole. Previously the old codec layer doesn't
> > require a YUV 4:0:0 surface for grayscale image, so the driver doesn't
> > support YUV 4:0:0 surface for H.264 decoding as well.
> 
> Yes, I will push the patches by the end of the week if there is no
> additional comment. Meanwhile, could the QA team do a test on all existing
> platforms with: <http://cgit.freedesktop.org/~gb/libva-intel-driver/>
> (15.grayscale branch)?
> 
> Thanks. In particular, I am interested in platforms I didn't test, and in
> order of priority: Baytrail, Sandybridge, Ironlake. I'd suspect a potential
> issue with the last one if my fallback strategy doesn't work there, but the
> first two platforms should work just fine.

s/in order/in decreasing order/.
i.e. Baytrail is the most important one, Sandybridge less, and Ironlake even less. But still worth testing. Thanks.
Comment 4 Focus.Luo 2014-05-23 01:24:35 UTC
Hi Gwenole,
About "Meanwhile, could the QA team do a test on all existing platforms with: <http://cgit.freedesktop.org/~gb/libva-intel-driver/> (15.grayscale branch)?", I am not sure which test cases(deocde?VPP? or Encode?, or more detail) need to cover for your patch. You know, if all features need to covered on each platform. It will be a huge work. 

Thanks
Focus
Comment 5 zhixinx.liu 2014-06-06 01:04:06 UTC
verify pass with X11R7.unstable.2014-06-05.
X11R7.unstable.2014-06-05 package information:
Libva:                (staging)35e70cb9b9c77dfb99fb370e319ed501f0c31b17
Libva_intel_driver:   (staging)fbbe401aa28a0b3859d587ef08f0df15a2f7c8f2
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)e670e3600709602ddc6a9db651cc18e91dba4a09
Gstreamer010:         (0.10)76fc67b18c38e7f6c9cfacc4e4d0ed11d3b2c548
Gst_plugins_base010:  (0.10)1e1e6eaf3f0dd11f6618154d9739cbe3e007d206
Gst_plugins_good010:  (0.10)5af6f5bfb6c3619a9ccc3b1681579aeb90e8b89a
Gst_plugins_bad010:   (0.10)cef47d85294a0dca38631f938b81a3f0dd6891bd
Gst_plugins_ugly010:  (0.10)5ddd97ff27ffeb03298be3a02ed18e8c2674d365
Gst_plugins_vaapi010: (0.4)90713fdc442f27b4ea449b92660a294f7796f83e


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.