Comment by MaxL93

3 months ago

I can't say I understand why HEVC support being disabled would "prevent background blurring", especially because 1) the blur has nothing to do with HW decode (not even in weird unknown parts of the MPEG-4 specs like video object planes in part 2, or better yet: part 6 and part 16) — and 2), AVC HW encode is still there and is a completely acceptable fallback, so...?

It doesn’t. Disabling hardware acceleration does which they needed to do in order to play content.

“ needed to either have the HEVC codec from the Microsoft Store removed entirely from [Microsoft Media Foundation] or have hardware acceleration disabled in their web browser/web app, which causes a number of other problems / feature [degradations]. For example, no background blurring in conference programs”

The blur happens on the GPU. HEVC encode also happens on the GPU (or at least a GPU-adjacent device; it's rarely a full-shader affair). If you were to use HEVC software encode with GPU blur, you'd need to send the camera data to the GPU, pull it back to the CPU, and then software encode. Performant GPU readback is often cumbersome enough that developers won't bother.

  • But it is still more performant to do so in general. There are more image corrections of great quality happening than just background removal nowadays, like lighting improvements or sometimes upscaling, and you wouldn't want to do all that on the CPU.

    But also, HW encoding of some codecs is not always of great quality and doesn't support the advanced features required for RTC, so the CPU encoding code-path is sometimes even forced! While it doesn't necessarily apply to HEVC as you'd need a license for it (and almost all apps rely on the system having one), it's happening for VP9 or AV1 occasionally more frequently.

It probably switches video processing to some legacy stack, that doesn't have all the features.