[Bug]: H.264 encoding in Chrome has broken colours on LNL
- Dominant language
- C
- Stars
- 1.2k
- Forks
- 383
- Avg merge
- 8d 18h
- Merged PRs (30d)
- 4
Description
### Which component impacted?
Encode
### Is it regression? Good in old configuration?
None
### What happened?
1. Open Chrome using the flags `google-chrome --enable-features=AcceleratedVideoEncoder`
2. Visit https://codec-compare.glitch.me/ on a Lunar Lake system
3. Observe that the H.264 options are broken whereas the AV1 function works correctly
I'm unable to repro this issue on my Tiger Lake system with i915/Xe DRM and the same software versions.
### What's the usage scenario when you are seeing the problem?
Web browser, Video Conference, Content Creation, Game Streaming
### What impacted?
I stream my display and webcam using Google Chrome in various video conferencing and chat platforms, and since upgrading to Lunar Lake, this means I'm unable to use hardware acceleration. Encoding seems to work fine in OBS Studio, it's only Chrome which is affected.
### Debug Information
- Fedora Workstation 41 with kernel 6.12.5 and 6.13-rc3
- libva/libva-utils 2.22.0 + gmmlib 22.5.5 + media-driver 24.3.4
- Chrome Dev 133.0.6888.2 (repro'ed on Chrome Stable 131.0.6778.139 as well)
- `dmesg` - No relevant logs
- `lspci -nn |grep -Ei 'VGA|DISPLAY'`
`00:02.0 VGA compatible controller [0300]: Intel Corporation Lunar Lake [Intel Arc Graphics 130V / 140V] [8086:64a0] (rev 04)`
vainfo log
```
Trying display: wayland
libva info: VA-API version 1.22.0
libva info: Trying to open /usr/lib64/dri-nonfree/iHD_drv_video.so
libva info: Found init function __vaDriverInit_1_22
libva info: va_openDriver() returns 0
vainfo: VA-API version: 1.22 (libva 2.22.0)
vainfo: Driver version: Intel iHD driver for Intel(R) Gen Graphics - 24.3.4 ()
vainfo: Supported profile and entrypoints
VAProfileNone : VAEntrypointVideoProc
VAProfileMPEG2Simple : VAEntrypointVLD
VAProfileMPEG2Main : VAEntrypointVLD
VAProfileH264Main : VAEntrypointVLD
VAProfileH264Main : VAEntrypointEncSlice
VAProfileH264High : VAEntrypointVLD
VAProfileH264High : VAEntrypointEncSlice
VAProfileJPEGBaseline : VAEntrypointVLD
VAProfileJPEGBaseline : VAEntrypointEncPicture
VAProfileH264ConstrainedBaseline: VAEntrypointVLD
VAProfileH264ConstrainedBaseline: VAEntrypointEncSlice
VAProfileVP8Version0_3 : VAEntrypointVLD
VAProfileHEVCMain : VAEntrypointVLD
VAProfileHEVCMain : VAEntrypointEncSlice
VAProfileHEVCMain10 : VAEntrypointVLD
VAProfileHEVCMain10 : VAEntrypointEncSlice
VAProfileVP9Profile0 : VAEntrypointVLD
VAProfileVP9Profile1 : VAEntrypointVLD
VAProfileVP9Profile2 : VAEntrypointVLD
VAProfileVP9Profile3 : VAEntrypointVLD
VAProfileHEVCMain12 : VAEntrypointVLD
VAProfileHEVCMain422_10 : VAEntrypointVLD
VAProfileHEVCMain422_10 : VAEntrypointEncSlice
VAProfileHEVCMain422_12 : VAEntrypointVLD
VAProfileHEVCMain444 : VAEntrypointVLD
VAProfileHEVCMain444 : VAEntrypointEncSlice
VAProfileHEVCMain444_10 : VAEntrypointVLD
VAProfileHEVCMain444_10 : VAEntrypointEncSlice
VAProfileHEVCMain444_12 : VAEntrypointVLD
VAProfileHEVCSccMain : VAEntrypointVLD
VAProfileHEVCSccMain : VAEntrypointEncSlice
VAProfileHEVCSccMain10 : VAEntrypointVLD
VAProfileHEVCSccMain10 : VAEntrypointEncSlice
VAProfileHEVCSccMain444 : VAEntrypointVLD
VAProfileHEVCSccMain444 : VAEntrypointEncSlice
VAProfileAV1Profile0 : VAEntrypointVLD
VAProfileAV1Profile0 : VAEntrypointEncSlice
VAProfileHEVCSccMain444_10 : VAEntrypointVLD
VAProfileHEVCSccMain444_10 : VAEntrypointEncSlice
VAProfileVVCMain10 : VAEntrypointVLD
VAProfileVVCMultilayerMain10 : VAEntrypointVLD
```
libva traces generated when following the repro steps attached:
[libva_trace.log.112828.thd-0x000040c1.txt](https://github.com/user-attachments/files/18180461/libva_trace.log.112828.thd-0x000040c1.txt)
[libva_trace.log.112848.thd-0x000042de.txt](https://github.com/user-attachments/files/18180462/libva_trace.log.112848.thd-0x000042de.txt)
### Do you want to contribute a patch to fix the issue?
None
Contributor guide
Assessment
This issue has not been assessed yet.