Skip to content

Intel gstreamer patches upstream 2024q2 queue

Compare
Choose a tag to compare
@FocusLuo FocusLuo released this 16 Jul 14:55
· 123 commits to main since this release

gstreamer-va, gstreamer-msdk (in gst-plugins-bad) and gstreamer-vaapi upstream patches commits tested:

Supported Intel Platforms:

  • MTL (Meteor Lake)
  • ATS-M (Arctic Sound)
  • DG2 (Discrete Graphics 2)
  • RPL (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)
  • CFLx (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/10), AVC/H264, HEVC/H265 (8/10/12bit), 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

2024Q2:

  • gstreamer-va added VVC decode support
  • gstreamer-msdk add main-422-12 profile to hevc encoder
  • gstreamer-msdk BGRx format in mjpegenc
  • gstreamer-msdk Fix encoding incomplete issue in multi-channel vpp -included transcoding case

2024Q1:

  • cartwheel-gstreamer patches supported the latest gstreamer 1.24 release
  • Prioritize va memory when dynamically creating caps
  • Fix lots of memory leaks
  • Fix msdkvpp dma caps negotiation issue
  • Fix issue of va-plugins mix with msdk-plugins in multi-channel case

2023Q4:

  • GStreamer added Intel new MTL platform support
  • both gstreamer-msdk and gst-va can support user-specified card on multi-gpu platform (such as dGPU+iGPU configure)
  • gstreamer-msdk decoder support dynamic frame allocation from libvpl 2.9 version
  • gstreamer-msdk add icq encode mode support

2023Q3:
Gstreamer-va plug-in support for Gstreamer (supported all Intel Gen 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
Gstreamer

  • gst-va add Dec/enc/vpp modifier supports
  • gst-msdk add Dec/enc/vpp modifier supports
  • gst-msdk add Vpp supports HDR to SDR tone mapping
  • gst-msdk add VPP scaling adds compute mode (using EUs)
    Comments: playback through gst-va and gst-msdk pay attention to Gstreamer-modifier-playback-notice

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