Files
Michael Froman 108009c984 Bug 1952339 - Vendor libwebrtc from 231ece13b7
Upstream commit: https://webrtc.googlesource.com/src/+/231ece13b7338e18146c2a6ab3191e93a2801a0c
    Delete code that thinks H265 should have same QP as H264.

    The QualityScalingExperiment class is used for two things:
    1. Parsing a field trial that is not used in Chrome anymore but kept
       around for backwards compat with other dependencies.
    2. Provide default QP thresholds for VP8, VP9 and H264 in cases where
       the encoder implementation is not providing their own QP thresholds
       (which otherwise overrides these defaults).

    The H264 thresholds were used as a placeholder for H265 not having any
    QP thresholds of its own. Now manual QP/PSNR measurements, backed by
    codec theory, has proven that H265 needs its own set of QP thresholds
    separate from H264, so we delete this code path.

    Any H265 encoder will now be forced to set `scaling_settings`, which is
    already the case for other codecs that were added after the QP
    experiment was sunset, namely AV1. (If it fails to do so, QP scaling is
    disabled which would be a bug, see for example chromium:399587133.)

    In Chrome, H265 sets its own QP thresholds as of this CL landing:
    https://chromium-review.googlesource.com/c/chromium/src/+/6308082

    Bug: chromium:391907171
    Change-Id: I8ef2cd50f80bdf6019966ab07770a59b6e383d35
    Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/379401
    Commit-Queue: Henrik Boström <hbos@webrtc.org>
    Reviewed-by: Erik Språng <sprang@webrtc.org>
    Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
    Cr-Commit-Position: refs/heads/main@{#44024}

Differential Revision: https://phabricator.services.mozilla.com/D244035
2025-03-07 18:16:27 -06:00
..