Intel gstreamer patches upstream 2023q2 queue
Gstreamer-vaapi, Gstreamer-va and Gstreamer-msdk upstream patches commits tested:
Supported Intel Platforms:
- ATS-M
- DG2
- RPL-S (Raptor Lake-S/P)
- ADL-S (Alder Lake-S/P/N)
- SG1/DG1
- RKL (Rocket Lake)
- TGL (Tiger Lake)
- ICL (Ice Lake)
- JSL (Jasper Lake)/EHL (Elkhart Lake)
- KBLx (KBL/Kaby Lake; CFL/Coffee Lake; WHL/Whiskey Lake; CML/Comet Lake; AML/Amber Lake)
Tested Features:
- Decode: AVC/H264, HEVC/H265 (8, 10, 12bit), AV1 (8, 10bit), VP9 (8, 10, 12bit), VP8, JPEG/MJPEG, MPEG2
- Encode: AV1(8, 10bit), AVC/H264, HEVC/H265 (8, 10bit), VP9 (8, 10bit), VP8, JPEG/MJPEG, MPEG2
- VPP: procamp (brightness/contrast/saturation/hue), csc, deinterlace, denoise, scale, sharpen, mirroring, rotation, transpose
Supported Features among Intel platforms:
For features supported on each Intel platform, please refer to links below:
- decode/encode features: https://github.com/intel/media-driver/#decodingencoding-features
- VPP features: https://github.com/intel/media-driver/#video-processing-features
Build configures
Gstreamer build configure:
- #meson -Dprefix=$ROOT_INSTALL_DIR -Dlibdir=$ROOT_INSTALL_DIR/lib -Dbase=enabled -Dgood=enabled -Dugly=enabled -Dbad=enabled -Dvaapi=enabled -Dgst-plugins-bad:va=enabled -Dgst-plugins-bad:msdk=enabled build
- #ninja -C build
- #ninja -C build install
Reference Configure Used: Intel Libva/iHD driver, MediaSDK, oneVPL and oneVPL GPU Runtime
- Media driver: https://github.com/intel/media-driver/releases/tag/intel-media-23.2.4
- VPL Dispatcher: https://github.com/oneapi-src/oneVPL/releases/tag/v2023.3.0
- VPL Runtime: https://github.com/oneapi-src/oneVPL-intel-gpu/releases/tag/intel-onevpl-23.2.4
- Media SDK: https://github.com/Intel-Media-SDK/MediaSDK/releases/tag/intel-mediasdk-23.2.2
- Libva: https://github.com/intel/libva/releases/tag/2.19.0
- Libva-utils: https://github.com/intel/libva-utils/releases/tag/2.19.0
- Gmmlib: https://github.com/intel/gmmlib/releases/tag/intel-gmmlib-22.3.7
Binary:
these components binary of media stack (LibVA/iHD/OneVPL/GmmLib) can be found from https://github.com/oneapi-src/oneVPL-intel-gpu/releases/tag/intel-onevpl-23.2.4
Contactors:
Please contact [email protected], if you have any question.
New Detail
2023Q2:
Firstly added Gstreamer-va plug-in support for Gstreamer (currently only support Gen12+ or TGL+ platforms). Gstreamer-va is a refined gstreamer-vaapi from Gstreamer community which provides well designed video codec and post processing plugins based on the standard VA-API. Gstreamer-va has higher quality, better performance and provides better memory management mechanism. It is based on the common video codecs library provided by gstreamer framework and has much better code style.
- New gstreamer-va plug-in added, which can replace gstreamer-vaapi on Intel Gen12+/TGL+ platforms
- gst-msdk support dynamic queries of dec/enc/vpp capabilities on linux path
- gst-msdk remove encoder's internal vpp of color format coversion
- gst-msdk add support to update encoders' properties dynamicly
- gst-msdk fix vp9 decoder case with reduced resolution
2023Q1
- gstreamer-msdk enabled va memory sharing for msdk decoder
- gstreamer-msdk supported d3d11 video memory for msdk decoder
- gstreamer-msdk fix encoder's failure of encoding frame without pts info into container format
2022Q4:
- Add d3d11 video memory support for encoder and vpp
- Fix decoder pts issue
- Fix vpp upper framerate conversion issue
2022Q3:
- gst-msdk improve memory abstraction for encoder and vpp, which enables the direct share of VA surface between gst-msdk enc/vpp and gst-va element
- gst-msdk fix msdkav1enc's failure with some resolutions
2022Q2:
- gst-msdk added av1 encode support;
- gst-msdk added VUYA interleaved color format in dmabuf mode
- gst-msdk added intra refresh for avc/hevc encode
2022Q1:
- gst-msdk avc/hevc decoder added SFC support for csc and scaling
- gst-msdk encoders enabled VA surface input path
- gst-vaapi improved av1 parse and fixed some av1 decode failed cases (such as film grain)
- fixed some h264 decode failed cases for gst-msdk, which needs check for width and height in mfxVideoParam
2021Q4:
- Gstmsdk vpp supports csc to 12bit format
- Gstmsdk hevc encoder supports to encode HDR SEIs