obs-studio
obs-studio copied to clipboard
obs-qsv11: Implement texture encoder on linux
Description
Implements texture encoding based on #8312 bringing performance equivalence with windows. ~~Still draft as there are a handful of TODOs and doing the right thing on multi-gpu machines might need more plumbing in libobs, but for single gpu systems this should be enough to test the texture encoding PR.~~ Multi-gpu support is in place.
Motivation and Context
Gotta go fast. Encoding 1440p@120fps at 1% cpu is fun.
How Has This Been Tested?
Tested on a KBL machine and a DG2 machine with h264/h265/av1 encoders. Everything seems to be working fine.
Types of changes
- New feature (non-breaking change which adds functionality)
Checklist:
- [x] My code has been run through clang-format.
- [x] I have read the contributing document.
- [x] My code is not on the master branch.
- [x] The code has been tested.
- [x] All commit messages are properly formatted and commits squashed where appropriate.
- [x] I have included updates to all appropriate documentation.
~~There is a rare invalid first frame now, i may have introduce it during some rebasing. Will try and figure out whats up.~~ Looks like i stumbled on a different bug with overloaded encoder. This should be correct as is.
Fixed an issue with uninitialized windows specific values causing some incorrect behavior. It should be correct for all platforms pending a parallel PR to work around some mesa driver bugs.