tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

commit 2d3470d2ac41d616ea9c06e6c7ebb8b7108b9a92
parent 18b814952339d3a7bd099fbafbf7b392f5182013
Author: Michael Froman <mfroman@mozilla.com>
Date:   Thu,  9 Oct 2025 14:54:38 -0500

Bug 1993083 - Vendor libwebrtc from 78fc106e80

Upstream commit: https://webrtc.googlesource.com/src/+/78fc106e8097ea1dfd4eacec197a53a7421fb2e1
    IWYU modules/video_coding/codecs/h264/

    using
      find modules/video_coding/codecs/h264/ -name "*.h" -o -name "*.cc" | xargs tools_webrtc/iwyu/apply-include-cleaner
    followed by
      tools_webrtc/gn_check_autofix.py -C out/Default
    followed by
      git cl format
    and manual reordering to respect the H264 compile guards.

    Also ignore the libavcodec/libavutil includes and suppress them.
    This previously caused a revert:
      https://webrtc-review.googlesource.com/c/src/+/385820

    Bug: webrtc:42226242
    Change-Id: Ib8ace06b2860073d5d77e6a4e79fc8c79188b4b7
    Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/400580
    Reviewed-by: Sergey Silkin <ssilkin@webrtc.org>
    Commit-Queue: Philipp Hancke <phancke@meta.com>
    Reviewed-by: Harald Alvestrand <hta@webrtc.org>
    Cr-Commit-Position: refs/heads/main@{#45165}

Diffstat:
Mthird_party/libwebrtc/README.mozilla.last-vendor | 4++--
Mthird_party/libwebrtc/modules/video_coding/codecs/h264/h264.cc | 12+++++++++---
Mthird_party/libwebrtc/modules/video_coding/codecs/h264/h264_color_space.cc | 2++
Mthird_party/libwebrtc/modules/video_coding/codecs/h264/h264_decoder_impl.cc | 16++++++++++++++++
Mthird_party/libwebrtc/modules/video_coding/codecs/h264/h264_decoder_impl.h | 4+++-
Mthird_party/libwebrtc/modules/video_coding/codecs/h264/h264_encoder_impl.cc | 26++++++++++++++++++++++----
Mthird_party/libwebrtc/modules/video_coding/codecs/h264/h264_encoder_impl.h | 20++++++++++++++------
Mthird_party/libwebrtc/modules/video_coding/codecs/h264/h264_encoder_impl_unittest.cc | 3+++
Mthird_party/libwebrtc/modules/video_coding/codecs/h264/h264_simulcast_unittest.cc | 5+++++
Mthird_party/libwebrtc/modules/video_coding/codecs/h264/include/h264_globals.h | 3+--
Mthird_party/libwebrtc/modules/video_coding/codecs/h264/test/h264_impl_unittest.cc | 4++--
Mthird_party/libwebrtc/tools_webrtc/iwyu/apply_include_cleaner.py | 4+++-
12 files changed, 82 insertions(+), 21 deletions(-)

diff --git a/third_party/libwebrtc/README.mozilla.last-vendor b/third_party/libwebrtc/README.mozilla.last-vendor @@ -1,4 +1,4 @@ # ./mach python dom/media/webrtc/third_party_build/vendor-libwebrtc.py --from-local /home/mfroman/mozilla/elm/.moz-fast-forward/moz-libwebrtc --commit mozpatches libwebrtc -libwebrtc updated from /home/mfroman/mozilla/elm/.moz-fast-forward/moz-libwebrtc commit mozpatches on 2025-10-09T19:53:26.943634+00:00. +libwebrtc updated from /home/mfroman/mozilla/elm/.moz-fast-forward/moz-libwebrtc commit mozpatches on 2025-10-09T19:54:30.440311+00:00. # base of lastest vendoring -6426dd6e0e +78fc106e80 diff --git a/third_party/libwebrtc/modules/video_coding/codecs/h264/h264.cc b/third_party/libwebrtc/modules/video_coding/codecs/h264/h264.cc @@ -14,10 +14,19 @@ #include <memory> #include <optional> #include <string> +#include <vector> +#include "absl/base/nullability.h" #include "absl/container/inlined_vector.h" +#include "api/environment/environment.h" +#include "api/video_codecs/h264_profile_level_id.h" +#include "api/video_codecs/scalability_mode.h" #include "api/video_codecs/sdp_video_format.h" +#include "api/video_codecs/video_encoder.h" #include "media/base/media_constants.h" +#include "modules/video_coding/codecs/h264/include/h264_globals.h" +#include "rtc_base/checks.h" +#include "rtc_base/logging.h" #include "rtc_base/trace_event.h" #if defined(WEBRTC_USE_H264) @@ -25,9 +34,6 @@ #include "modules/video_coding/codecs/h264/h264_encoder_impl.h" #endif -#include "rtc_base/checks.h" -#include "rtc_base/logging.h" - namespace webrtc { namespace { diff --git a/third_party/libwebrtc/modules/video_coding/codecs/h264/h264_color_space.cc b/third_party/libwebrtc/modules/video_coding/codecs/h264/h264_color_space.cc @@ -15,6 +15,8 @@ #include "modules/video_coding/codecs/h264/h264_color_space.h" +#include "api/video/color_space.h" + namespace webrtc { ColorSpace ExtractH264ColorSpace(AVCodecContext* codec) { diff --git a/third_party/libwebrtc/modules/video_coding/codecs/h264/h264_decoder_impl.cc b/third_party/libwebrtc/modules/video_coding/codecs/h264/h264_decoder_impl.cc @@ -23,12 +23,28 @@ extern "C" { } // extern "C" #include <algorithm> +#include <array> +#include <cstddef> +#include <cstdint> #include <limits> #include <memory> +#include <optional> +#include "api/scoped_refptr.h" #include "api/video/color_space.h" +#include "api/video/encoded_image.h" #include "api/video/i010_buffer.h" +#include "api/video/i210_buffer.h" +#include "api/video/i410_buffer.h" #include "api/video/i420_buffer.h" +#include "api/video/i422_buffer.h" +#include "api/video/i444_buffer.h" +#include "api/video/render_resolution.h" +#include "api/video/video_codec_type.h" +#include "api/video/video_frame.h" +#include "api/video/video_frame_buffer.h" +#include "api/video/video_rotation.h" +#include "api/video_codecs/video_decoder.h" #include "common_video/include/video_frame_buffer.h" #include "modules/video_coding/codecs/h264/h264_color_space.h" #include "modules/video_coding/include/video_error_codes.h" diff --git a/third_party/libwebrtc/modules/video_coding/codecs/h264/h264_decoder_impl.h b/third_party/libwebrtc/modules/video_coding/codecs/h264/h264_decoder_impl.h @@ -34,13 +34,15 @@ // some way depending on undocumented behavior. If any problems turn up, we may // have to add an extra copy operation, to enforce padding before buffers are // passed to ffmpeg. - extern "C" { #include <libavcodec/avcodec.h> } // extern "C" +#include <cstdint> #include <memory> +#include "api/video/encoded_image.h" +#include "api/video_codecs/video_decoder.h" #include "common_video/h264/h264_bitstream_parser.h" #include "common_video/include/video_frame_buffer_pool.h" #include "modules/video_coding/codecs/h264/include/h264.h" diff --git a/third_party/libwebrtc/modules/video_coding/codecs/h264/h264_encoder_impl.cc b/third_party/libwebrtc/modules/video_coding/codecs/h264/h264_encoder_impl.cc @@ -17,24 +17,42 @@ #include "modules/video_coding/codecs/h264/h264_encoder_impl.h" #include <algorithm> +#include <cstddef> +#include <cstdint> +#include <cstring> #include <limits> #include <optional> #include <string> - -#include "absl/strings/match.h" +#include <vector> + +#include "api/environment/environment.h" +#include "api/scoped_refptr.h" +#include "api/units/data_rate.h" +#include "api/video/encoded_image.h" +#include "api/video/i420_buffer.h" +#include "api/video/video_bitrate_allocation.h" +#include "api/video/video_bitrate_allocator.h" #include "api/video/video_codec_constants.h" +#include "api/video/video_codec_type.h" +#include "api/video/video_frame.h" +#include "api/video/video_frame_buffer.h" +#include "api/video/video_frame_type.h" #include "api/video_codecs/scalability_mode.h" +#include "api/video_codecs/video_codec.h" +#include "api/video_codecs/video_encoder.h" #include "common_video/libyuv/include/webrtc_libyuv.h" +#include "modules/video_coding/codecs/h264/include/h264.h" +#include "modules/video_coding/codecs/h264/include/h264_globals.h" +#include "modules/video_coding/codecs/interface/common_constants.h" #include "modules/video_coding/include/video_codec_interface.h" #include "modules/video_coding/include/video_error_codes.h" #include "modules/video_coding/svc/create_scalability_structure.h" +#include "modules/video_coding/svc/scalable_video_controller.h" #include "modules/video_coding/utility/simulcast_rate_allocator.h" #include "modules/video_coding/utility/simulcast_utility.h" #include "rtc_base/checks.h" #include "rtc_base/logging.h" -#include "rtc_base/time_utils.h" #include "system_wrappers/include/metrics.h" -#include "third_party/libyuv/include/libyuv/convert.h" #include "third_party/libyuv/include/libyuv/scale.h" #include "third_party/openh264/src/codec/api/wels/codec_api.h" #include "third_party/openh264/src/codec/api/wels/codec_app_def.h" diff --git a/third_party/libwebrtc/modules/video_coding/codecs/h264/h264_encoder_impl.h b/third_party/libwebrtc/modules/video_coding/codecs/h264/h264_encoder_impl.h @@ -17,25 +17,33 @@ // #ifdef unless needed and tested. #ifdef WEBRTC_USE_H264 -#if defined(WEBRTC_WIN) && !defined(__clang__) -#error "See: bugs.webrtc.org/9213#c13." -#endif - +#include <cstddef> +#include <cstdint> #include <memory> +#include <optional> #include <vector> #include "absl/container/inlined_vector.h" -#include "api/transport/rtp/dependency_descriptor.h" +#include "api/environment/environment.h" +#include "api/scoped_refptr.h" +#include "api/video/encoded_image.h" #include "api/video/i420_buffer.h" #include "api/video/video_codec_constants.h" +#include "api/video/video_frame.h" +#include "api/video/video_frame_type.h" #include "api/video_codecs/scalability_mode.h" +#include "api/video_codecs/video_codec.h" #include "api/video_codecs/video_encoder.h" #include "common_video/h264/h264_bitstream_parser.h" #include "modules/video_coding/codecs/h264/include/h264.h" +#include "modules/video_coding/codecs/h264/include/h264_globals.h" #include "modules/video_coding/svc/scalable_video_controller.h" -#include "modules/video_coding/utility/quality_scaler.h" #include "third_party/openh264/src/codec/api/wels/codec_app_def.h" +#if defined(WEBRTC_WIN) && !defined(__clang__) +#error "See: bugs.webrtc.org/9213#c13." +#endif + class ISVCEncoder; namespace webrtc { diff --git a/third_party/libwebrtc/modules/video_coding/codecs/h264/h264_encoder_impl_unittest.cc b/third_party/libwebrtc/modules/video_coding/codecs/h264/h264_encoder_impl_unittest.cc @@ -12,7 +12,10 @@ #include "modules/video_coding/codecs/h264/h264_encoder_impl.h" #include "api/environment/environment_factory.h" +#include "api/video/video_codec_type.h" +#include "api/video_codecs/video_codec.h" #include "api/video_codecs/video_encoder.h" +#include "modules/video_coding/codecs/h264/include/h264_globals.h" #include "modules/video_coding/include/video_error_codes.h" #include "test/gtest.h" diff --git a/third_party/libwebrtc/modules/video_coding/codecs/h264/h264_simulcast_unittest.cc b/third_party/libwebrtc/modules/video_coding/codecs/h264/h264_simulcast_unittest.cc @@ -9,11 +9,16 @@ */ #include <memory> +#include <utility> +#include "api/environment/environment.h" #include "api/test/create_simulcast_test_fixture.h" #include "api/test/simulcast_test_fixture.h" #include "api/test/video/function_video_decoder_factory.h" #include "api/test/video/function_video_encoder_factory.h" +#include "api/video_codecs/sdp_video_format.h" +#include "api/video_codecs/video_decoder_factory.h" +#include "api/video_codecs/video_encoder_factory.h" #include "modules/video_coding/codecs/h264/include/h264.h" #include "test/gtest.h" diff --git a/third_party/libwebrtc/modules/video_coding/codecs/h264/include/h264_globals.h b/third_party/libwebrtc/modules/video_coding/codecs/h264/include/h264_globals.h @@ -14,11 +14,10 @@ #ifndef MODULES_VIDEO_CODING_CODECS_H264_INCLUDE_H264_GLOBALS_H_ #define MODULES_VIDEO_CODING_CODECS_H264_INCLUDE_H264_GLOBALS_H_ -#include <algorithm> +#include <cstdint> #include <string> #include <vector> -#include "modules/video_coding/codecs/interface/common_constants.h" #include "rtc_base/checks.h" namespace webrtc { diff --git a/third_party/libwebrtc/modules/video_coding/codecs/h264/test/h264_impl_unittest.cc b/third_party/libwebrtc/modules/video_coding/codecs/h264/test/h264_impl_unittest.cc @@ -15,13 +15,13 @@ #include "api/video/color_space.h" #include "api/video/encoded_image.h" +#include "api/video/video_codec_type.h" #include "api/video/video_frame.h" +#include "api/video/video_frame_type.h" #include "api/video_codecs/video_codec.h" #include "api/video_codecs/video_decoder.h" #include "api/video_codecs/video_encoder.h" #include "common_video/libyuv/include/webrtc_libyuv.h" -#include "media/base/codec.h" -#include "media/base/media_constants.h" #include "modules/video_coding/codecs/h264/include/h264.h" #include "modules/video_coding/codecs/test/video_codec_unittest.h" #include "modules/video_coding/include/video_codec_interface.h" diff --git a/third_party/libwebrtc/tools_webrtc/iwyu/apply_include_cleaner.py b/third_party/libwebrtc/tools_webrtc/iwyu/apply_include_cleaner.py @@ -79,7 +79,9 @@ _IGNORED_HEADERS = [ "alsa\\/.*\\.h", # ALSA. "pulse\\/.*\\.h", # PulseAudio. "bits\\/.*\\.h", # pthreads. - "jpeglibmangler\\.h" # libjpeg. + "jpeglibmangler\\.h", # libjpeg. + "libavcodec\\/.*\\.h", # ffmpeg. + "libavutil\\/.*\\.h", # ffmpeg. ] _SCRIPT_DIR = os.path.dirname(os.path.abspath(__file__))