Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 93eb48d39b70248c062e90fceb4630a312e46b0d
      
https://github.com/WebKit/WebKit/commit/93eb48d39b70248c062e90fceb4630a312e46b0d
  Author: Byungseon(Sun) Shin <[email protected]>
  Date:   2023-09-06 (Wed, 06 Sep 2023)

  Changed paths:
    M Source/ThirdParty/libwebrtc/Configurations/libwebrtc.xcconfig
    M Source/ThirdParty/libwebrtc/Source/webrtc/api/video/video_codec_type.h
    M Source/ThirdParty/libwebrtc/Source/webrtc/api/video_codecs/video_codec.cc
    M Source/ThirdParty/libwebrtc/Source/webrtc/api/video_codecs/video_codec.h
    M 
Source/ThirdParty/libwebrtc/Source/webrtc/api/video_codecs/video_decoder_software_fallback_wrapper.cc
    M 
Source/ThirdParty/libwebrtc/Source/webrtc/api/video_codecs/video_encoder.cc
    M Source/ThirdParty/libwebrtc/Source/webrtc/api/video_codecs/video_encoder.h
    M Source/ThirdParty/libwebrtc/Source/webrtc/call/rtp_payload_params.cc
    M Source/ThirdParty/libwebrtc/Source/webrtc/common_video/h265/h265_common.cc
    M Source/ThirdParty/libwebrtc/Source/webrtc/common_video/h265/h265_common.h
    M 
Source/ThirdParty/libwebrtc/Source/webrtc/common_video/h265/h265_pps_parser.cc
    M 
Source/ThirdParty/libwebrtc/Source/webrtc/common_video/h265/h265_pps_parser.h
    M 
Source/ThirdParty/libwebrtc/Source/webrtc/common_video/h265/h265_sps_parser.cc
    M 
Source/ThirdParty/libwebrtc/Source/webrtc/common_video/h265/h265_sps_parser.h
    M 
Source/ThirdParty/libwebrtc/Source/webrtc/common_video/h265/h265_vps_parser.cc
    M 
Source/ThirdParty/libwebrtc/Source/webrtc/common_video/h265/h265_vps_parser.h
    M 
Source/ThirdParty/libwebrtc/Source/webrtc/logging/rtc_event_log/rtc_event_log_parser.cc
    M Source/ThirdParty/libwebrtc/Source/webrtc/media/base/media_constants.cc
    M Source/ThirdParty/libwebrtc/Source/webrtc/media/base/media_constants.h
    M 
Source/ThirdParty/libwebrtc/Source/webrtc/media/engine/internal_decoder_factory.cc
    M 
Source/ThirdParty/libwebrtc/Source/webrtc/modules/rtp_rtcp/source/create_video_rtp_depacketizer.cc
    M 
Source/ThirdParty/libwebrtc/Source/webrtc/modules/rtp_rtcp/source/rtp_format.cc
    M 
Source/ThirdParty/libwebrtc/Source/webrtc/modules/rtp_rtcp/source/rtp_format_h265.cc
    M 
Source/ThirdParty/libwebrtc/Source/webrtc/modules/rtp_rtcp/source/rtp_format_h265.h
    M 
Source/ThirdParty/libwebrtc/Source/webrtc/modules/rtp_rtcp/source/rtp_sender_video.cc
    M 
Source/ThirdParty/libwebrtc/Source/webrtc/modules/rtp_rtcp/source/rtp_video_header.h
    A 
Source/ThirdParty/libwebrtc/Source/webrtc/modules/rtp_rtcp/source/video_rtp_depacketizer_h265.cc
    A 
Source/ThirdParty/libwebrtc/Source/webrtc/modules/rtp_rtcp/source/video_rtp_depacketizer_h265.h
    M 
Source/ThirdParty/libwebrtc/Source/webrtc/modules/video_coding/codecs/h265/include/h265_globals.h
    M 
Source/ThirdParty/libwebrtc/Source/webrtc/modules/video_coding/encoded_frame.cc
    M 
Source/ThirdParty/libwebrtc/Source/webrtc/modules/video_coding/h265_vps_sps_pps_tracker.cc
    M 
Source/ThirdParty/libwebrtc/Source/webrtc/modules/video_coding/h265_vps_sps_pps_tracker.h
    M 
Source/ThirdParty/libwebrtc/Source/webrtc/modules/video_coding/include/video_codec_interface.h
    M 
Source/ThirdParty/libwebrtc/Source/webrtc/modules/video_coding/packet_buffer.cc
    M 
