The numbers I quoted are HW encoder availability; HW decode availability is 
sometimes a little higher than encode which can result in an asymmetry but 
that is more of an exception than the rule, e.g. 77% decode instead of 75% 
encode on Windows but enc/dec numbers are the same on macOS. Both AV1 and 
HEVC are better than VP9 for low bitrate and high complexity videos IMO but 
if you disagree then regarding VP9 as an alternative that also lacks HW 
support. So the relevant codec to compare for HW acceleration would be 
H.264 which is not in the same league as HEVC. The MediaCapabilities query 
already convey supported configuration which lets you rule out that reason 
for fallback if you choose to go beyond what the "main profile" supports. 
Agree that an event would be useful but when your decoder stops working 
this can already be detected in getStats. None of this is codec specific so 
I don't see how this is relevant to this I2S. And we have not pulled back 
on our AV1 investments nor do we intend to, it is the preferred codec when 
HW is not a deciding factor.
On Sunday, March 9, 2025 at 9:04:51 PM UTC+1 philipp...@googlemail.com 
wrote:

> I'll still try to get 
> https://datatracker.ietf.org/doc/html/draft-ietf-avtcore-hevc-webrtc
> through the IETF but it has been extremly valuable for shaping the 
> implementation already.
>
> Speaking as an individual below.
>
> API owners: this sounds like an opportunity to elaborate the Chromium 
> position a bit more than the very brief statement cited in
>   
> https://groups.google.com/a/chromium.org/g/blink-dev/c/YJ1QijNiHeM/m/3EhMjMVwAgAJ
>
> Am Di., 4. März 2025 um 02:34 Uhr schrieb Henrik Boström <
> h...@chromium.org>:
>
>> AV1 is great from a quality perspective, but it is not an option for use 
>> cases that require hardware acceleration. Diego mentioned potential 
>> server-side requirements, on the client-side estimates are only 8% Windows 
>> endpoints and 0% macOS endpoints have HW accelerated AV1 support. For 
>> mobile clients (including native apps which need to be able to interop with 
>> web clients in video conferencing use cases), it's 0% Android/iOS as well. 
>> As web apps are becoming more taxing on performance and battery (e.g. video 
>> effects processing becoming default) and increased expectations on video 
>> quality, hardware accelerated alternatives is important for both older and 
>> newer devices running modern web apps and for interop with mobile clients.
>
> H.265 is a different story: HW support is 75% Windows, 99% macOS, 86% 
>> Android, 90% iOS. This goes back to devices from a decade ago which are 
>> still common in the wild. 
>>
>  
> Are those numbers encode, decode or both? The motivator in this space is 
> typically streaming movies which has created a lot of asymmetry between 
> decoding and encoding.
> Take this from edge://gpu on my Windows machine (Intel and NV 3060 GPU)
> [image: image.png]
> AV1 encode support is missing, decode support is there. Hardware encoders 
> for RTC are extremly tricky (which is the reason OpenH264 is still very 
> much needed)
>
> From a quality perspective, this is the only codec that is close to AV1. 
>>
>
> No. HEVC is generally considered to be the equivalent of VP9 so comparing 
> it to AV1 is slightly off.
>
> H.26*4* does *not* fit that bill. Hardware acceleration has been measured 
>> to reduce power consumption by 20% in basic calling use cases and above 30% 
>> when video effects processing is enabled. Combine this with the fact that 
>> video conferencing use cases draws >10X more power than when the laptop not 
>> doing heavy work (like lite web browsing) and you can imagine this can have 
>> a material impact on your device's overall battery life, not to mention 
>> improving the performance, unblocking higher resolutions and more CPU 
>> budget for features as well as unblocking HW acceleration in mobile-to-web 
>> calling and higher resolution use cases for the future. 
>>
> I do not expect the need for AV1 to go away, but I think a compliment is 
>> needed for the hardware/quality balance.
>>
>
> Hard to argue with the power consumption win for decoding.
>
> But as my friends from xcloud say an event for when fallback (or due to 
> lack of SW fallback: failure and freezes) happens would be essential to 
> have.
> I have never seen a follow-up on the "privacy concerns" cited in the 
> meeting notes for
>   
> https://github.com/w3c/webrtc-extensions/issues/146#issuecomment-1822368254
>
> Philipp 
> who prefers to spend his time improving WebRTC/AV1 
> <https://issues.webrtc.org/issues/42226301> even on the web
>  
>
>> On Monday, March 3, 2025 at 7:36:40 PM UTC+1 Diego Perez Botero wrote:
>>
>>> Alex - AV1 isn't an option for all WebRTC use cases due to hardware 
>>> limitations. For instance, for Xbox Cloud Gaming, we do not have AV1 
>>> encoding capabilities on our server hardware and would benefit 
>>> substantially from having H265 decode support on browser clients. We can 
>>> already get that working end-to-end with Safari, so Chromium-based browsers 
>>> essentially have a feature gap in their WebRTC implementation at this 
>>> point. Also note that the H265 support being tracked here is only for when 
>>> the client has *hardware *support for the codec, so the licensing 
>>> implications are mitigated.
>>>
>>> On Monday, March 3, 2025 at 8:15:16 AM UTC-8 Alex Russell wrote:
>>>
>>>> Hey Henrik,
>>>>
>>>> I'd like to understand the case for the API OWNERS approving more 
>>>> support for patent encumbered codecs when we have AV1. Apple continues to 
>>>> use its hardware to push closed solutions in this space, and I understand 
>>>> the instinct, but I'd like to see quantified benefits.
>>>>
>>>> Best,
>>>>
>>>> Alex
>>>>
>>>> On Monday, March 3, 2025 at 2:36:23 AM UTC-8 Henrik Boström wrote:
>>>>
>>> Contact emails
>>>>> hb...@chromium.org, jianlin.q...@intel.com, e...@chromium.org
>>>>>
>>>>> Specification
>>>>> WebRTC: https://w3c.github.io/webrtc-pc
>>>>>
>>>>> But there are no new API surfaces, just a new mime type addition 
>>>>> exposed in existing APIs - the new mime type ("video/H265") is queryable 
>>>>> via MediaCapabilities API:
>>>>>
>>>>> https://w3c.github.io/media-capabilities/#dom-videoconfiguration-contenttype
>>>>>
>>>>> If supported it will show up in SDP generated by WebRTC and 
>>>>> sender/receiver capabilities which can be used to set codec 
>>>>> preferences 
>>>>> <https://w3c.github.io/webrtc-pc/#dom-rtcrtptransceiver-setcodecpreferences>
>>>>>  (existing 
>>>>> WebRTC API). Note that the codec is only used if successfully negotiated, 
>>>>> meaning if the other endpoint does not support the codec then a different 
>>>>> one is automatically used instead.
>>>>>
>>>>> Summary
>>>>>
>>>>> This newer codec has increased compression efficiency (higher quality 
>>>>> per bitrate) relative to VP8/VP9/H264 and very strong hardware support 
>>>>> going back over a decade. This translates into improved visual 
>>>>> experience, 
>>>>> increased battery life and reduced risk of performance issues. The codec 
>>>>> is 
>>>>> already industry standard and we should support it in WebRTC when 
>>>>> provided 
>>>>> by the platform, i.e. if it is available in hardware. This codec is 
>>>>> already 
>>>>> available in WebCodecs (M130) and MediaRecorder APIs (soon? 
>>>>> <https://groups.google.com/u/1/a/chromium.org/g/blink-dev/c/YJ1QijNiHeM>).
>>>>>  
>>>>> Support will be queryable via MediaCapabilities API. Safari has already 
>>>>> shipped support in WebRTC.
>>>>>
>>>>> H265 encoding is only available if the user's device and operating 
>>>>> system provide the necessary capabilities as we will not provide a 
>>>>> software 
>>>>> implementation to fall back to.
>>>>>
>>>>> Blink component
>>>>> Blink>WebRTC>Video 
>>>>> <https://issues.chromium.org/issues?q=customfield1222907:%22Blink%3EWebRTC%3EVideo%22>
>>>>>
>>>>> TAG review/status
>>>>> N/A, small incremental change
>>>>>
>>>>> Risks
>>>>> Interoperability and Compatibility
>>>>>
>>>>> No significant backwards compat risk since the codec is only used if 
>>>>> both endpoints negotiate it. Interop risk is also very small for the same 
>>>>> reason - note that while this codec is new, needing to negotiate 
>>>>> support else falling back to a different format is not a new dynamic: old 
>>>>> codecs like H264 (that's ...4, not ...5) for example come in different 
>>>>> flavors (profile IDs) where support is also HW and implementation 
>>>>> specific 
>>>>> and need to be negotiated, to that regard this is not fundamentally any 
>>>>> different.
>>>>>
>>>>> *Gecko*: Standards position link: 
>>>>> https://github.com/mozilla/standards-positions/issues/1188
>>>>> (Firefox has some non-WebRTC support for H265 already such as media 
>>>>> playback <https://bugzilla.mozilla.org/show_bug.cgi?id=1924066>).
>>>>>
>>>>> *WebKit*: Shipped, including WebRTC support.
>>>>>
>>>>> *Web developers*: Strongly positive. This includes both internal and 
>>>>> external developers who have both contributed code and emails asking for 
>>>>> timelines.
>>>>>
>>>>> WebView application risks
>>>>>
>>>>> None
>>>>>
>>>>> Debuggability
>>>>>
>>>>> N/A
>>>>>
>>>>> Will this feature be supported on all six Blink platforms (Windows, 
>>>>> Mac, Linux, ChromeOS, Android, and Android WebView)?
>>>>> Yes
>>>>>
>>>>> Is this feature fully tested by web-platform-tests 
>>>>> <https://chromium.googlesource.com/chromium/src/+/main/docs/testing/web_platform_tests.md>
>>>>> ?
>>>>> Yes
>>>>>
>>>>> Flag name on about://flags
>>>>> No new flags are added specific to this codec but there are existing 
>>>>> flags to disable  HW acceleration (any codec) which would also disable 
>>>>> H265.
>>>>>
>>>>> Finch feature name
>>>>> WebRtcAllowH265Send for H265 encoding support and
>>>>> WebRtcAllowH265Receive for H265 decoding support
>>>>>
>>>>> Requires code in //chrome?
>>>>> False
>>>>>
>>>>> Tracking bug
>>>>> https://crbug.com/391903235
>>>>>
>>>>> Estimated milestones
>>>>> Shipping on desktop
>>>>> 136
>>>>> Shipping on Android
>>>>> 136
>>>>> Shipping on WebView
>>>>> 136
>>>>>
>>>>> Anticipated spec changes
>>>>>
>>>>> None
>>>>>
>>>>> Link to entry on the Chrome Platform Status
>>>>> https://chromestatus.com/feature/5153479456456704?gate=5188857236291584
>>>>>
>>>> -- 
>> You received this message because you are subscribed to the Google Groups 
>> "blink-dev" group.
>> To unsubscribe from this group and stop receiving emails from it, send an 
>> email to blink-dev+unsubscr...@chromium.org.
>> To view this discussion visit 
>> https://groups.google.com/a/chromium.org/d/msgid/blink-dev/ecdcb150-2719-4040-99d3-3a18fbcbe230n%40chromium.org
>>  
>> <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/ecdcb150-2719-4040-99d3-3a18fbcbe230n%40chromium.org?utm_medium=email&utm_source=footer>
>> .
>>
>

-- 
You received this message because you are subscribed to the Google Groups 
"blink-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to blink-dev+unsubscr...@chromium.org.
To view this discussion visit 
https://groups.google.com/a/chromium.org/d/msgid/blink-dev/0e39d5bb-6eab-43dc-8d39-b2af2e35dfa6n%40chromium.org.

Reply via email to