Skip to content

Intel gstreamer patches upstream 2023q2 queue

Compare
Choose a tag to compare
@FocusLuo FocusLuo released this 19 Jul 02:30
· 442 commits to main since this release

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:

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

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