Source/ThirdParty/libwebrtc/Source/webrtc/rtc_base/experiments/min_video_bitrate_experiment.cc
    M 
Source/ThirdParty/libwebrtc/Source/webrtc/sdk/objc/components/video_codec/nalu_rewriter.cc
    M 
Source/ThirdParty/libwebrtc/Source/webrtc/sdk/objc/components/video_codec/nalu_rewriter.h
    M Source/ThirdParty/libwebrtc/Source/webrtc/test/scenario/video_stream.cc
    M Source/ThirdParty/libwebrtc/Source/webrtc/test/video_codec_settings.h
    M 
Source/ThirdParty/libwebrtc/Source/webrtc/video/config/video_encoder_config.cc
    M 
Source/ThirdParty/libwebrtc/Source/webrtc/video/config/video_encoder_config.h
    M 
Source/ThirdParty/libwebrtc/Source/webrtc/video/encoder_overshoot_detector.cc
    M 
Source/ThirdParty/libwebrtc/Source/webrtc/video/rtp_video_stream_receiver2.cc
    M 
Source/ThirdParty/libwebrtc/Source/webrtc/video/rtp_video_stream_receiver2.h
    M Source/ThirdParty/libwebrtc/Source/webrtc/video/send_statistics_proxy.cc
    M Source/ThirdParty/libwebrtc/Source/webrtc/video/video_stream_encoder.cc
    M Source/ThirdParty/libwebrtc/libwebrtc.xcodeproj/project.pbxproj

  Log Message:
  -----------
  WebRTC HEVC RFC 7798 RTP Payload Format Implementation
https://bugs.webkit.org/show_bug.cgi?id=258794

Reviewed by Youenn Fablet.

The current WebRTC HEVC is using generic packetization instead of RFC 7789 
Packetization.
So this is about implementing the RFC 7798 Packetization.

