diff --git a/README.md b/README.md index 2f6de6f..bb4286f 100644 --- a/README.md +++ b/README.md @@ -252,6 +252,23 @@ Non-browser HW decode (GStreamer `v4l2codecs`, FFmpeg via ohm is a useful starting point for anyone who wants to pick up the multiplanar port. +#### Why not "Brave via our system ffmpeg" or Chromium's own V4L2 decoder? + +- **System ffmpeg is not a decoder source for Chromium/Brave.** Chromium + links a vendored ffmpeg fork; even the Arch-style `use_system_ffmpeg` + builds use system `libavcodec` only as a pure software decoder + (`FfmpegVideoDecoder`), with no `hw_device_ctx` / hwaccel wiring. + Installing our `ffmpeg-v4l2-request-git` would not give Brave HW decode. +- **Chromium's own `V4L2VideoDecoder` class is compiled into `brave-bin`** + (verified via `strings`) but gated behind ChromeOS-only runtime factory + checks. `UseChromeOSDirectVideoDecoder` / `V4L2FlatStatelessVideoDecoder` + feature flag names do **not** appear as strings in the brave-bin binary + — only `AcceleratedVideoDecodeLinuxGL` does, which is a VA-API gate, not + a V4L2 gate. Enabling those flags at the command line is a no-op on this + build. Unlocking V4L2 on Linux Brave would require either (a) a Chromium + rebuild with different buildflags, or (b) upstream patches to extend the + V4L2 decoder factory to Linux non-ChromeOS targets. + ### Acceptance criterion **1080p @ 30 fps, no dropped frames.** Applies to every device and every