[webkit-changes] [WebKit/WebKit] 9e4ed3: [GStreamer][WebRTC] VAAPI encoders support

Philippe Normand noreply at github.com
Mon Jan 9 08:16:04 PST 2023


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 9e4ed340f4374475d4e0a97df381235bcd972444
      https://github.com/WebKit/WebKit/commit/9e4ed340f4374475d4e0a97df381235bcd972444
  Author: Philippe Normand <philn at igalia.com>
  Date:   2023-01-09 (Mon, 09 Jan 2023)

  Changed paths:
    M Source/WebCore/platform/graphics/gstreamer/GStreamerRegistryScanner.cpp
    M Source/WebCore/platform/mediastream/gstreamer/GStreamerVideoEncoder.cpp
    M Source/WebCore/platform/mediastream/gstreamer/RealtimeOutgoingVideoSourceGStreamer.cpp

  Log Message:
  -----------
  [GStreamer][WebRTC] VAAPI encoders support
https://bugs.webkit.org/show_bug.cgi?id=249941

Reviewed by Xabier Rodriguez-Calvar.

Basic support for H.264 and H.265 VAAPI encoders. The H.265 probing is very minimal at the moment.
Support for VP8/VP9/AV1 will be added later on (I don't have GPUs supporting those codecs).

Implicitely depends on https://github.com/WebKit/WebKit/pull/8094 and
https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3616.

The videorate element in the encoder bin was triggering issues and flakyness in some tests. I think
it's not really required actually, but a videoscale is good to have though.

* Source/WebCore/platform/graphics/gstreamer/GStreamerRegistryScanner.cpp:
(WebCore::GStreamerRegistryScanner::fillVideoRtpCapabilities):
* Source/WebCore/platform/mediastream/gstreamer/GStreamerVideoEncoder.cpp:
(webrtcVideoEncoderSetEncoder):
(webkit_webrtc_video_encoder_class_init):
* Source/WebCore/platform/mediastream/gstreamer/RealtimeOutgoingVideoSourceGStreamer.cpp:
(WebCore::RealtimeOutgoingVideoSourceGStreamer::setPayloadType):

Canonical link: https://commits.webkit.org/258666@main




More information about the webkit-changes mailing list