Bug 57902 - [gst-vaapi] GPU hang during decoding FM1_FT_E.264
Summary: [gst-vaapi] GPU hang during decoding FM1_FT_E.264
Status: VERIFIED FIXED
Alias: None
Product: libva
Classification: Unclassified
Component: intel (show other bugs)
Version: unspecified
Hardware: Other All
: medium normal
Assignee: Zhao Halley
QA Contact: Ouping Zhang
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2012-12-05 05:58 UTC by Du Yan
Modified: 2013-01-14 06:16 UTC (History)
2 users (show)

See Also:
i915 platform:
i915 features:


Attachments
skip stream parsing/decoding when there is corrupt sps/pps until a future correct one (2.29 KB, text/plain)
2013-01-09 05:57 UTC, Zhao Halley
Details
update the patch (2.29 KB, text/plain)
2013-01-09 06:04 UTC, Zhao Halley
Details

Description Du Yan 2012-12-05 05:58:12 UTC
Environment:
--------------
Platform:SGB
Libva: (staging)
commit 38c94cd922473095814ed9a9f99ad98fcc9c285d
Intel-driver: (staging)
commit c0ef9d99df37ae45589fecb898727be495e50304
gst-vaapi: (qa)
commit 01c92b04b095be9163976a53ac2c4305c84fa274


Bug Info:
--------------
GPU hang during decoding FM1_FT_E.264
[20438.602011] [drm:i915_hangcheck_hung] *ERROR* Hangcheck timer elapsed... GPU hung

FM1_FT_E.264    176x144   Baseline 2.0   interlace? no


Reproduce Steps:
--------------
1.xinit&
2.gst-launch-0.10 filesrc location=/home/AVC_conformance/Base_Ext_Main_profile/FM1_FT_E.264 ! h264parse ! vaapidecode ! vaapisink sync=false


Comments:
--------------
On IVB platform: There is garbage when playing FM1_FT_E.264 file by gst-vaapi, but it won’t cause GPU hang.
Comment 1 Zhao Halley 2013-01-07 09:40:25 UTC
I didn't reproduce this bug on xiaowei's platform, not sure whether difference outside of video create the issue, let's check it offline.

by the way, you'd add " ! video/x-h264,framerate=10/1 " in the command line.
otherwise there will be some exception for raw stream since no fps is provided, -- sometimes you see one freezed frame with error from gst.
Comment 2 Zhao Halley 2013-01-09 05:57:53 UTC
Created attachment 72704 [details]
skip stream parsing/decoding when there is corrupt sps/pps until a future correct one

    reset got_sps/got_pps when there are corrupted sps/pps header.
    
    this can stop (incorrect) slice parsing and frame decoding until there is a new valid one.
Comment 3 Zhao Halley 2013-01-09 06:04:09 UTC
Created attachment 72705 [details]
update the patch

made mistake in the previous patch, correct it
Comment 4 Du Yan 2013-01-09 06:56:52 UTC
Test with the patch, it won't cause hang on SNB now. but the clip still can't be decoded correctly, garbage shown, same behavior as IVB/HSW.
Comment 5 Zhao Halley 2013-01-09 07:42:27 UTC
the media content itself is corrupted, one PPS doesn't have enough data. 
so, what we could do is to playback the correctly segment correctly. the rest part(with corrupted header) can't playback well.

mplayer stops playback when it meets the corrupt header: 
mplayer: i965_decoder_utils.c:269: gen5_fill_avc_ref_idx_state: Assertion `frame_idx < 16' failed.
Comment 6 Ouping Zhang 2013-01-14 06:15:49 UTC
this issue can't be reproduced.


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.