Decoding with intel hardware acceleration

pasifus pasifus at gmail.com
Mon Feb 6 18:30:35 UTC 2017


Hi all

I try to decode H264 RTSP stream to YUV in my c++ code

I use Ubuntu Server 14.04 and chipset Intel i965 driver for Intel(R) Skylake
- 1.8.0.pre1

My streamer pipeline with software decoding is something like this: *rtspsrc
location=... ! rtph264depay ! queue ! avdec_h264 ! video convert ! ...  !
appsink*

*to use it I installed:*
gstreamer-1.8.3
gst-plugins-base-1.8.3
gst-plugins-good-1.8.3
gst-libav-1.8.3

and it's seems work ok.

Because my motherboard have availability to use decoder from hardware
acceleration I tried to add it support. *Installed:*
intel-vaapi-driver
libra
libra-utils
gst-plugins-bad-1.8.3
gstreamer-vaapi-1.8.3

/vainfo
libva info: VA-API version 0.40.0
libva info: va_getDriverName() returns 0
libva info: Trying to open /usr/local/lib/dri/i965_drv_video.so
libva info: Found init function __vaDriverInit_0_40
libva info: va_openDriver() returns 0
vainfo: VA-API version: 0.40 (libva )
vainfo: Driver version: Intel i965 driver for Intel(R) Skylake - 1.8.0.pre1
(1.7.3-306-g8ccf612)
vainfo: Supported profile and entrypoints
      VAProfileMPEG2Simple            :             VAEntrypointVLD
      VAProfileMPEG2Simple            :             VAEntrypointEncSlice
      VAProfileMPEG2Main              :              VAEntrypointVLD
      VAProfileMPEG2Main              :              VAEntrypointEncSlice
      VAProfileH264ConstrainedBaseline:  VAEntrypointVLD
      VAProfileH264ConstrainedBaseline:  VAEntrypointEncSlice
      VAProfileH264ConstrainedBaseline:  VAEntrypointEncSliceLP
*      VAProfileH264Main               :  VAEntrypointVLD
*      VAProfileH264Main               :  VAEntrypointEncSlice
      VAProfileH264Main               :  VAEntrypointEncSliceLP
      VAProfileH264High               :   VAEntrypointVLD
      VAProfileH264High               :   VAEntrypointEncSlice
      VAProfileH264High               :   VAEntrypointEncSliceLP
      VAProfileH264MultiviewHigh      :        VAEntrypointVLD
      VAProfileH264MultiviewHigh      :        VAEntrypointEncSlice
      VAProfileH264StereoHigh         :            VAEntrypointVLD
      VAProfileH264StereoHigh         :            VAEntrypointEncSlice
      VAProfileVC1Simple              :  VAEntrypointVLD
      VAProfileVC1Main                :   VAEntrypointVLD
      VAProfileVC1Advanced            :             VAEntrypointVLD
      VAProfileNone                   :       VAEntrypointVideoProc
      VAProfileJPEGBaseline           :               VAEntrypointVLD
      VAProfileJPEGBaseline           :               VAEntrypointEncPicture
      VAProfileVP8Version0_3          :            VAEntrypointVLD
      VAProfileVP8Version0_3          :            VAEntrypointEncSlice
      VAProfileHEVCMain               : VAEntrypointVLD
      VAProfileHEVCMain               : VAEntrypointEncSlice/


But how I see to use it I need install X Server. 
I tried to test is: *gst-launch-1.0 filesrc location=
big_buck_bunny_720p_h264.mov ! qtdemux ! h264parse ! vaapidecode ! fakes*,
but without X11 it's not work. 

*How I can add decoding hardware acceleration without installing X server?
(It's possible?)
It's posible parallel decode video using hardware and software decoders
together? When is not availability hardware decoded (because it overload)
change to software decode*

Thanks.



--
View this message in context: http://gstreamer-devel.966125.n4.nabble.com/Decoding-with-intel-hardware-acceleration-tp4681747.html
Sent from the GStreamer-devel mailing list archive at Nabble.com.


More information about the gstreamer-devel mailing list