Closed Bug 1718309 Opened 3 years ago Closed 3 years ago

VAAPI: 4K VP8 decoding error: "Video can't be played because the file is corrupt."

Categories

(Core :: Audio/Video: Playback, defect)

x86_64
Linux
defect

Tracking

()

VERIFIED FIXED
91 Branch
Tracking Status
firefox-esr78 --- unaffected
firefox89 --- unaffected
firefox90 --- unaffected
firefox91 --- fixed

People

(Reporter: jan, Assigned: alwu)

References

(Blocks 2 open bugs, Regression, )

Details

(Keywords: nightly-community, regression)

Attachments

(3 files)

bug 1717119 apparently fixed 1080p h264, but not 4k VP8.

My Macbook (Intel Iris Graphics 6100 (BDW GT3)) doesn't support VP9, therefore I am testing VP8.

Last good build used 21-24% GPU video decoding (sudo intel_gpu_top).

With media.ffvpx.enabled:true, the video freezes, GPU video decoding is at 100% (sudo intel_gpu_top). My Wayland desktop locked up.

With media.ffvpx.enabled:false, I immediately get "Video can't be played because the file is corrupt."

Same regression range as the other bugs (bug 1716638, bug 1716689):
mozregression --good 2021-06-14 --bad 20210625093436 --pref gfx.x11-egl.force-enabled:true media.ffmpeg.vaapi.enabled:true media.ffvpx.enabled:false media.rdd-ffvpx.enabled:false media.rdd-vpx.enabled:false -a 'https://upload.wikimedia.org/wikipedia/commons/1/18/The_Earth_in_4k.webm'

7:39.86 INFO: Pushlog:
https://hg.mozilla.org/integration/autoland/pushloghtml?fromchange=5e5c1c7e7db0d6e996ccbf56a9aa8e445bc099eb&tochange=97fb4c742d684da863aa27a32ae9d1daa8d67928

97fb4c742d684da863aa27a32ae9d1daa8d67928 alwu — Bug 1692881 - part2 : keep decoded video has at least same amount of duration as decoded audio data. r=bryce
db7fd455cc6af66a965d3ee6f4b3c3a2d00f1a37 alwu — Bug 1692881 - part1 : let MDSM detect whether the video decoding is too slow and force to request the next key frame. r=bryce

Could you help me to capture the log with MOZ_LOG=PlatformDecoderModule:5?
Thank you.

Blocks: 4k-video
Flags: needinfo?(jan)

If it's not allowed to store too many frames while using VAAPI, then I will prefer to restrict the mechanism of agressively storing frames further and make it only happen on SW decoding.

Assignee: nobody → alwu
Attached file 4kvp8.txt (deleted) —

MOZ_LOG=PlatformDecoderModule:5 mozregression --launch 20210625093436 --pref gfx.x11-egl.force-enabled:true media.ffmpeg.vaapi.enabled:true media.ffvpx.enabled:false media.rdd-ffvpx.enabled:false media.rdd-vpx.enabled:false -a 'https://upload.wikimedia.org/wikipedia/commons/1/18/The_Earth_in_4k.webm' -P stdout > 4kvp8.txt

Flags: needinfo?(jan)

So same get_buffer() failed which indicates that ffmpeg also has similar threshold for stroring vpx frames. Could you also help me confirm if 4K vp8 can be played correctly after turning off VAAPI?
Thank you.

Flags: needinfo?(jan)
Attached file 4kvp8_vaapi_disabled_is_fine.txt (deleted) —

Yes, the problem does not occur if VAAPI is disabled.

MOZ_LOG=PlatformDecoderModule:5 mozregression --launch 20210625093436 --pref gfx.x11-egl.force-enabled:true media.ffmpeg.vaapi.enabled:false media.ffvpx.enabled:false media.rdd-ffvpx.enabled:false media.rdd-vpx.enabled:false -a 'https://upload.wikimedia.org/wikipedia/commons/1/18/The_Earth_in_4k.webm' -P stdout > 4kvp8_vaapi_disabled_is_fine.txt

Flags: needinfo?(jan)
Pushed by alwu@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/d23b5390345d do not aggressively store video frames if we have HW decoding. r=bryce
Status: NEW → RESOLVED
Closed: 3 years ago
Resolution: --- → FIXED
Target Milestone: --- → 91 Branch
Status: RESOLVED → VERIFIED
Has Regression Range: --- → yes
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: