VA-API VP9 Encode For GStreamer??

Wolfgang Grandegger wg at grandegger.com
Wed May 20 20:28:51 UTC 2020


Hello,

OK, I think you need KBL+. At least "vainfo" lists "VP9" features. For
Ubuntu, there are also these "non-free" packages:

 i965-va-driver-shaders
 intel-media-va-driver-non-free

See also https://github.com/intel/media-driver/blob/master/README.md

Not sure if it changes something.

Wolfgang

Am 20.05.20 um 22:12 schrieb Patrick Cusack:
> I can run it either as iHD or i965. If I specify i965 in my ffmpeg
> script, I can do VP9 encodes. Here is my vainfo with either iHD or i965.
> I am running headless fwiw.
> 
> Patrick
> 
>  
> 
> [root at localhost gstreamer-1.0]# LIBVA_DRIVER_NAME="iHD" vainfo
> error: can't connect to X server!
> libva info: VA-API version 1.7.0
> libva info: User environment variable requested driver 'iHD'
> libva info: Trying to open /usr/lib64/dri/iHD_drv_video.so
> libva info: Found init function __vaDriverInit_1_7
> libva info: va_openDriver() returns 0
> vainfo: VA-API version: 1.7 (libva 2.7.0.pre1)
> vainfo: Driver version: Intel iHD driver for Intel(R) Gen Graphics -
> 20.1.1 ()
> vainfo: Supported profile and entrypoints
>       VAProfileNone                   :VAEntrypointVideoProc
>       VAProfileNone                   :VAEntrypointStats
>       VAProfileMPEG2Simple            :VAEntrypointVLD
>       VAProfileMPEG2Simple            :VAEntrypointEncSlice
>       VAProfileMPEG2Main              :VAEntrypointVLD
>       VAProfileMPEG2Main              :VAEntrypointEncSlice
>       VAProfileH264Main               :VAEntrypointVLD
>       VAProfileH264Main               :VAEntrypointEncSlice
>       VAProfileH264Main               :VAEntrypointFEI
>       VAProfileH264Main               :VAEntrypointEncSliceLP
>       VAProfileH264High               :VAEntrypointVLD
>       VAProfileH264High               :VAEntrypointEncSlice
>       VAProfileH264High               :VAEntrypointFEI
>       VAProfileH264High               :VAEntrypointEncSliceLP
>       VAProfileVC1Simple              :VAEntrypointVLD
>       VAProfileVC1Main                :VAEntrypointVLD
>       VAProfileVC1Advanced            :VAEntrypointVLD
>       VAProfileJPEGBaseline           :VAEntrypointVLD
>       VAProfileJPEGBaseline           :VAEntrypointEncPicture
>       VAProfileH264ConstrainedBaseline:VAEntrypointVLD
>       VAProfileH264ConstrainedBaseline:VAEntrypointEncSlice
>       VAProfileH264ConstrainedBaseline:VAEntrypointFEI
>       VAProfileH264ConstrainedBaseline:VAEntrypointEncSliceLP
>       VAProfileVP8Version0_3          :VAEntrypointVLD
>       VAProfileVP8Version0_3          :VAEntrypointEncSlice
>       VAProfileHEVCMain               :VAEntrypointVLD
>       VAProfileHEVCMain               :VAEntrypointEncSlice
>       VAProfileHEVCMain               :VAEntrypointFEI
>       VAProfileHEVCMain10             :VAEntrypointVLD
>       VAProfileHEVCMain10             :VAEntrypointEncSlice
>       VAProfileVP9Profile0            :VAEntrypointVLD
>       VAProfileVP9Profile2            :VAEntrypointVLD
> 
> [root at localhost gstreamer-1.0]# LIBVA_DRIVER_NAME="i965" vainfo
> error: can't connect to X server!
> libva info: VA-API version 1.7.0
> libva info: User environment variable requested driver 'i965'
> libva info: Trying to open /usr/lib64/dri/i965_drv_video.so
> libva info: Found init function __vaDriverInit_1_6
> libva info: va_openDriver() returns 0
> vainfo: VA-API version: 1.7 (libva 2.7.0.pre1)
> vainfo: Driver version: Intel i965 driver for Intel(R) Coffee Lake - 2.4.0
> 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
>       VAProfileHEVCMain10             :VAEntrypointVLD
>       VAProfileHEVCMain10             :VAEntrypointEncSlice
>       VAProfileVP9Profile0            :VAEntrypointVLD
>       VAProfileVP9Profile0            :VAEntrypointEncSlice
>       VAProfileVP9Profile2            :VAEntrypointVLD
> 
> inxi -G yields 
> 
> *Graphics:  Device-1:*Intel UHD Graphics 630 *driver:*i915 *v:*kernel 
>            *Display:**server:*No display server data found. Headless
> machine? *tty:*226x49 
>            *Message:*Advanced graphics data unavailable in console for
> root. 
> 
> 
> 
>> On May 20, 2020, at 12:50 PM, Wolfgang Grandegger <wg at grandegger.com
>> <mailto:wg at grandegger.com>> wrote:
>>
>> Hello,
>>
>> I also need to set the DISPLAY to see the VAAPI elements. What do the
>> following commands report:
>>
>>  $ vainfo
>>  $ inxi -G
>>
>> Maybe the hardware is not capable for VP9 decoding.
>>
>> Wolfgang
>>
>> Am 20.05.20 um 21:24 schrieb Patrick Cusack:
>>> When I run  gst-inspect-1.0 vaapi, I get the following:
>>>
>>> Plugin Details:
>>>   Name                     vaapi
>>>   Description              VA-API based elements
>>>   Filename                 /usr/lib64/gstreamer-1.0/libgstvaapi.so
>>>   Version                  1.16.2
>>>   License                  LGPL
>>>   Source module            gstreamer-vaapi
>>>   Source release date      2019-12-03
>>>   Binary package           gstreamer-vaapi
>>>   Origin URL              
>>> http://bugzilla.gnome.org/enter_bug.cgi?product=GStreamer
>>>
>>>
>>>   0 features:
>>>
>>>
>>> If I run, GST_VAAPI_ALL_DRIVERS=1 gst-inspect-1.0 vaapi, the I get, and
>>> I see no VP9 encoder even though it is mentioned at:
>>>
>>> https://gstreamer.freedesktop.org/documentation/vaapi/vaapivp9enc.html?gi-language=c
>>>
>>>
>>> Plugin Details:
>>>   Name                     vaapi
>>>   Description              VA-API based elements
>>>   Filename                 /usr/lib64/gstreamer-1.0/libgstvaapi.so
>>>   Version                  1.16.2
>>>   License                  LGPL
>>>   Source module            gstreamer-vaapi
>>>   Source release date      2019-12-03
>>>   Binary package           gstreamer-vaapi
>>>   Origin URL              
>>> http://bugzilla.gnome.org/enter_bug.cgi?product=GStreamer
>>>
>>>   vaapih264feienc: VA-API H264 FEI Advanced encoder (Experimental)
>>>   vaapih264enc: VA-API H264 encoder
>>>   vaapijpegenc: VA-API JPEG encoder
>>>   vaapivp8enc: VA-API VP8 encoder
>>>   vaapih265enc: VA-API H265 encoder
>>>   vaapimpeg2enc: VA-API MPEG-2 encoder
>>>   vaapisink: VA-API sink
>>>   vaapidecodebin: VA-API Decode Bin
>>>   vaapipostproc: VA-API video postprocessing
>>>   vaapih265dec: VA-API H265 decoder
>>>   vaapivp9dec: VA-API VP9 decoder
>>>   vaapivp8dec: VA-API VP8 decoder
>>>   vaapivc1dec: VA-API VC1 decoder
>>>   vaapih264dec: VA-API H264 decoder
>>>   vaapimpeg2dec: VA-API MPEG2 decoder
>>>   vaapijpegdec: VA-API JPEG decoder
>>>
>>>   16 features:
>>>   +--16 elements
>>>
>>>
>>>
>>>> On May 20, 2020, at 11:00 AM, Patrick Cusack <patrickcusack at mac.com
>>>> <mailto:patrickcusack at mac.com>> wrote:
>>>>
>>>> Two questions regarding vaapi for vp9:
>>>>
>>>> 1) Does gstreamer support VP9 encoding? According to this
>>>> (gstvaapiencode_vp9.c), it does, but I don’t see mention of it in the
>>>> README @ https://github.com/GStreamer/gstreamer-vaapi
>>>>
>>>> 2) I installed the following packages, but I do not see any vaapi
>>>> encoders when I run get-inspect. I do have vaapi installed and can run
>>>> it successfully with ffmpeg.
>>>>
>>>> *gst*reamer1-1.16.2-2.fc32.x86_64
>>>> *gst*reamer1-plugins-ugly-free-devel-1.16.2-2.fc32.x86_64
>>>> *gst*reamer1-vaapi-devel-docs-1.16.2-1.fc32.noarch
>>>> *gst*reamer1-plugins-entrans-1.4.0-2.fc32.x86_64
>>>> *gst*reamer1-plugins-bad-freeworld-1.16.2-5.fc32.x86_64
>>>> *gst*reamer1-plugins-base-devel-docs-1.16.2-3.fc32.noarch
>>>> *gst*reamer1-plugins-good-1.16.2-2.fc32.x86_64
>>>> *gst*reamer1-plugins-base-devel-1.16.2-3.fc32.x86_64
>>>> *gst*reamer1-plugins-ugly-free-1.16.2-2.fc32.x86_64
>>>> *gst*reamer1-plugins-bad-free-wildmidi-1.16.2-3.fc32.x86_64
>>>> *gst*reamer1-plugins-entrans-docs-1.4.0-2.fc32.noarch
>>>> *gst*reamer1-libav-1.16.2-3.fc32.x86_64
>>>> *gst*reamer1-plugins-good-qt-1.16.2-2.fc32.x86_64
>>>> *gst*reamer1-devel-1.16.2-2.fc32.x86_64
>>>> *gst*reamer1-plugins-good-gtk-1.16.2-2.fc32.x86_64
>>>> *gst*reamer1-plugins-fc-0.2-22.fc32.x86_64
>>>> *gst*reamer1-plugins-bad-free-extras-1.16.2-3.fc32.x86_64
>>>> *gst*reamer1-plugins-ugly-1.16.2-3.fc32.x86_64
>>>> *gst*reamer1-plugins-bad-free-devel-1.16.2-3.fc32.x86_64
>>>> *gst*reamer1-vaapi-1.16.2-1.fc32.x86_64
>>>> *gst*reamer1-plugins-bad-free-fluidsynth-1.16.2-3.fc32.x86_64
>>>> *gst*reamer1-plugins-base-tools-1.16.2-3.fc32.x86_64
>>>> *gst*reamer1-plugins-good-extras-1.16.2-2.fc32.x86_64
>>>> *gst*reamer1-plugins-base-1.16.2-3.fc32.x86_64
>>>> *gst*reamer1-plugins-bad-free-1.16.2-3.fc32.x86_64
>>>>
>>>>
>>>>
>>>
>>>
>>> _______________________________________________
>>> gstreamer-devel mailing list
>>> gstreamer-devel at lists.freedesktop.org
>>> https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
>>>
>> _______________________________________________
>> gstreamer-devel mailing list
>> gstreamer-devel at lists.freedesktop.org
>> <mailto:gstreamer-devel at lists.freedesktop.org>
>> https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
> 
> 
> _______________________________________________
> gstreamer-devel mailing list
> gstreamer-devel at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
> 


More information about the gstreamer-devel mailing list