obs-studio icon indicating copy to clipboard operation
obs-studio copied to clipboard

obs-qsv11: Implement texture encoder on linux

Open kkartaltepe opened this issue 1 year ago • 2 comments

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.

kkartaltepe avatar Jan 22 '24 02:01 kkartaltepe

~~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.

kkartaltepe avatar Jan 28 '24 00:01 kkartaltepe

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.

kkartaltepe avatar Feb 01 '24 04:02 kkartaltepe