I finally got hardware video decoding working on Brave. The page that helped was this one:
https://source.chromium.org/chromium/chromium/src/+/main:docs/gpu/vaapi.md#vaapi-on-linux
Note the quote on that page: "VA-API on Linux is not supported, but it can be enabled using the flags below, and it might work on certain configurations -- but there's no guarantees." Ha!
I have an Intel GPU, and Meteor Lake CPU, and a laptop that gets hot easily. My fault for buying a crappy laptop. To get GPU video decoding working with Vulcan, I used the following flags:
brave-browser --use-gl=angle --use-angle=vulkan --enable-features=AcceleratedVideoEncoder,VaapiIgnoreDriverChecks,Vulkan,DefaultANGLEVulkan,VulkanFromANGLE --ignore-gpu-blocklist --disable-gpu-driver-bug-workaround
This works, but watching a 1080p YouTube video, I still get about 4% CPU utilization. This is enough to slowly but inevitably increase the temp of my CPU from 50 deg C to 70 deg C, at which point the fans kick in.
The other method is via OpenGL:
brave-browser --use-gl=angle --use-angle=vulkan --enable-features=AcceleratedVideoEncoder,VaapiIgnoreDriverChecks,Vulkan,DefaultANGLEVulkan,VulkanFromANGLE --ignore-gpu-blocklist --disable-gpu-driver-bug-workaround
This doesn't quite work for me, as I get a corrupted video. And 10% CPU utilization.
Firefox seems to use Vulcan for GPU video decoding. I get the same issue with CPU heating. Maybe I should use this laptop in an industrial freezer.
But maybe these options might help someone.