Video is green when decoding vp9 with spatial layers with hw codec through VAAPI
Categories
(Core :: Audio/Video: Playback, defect)
Tracking
()
People
(Reporter: mozilla, Unassigned)
References
(Blocks 1 open bug)
Details
Attachments
(1 file)
146.60 KB,
image/png
|
Details |
User Agent: Mozilla/5.0 (X11; Linux x86_64; rv:109.0) Gecko/20100101 Firefox/118.0
Steps to reproduce:
Using https://meet.jit.si:
- Start a call with firefox (it does not seem to matter whether it's started here or not)
- Join the same call with chrome/chromium and share video (not screen, just the webcam). So far, so good.
- Join the same call as a third participant (I used my android phone)
- See the green faces in firefox for the participant that use chrome/chromium
- Participants using other clients seem to work fine (tested with firefox 118 and android jitsi app 23.4.0, both work fine)
- If android participant drops out, the video reverts to normal colours after a few seconds.
- if android participant joins in again, chromium user becomes green again almost immediately
The video codec reported by jitsi is VP9.
The bug only happens with media.hardware-video-decoding.enabled=true
.
See original bug report with screenshot here: https://github.com/jitsi/jitsi-meet/issues/13918 where developers suggested I file a bug here.
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:109.0) Gecko/20100101 Firefox/118.0
This is FF 118 running on debian/sid (debian package). The same bug has been observed with FF 117 as well.
Actual results:
Video streams received in FF appear green (see screenshot attached. The blue rectangles are later additions for privacy)
Expected results:
Video streams should look "normal"
Comment 1•1 year ago
|
||
I have seen several reports of this related to jitsi (which probably one of the only services doing vp9 right now). Note this is webrtc but it's using a MediaDataDecoder to do hw decoding on linux, so I presume it's a FFmpegVideoDecoder with VAAPI.
Could be related to bug 1832276, but I'm not sure whether SVC is used here.
![]() |
||
Updated•1 year ago
|
Comment 2•1 year ago
|
||
What happens in the step 6 above is that when there are only 2 participants in the call, the clients switch over to the direct p2p media connection and Chrome is forced to start encoding in VP8 instead of VP9. Therefore the issue doesn't reproduce anymore.
Only when there are 3 participants in the call, the media is routed through the Jitsi bridge and the client forces the Chromium endpoints to encode video in VP9 K-SVC mode.
Comment 3•1 year ago
|
||
By default we'll now use libvpx which should decode SVC fine, but we can keep this for tracking hw decode via VAAPI.
Description
•