VA-API VP9 Encode For GStreamer??
Wolfgang Grandegger
wg at grandegger.com
Wed May 20 20:42:27 UTC 2020
Hello,
if I look to the README.md mentioned below, you need ICL (Ice Lake) for
VP9 encoding. KBLx, including Coffee Lake, only supports VP9 decoding.
Wolfgang
Am 20.05.20 um 22:38 schrieb Patrick Cusack:
> The processor I have is a Coffee Lake processor, i7-8700B. I’ll try
> installing Ubuntu.
>
>
>> On May 20, 2020, at 1:28 PM, Wolfgang Grandegger <wg at grandegger.com
>> <mailto:wg at grandegger.com>> wrote:
>>
>> 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>
>>>> <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>
>>>> <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
>>> <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
>> <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