Fix HEVC depacketizer issues. (#185)
Enalbing low latency mode for RTC (#169)
Enable HEVC support. (#165)
Fix out-of-bounds write in H265VpsSpsPpsTracker (#163)
Apply fix bitstream logic to RtpVideoStreamReceiver2 (#142)
Add missing CODEC_H265 switch case (#136)
Add HEVC support for iOS/Android (#68)
H265 packetization_mode setting fix (#53)
Add H.265 QP parsing logic (#47)

This patch is extracted from following Open WebRTC Toolkit code changes:
<https://github.com/open-webrtc-toolkit/owt-deps-webrtc/pull/185>
<https://github.com/open-webrtc-toolkit/owt-deps-webrtc/pull/169>
<https://github.com/open-webrtc-toolkit/owt-deps-webrtc/pull/165>
<https://github.com/open-webrtc-toolkit/owt-deps-webrtc/pull/163>
<https://github.com/open-webrtc-toolkit/owt-deps-webrtc/pull/142>
<https://github.com/open-webrtc-toolkit/owt-deps-webrtc/pull/136>
<https://github.com/open-webrtc-toolkit/owt-deps-webrtc/pull/68>
<https://github.com/open-webrtc-toolkit/owt-deps-webrtc/pull/53>
<https://github.com/open-webrtc-toolkit/owt-deps-webrtc/pull/47>

co-authoured by:
taste1981 <[email protected]>
jianjunz <[email protected]>
Cyril Lashkevich <[email protected]>
Piasy <[email protected]>
ShiJinCheng <[email protected]>
Andreas Unterhuber <[email protected]>
dong-heun <[email protected]>

* Source/ThirdParty/libwebrtc/Configurations/libwebrtc.xcconfig:
* Source/ThirdParty/libwebrtc/Source/webrtc/api/video/video_codec_type.h:
* Source/ThirdParty/libwebrtc/Source/webrtc/api/video_codecs/video_codec.cc:
* Source/ThirdParty/libwebrtc/Source/webrtc/api/video_codecs/video_codec.h:
(webrtc::VideoCodecH265::operator!= const):
* 
Source/ThirdParty/libwebrtc/Source/webrtc/api/video_codecs/video_decoder_software_fallback_wrapper.cc:
* Source/ThirdParty/libwebrtc/Source/webrtc/api/video_codecs/video_encoder.cc:
* Source/ThirdParty/libwebrtc/Source/webrtc/api/video_codecs/video_encoder.h:
* Source/ThirdParty/libwebrtc/Source/webrtc/call/rtp_payload_params.cc:
* Source/ThirdParty/libwebrtc/Source/webrtc/common_video/h265/h265_common.cc:
* Source/ThirdParty/libwebrtc/Source/webrtc/common_video/h265/h265_common.h:
* 
Source/ThirdParty/libwebrtc/Source/webrtc/common_video/h265/h265_pps_parser.cc:
* Source/ThirdParty/libwebrtc/Source/webrtc/common_video/h265/h265_pps_parser.h:
* 
Source/ThirdParty/libwebrtc/Source/webrtc/common_video/h265/h265_sps_parser.cc:
* Source/ThirdParty/libwebrtc/Source/webrtc/common_video/h265/h265_sps_parser.h:
* 
Source/ThirdParty/libwebrtc/Source/webrtc/common_video/h265/h265_vps_parser.cc:
* Source/ThirdParty/libwebrtc/Source/webrtc/common_video/h265/h265_vps_parser.h:
* 
Source/ThirdParty/libwebrtc/Source/webrtc/logging/rtc_event_log/rtc_event_log_parser.cc:
* Source/ThirdParty/libwebrtc/Source/webrtc/media/base/media_constants.cc:
* Source/ThirdParty/libwebrtc/Source/webrtc/media/base/media_constants.h:
* 
Source/ThirdParty/libwebrtc/Source/webrtc/media/engine/internal_decoder_factory.cc:
* 
Source/ThirdParty/libwebrtc/Source/webrtc/modules/rtp_rtcp/source/create_video_rtp_depacketizer.cc:
* 
Source/ThirdParty/libwebrtc/Source/webrtc/modules/rtp_rtcp/source/rtp_format.cc:
* 
Source/ThirdParty/libwebrtc/Source/webrtc/modules/rtp_rtcp/source/rtp_format_h265.cc:
* 
Source/ThirdParty/libwebrtc/Source/webrtc/modules/rtp_rtcp/source/rtp_format_h265.h:
(webrtc::RtpPacketizerH265::PacketUnit::PacketUnit):
(webrtc::VideoRtpDepacketizerH265::~VideoRtpDepacketizerH265): Deleted.
* 
Source/ThirdParty/libwebrtc/Source/webrtc/modules/rtp_rtcp/source/rtp_sender_video.cc:
* 
Source/ThirdParty/libwebrtc/Source/webrtc/modules/rtp_rtcp/source/rtp_video_header.h:
* 
Source/ThirdParty/libwebrtc/Source/webrtc/modules/video_coding/codecs/h265/include/h265_globals.h:
* 
Source/ThirdParty/libwebrtc/Source/webrtc/modules/video_coding/encoded_frame.cc:
* 
Source/ThirdParty/libwebrtc/Source/webrtc/modules/video_coding/h265_vps_sps_pps_tracker.cc:
* 
Source/ThirdParty/libwebrtc/Source/webrtc/modules/video_coding/h265_vps_sps_pps_tracker.h:
* 
Source/ThirdParty/libwebrtc/Source/webrtc/modules/video_coding/include/video_codec_interface.h:
* 
Source/ThirdParty/libwebrtc/Source/webrtc/modules/video_coding/packet_buffer.cc:
* 
Source/ThirdParty/libwebrtc/Source/webrtc/rtc_base/experiments/min_video_bitrate_experiment.cc:
* 
Source/ThirdParty/libwebrtc/Source/webrtc/sdk/objc/components/video_codec/nalu_rewriter.cc:
* 
Source/ThirdParty/libwebrtc/Source/webrtc/sdk/objc/components/video_codec/nalu_rewriter.h:
* Source/ThirdParty/libwebrtc/Source/webrtc/test/scenario/video_stream.cc:
* Source/ThirdParty/libwebrtc/Source/webrtc/test/video_codec_settings.h:
(webrtc::test::CodecSettings):
* 
Source/ThirdParty/libwebrtc/Source/webrtc/video/config/video_encoder_config.cc:
* Source/ThirdParty/libwebrtc/Source/webrtc/video/config/video_encoder_config.h:
* Source/ThirdParty/libwebrtc/Source/webrtc/video/encoder_overshoot_detector.cc:
* Source/ThirdParty/libwebrtc/Source/webrtc/video/rtp_video_stream_receiver2.cc:
* Source/ThirdParty/libwebrtc/Source/webrtc/video/rtp_video_stream_receiver2.h:
* Source/ThirdParty/libwebrtc/Source/webrtc/video/send_statistics_proxy.cc:
* Source/ThirdParty/libwebrtc/Source/webrtc/video/video_stream_encoder.cc:
* Source/ThirdParty/libwebrtc/libwebrtc.xcodeproj/project.pbxproj:

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


_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to