Bug 55898 - [gst-vaapi] add support for H.264 interlaced streams
Summary: [gst-vaapi] add support for H.264 interlaced streams
Status: VERIFIED FIXED
Alias: None
Product: libva
Classification: Unclassified
Component: intel (show other bugs)
Version: unspecified
Hardware: Other All
: medium enhancement
Assignee: Zhao Halley
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks: 55305 56073
  Show dependency treegraph
 
Reported: 2012-10-12 07:19 UTC by Du Yan
Modified: 2013-01-28 01:55 UTC (History)
2 users (show)

See Also:
i915 platform:
i915 features:


Attachments

Description Du Yan 2012-10-12 07:19:45 UTC
Environment:
--------------

Intel driver: 
commit 84bc0b4cd257404a0fd47186b3459df6d29abb5b
Author: Li,Xiaowei <xiaowei.a.li@intel.com>
Date:   Tue Sep 25 13:09:13 2012 +0800

Libva: 
commit 11ef676d6722b5d203b2eff2639de515510c5673
Author: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
Date:   Thu Oct 4 15:28:07 2012 +0200

Bug Info:
--------------
de-interlace doesn’t work well for h264 bitstream. It seems that gst-vaapi h264 decoder hasn't consider filed/frame difference yet.


Reproduce steps:
----------------
1.	xinit &
2.	gst-launch-0.10 filesrc location=/root/TS720x480i30_4x3_h264cav_3mbs_daisy-0xe0-950frames.264 ! h264parse ! vaapidecode ! vaapipostproc deinterlace=1 deinterlace-method=1 hue=150.0 brightness=50.0 contrast=5.0 saturation=5.0 auto-brightness=1 auto-contrast=1 auto-saturation=1 ! video/x-surface,type=vaapi,format=\(fourcc\)YV12 ! vaapisink
Comment 1 Gwenole Beauchesne 2012-10-24 03:56:28 UTC
Changed summary to "add support for H.264 interlaced streams" and set the category as "enhancement". Assigned, work-in-progress locally.
Comment 2 Du Yan 2012-11-14 05:22:11 UTC
Libva (staging) c59c512df262cdc44fb6e9101621f246eda176df
Inter-driver (staging) 3bd6f3b3611dd9a39a3075f82cf938fa08e22884
Gst-vaapi (qa) e7d517323fd98608918de1211dc42f795b48765f

Platfrom: IVB
Still not support h264 bitstream.
Comment 3 Gwenole Beauchesne 2012-11-14 18:03:54 UTC
Support for H.264 interlaced streams is now available in git master branch. Bug will be closed unless you find further issues.
Comment 4 Du Yan 2012-11-19 03:07:38 UTC
Restest the bug in gstream-vaapi master branch (cb0da4ed7acbb51f2d5dba34c0b37b2c5ad8bff4):

1. when using gst-launch-0.10 filesrc location=/root/TS720x480i30_4x3_h264cav_3mbs_daisy-0xe0-950frames.264 ! h264parse ! vaapidecode ! vaapisink to play the interlace file, the video is not smootly and a warning always shown: 

WARNING: from element /GstPipeline:pipeline0/GstVaapiSink:vaapisink0: A lot of buffers are being dropped.
Additional debug info:
gstbasesink.c(2875): gst_base_sink_is_too_late (): /GstPipeline:pipeline0/GstVaapiSink:vaapisink0:
There may be a timestamping problem, or this computer is too slow.

2. VPP doesn't work.

3. Still not support some interlace file. pls. refer to the #bug 56652
Comment 5 Jocelyn Li 2013-01-17 06:20:36 UTC
I think it should be supported now, right?
Comment 6 Zhao Halley 2013-01-18 02:30:11 UTC
it has been done by gwenole.
two fields (top & bottom) are decoded to same vaSurface, it also means BOB deinterlace is done intrinsic.
Comment 7 Gwenole Beauchesne 2013-01-18 05:32:27 UTC
(In reply to comment #6)
> it has been done by gwenole.
> two fields (top & bottom) are decoded to same vaSurface, it also means BOB
> deinterlace is done intrinsic.

Well, it depends. This is the case because I still haven't come by videos with specific SEI messages that report the temporal order of either field. This means that you could have a whole surface decoded made up of two fields but sometimes, with some explicit SEI messages, you can specify which field to display first. i.e. the surface does not necessarily represent the same scene: one field could represent the scene at T, and the other field could represent the scene at T+1. 

I would be interested if QA could collect some interlaced bitstreams with PicTiming SEI messages. Thanks.
Comment 8 Du Yan 2013-01-18 08:52:25 UTC
Still some interlcase bitstream can't be decoded normally.

e.g.
CAMASL3_Sony_B.jsv
CAMACI3_Sony_C.jsv
cama3_vtc_b.avc
cama2_vtc_b.avc
cama1_vtc_c.avc

Platform: IVB (master branch)
Comment 9 Jocelyn Li 2013-01-22 07:58:25 UTC
Halley, please check again.
Comment 10 Du Yan 2013-01-28 01:55:28 UTC
Issue can't be reproduced. Close it.


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.