Closed Bug 1811210 Opened 2 years ago Closed 2 years ago

[Linux] Use zero-copy video playback with fallback to surface copy

Categories

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

enhancement

Tracking

()

RESOLVED FIXED
111 Branch
Tracking Status
firefox111 --- fixed

People

(Reporter: stransky, Assigned: stransky)

References

(Blocks 1 open bug)

Details

Attachments

(1 file)

Bug 1809162 switches to video frames copy. Implement zero-copy video playback according to available surfaces.

Implement dynamic frame copy / zero copy during VA-API playback.
Run with zero copy and switch to frame copy when rendering pipeline is slow and vice versa.

Sounds nice.

Could you share performance numbers without and with the patch?

(In reply to Paul Menzel from comment #2)

Sounds nice.

Could you share performance numbers without and with the patch?

I don't think it has visible performance benefits. If we copy surfaces we do that on GPU and copied data size may not be significant.
But this is more a stability fix - we do zero copy by default since first VA-API implementation but if there's any problem in rendering queue and we're running out of free ffmpeg frames, we start to copy them ale return to ffmpeg ASAP (instead of HW decode failure). It means the VA-API playback is more robust and avoids switch to SW decode in such case.

The bug title is a bit misleading - will update it.

Summary: [Linux] Implement zero-copy video playback → [Linux] Use zero-copy video playback with fallback to surface copy
Pushed by stransky@redhat.com: https://hg.mozilla.org/integration/autoland/rev/8e856dd24cbd [Linux] Enable zero copy for VA-API video playback r=alwu

Thank you so much for the clarification. (Maybe the commit message summary/title could also be updated.) Thank you again for your amazing work.

Status: NEW → RESOLVED
Closed: 2 years ago
Resolution: --- → FIXED
Target Milestone: --- → 111 Branch
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: