- Allow user to change # of B frames. New Default -> 1
- Allow user to enable Content Adaptive Quantization (MBBRC) if CPU is Skylake or newer.
- Allow user to choose LA_CBR as a rate control.
- LA depth: New Default -> 15, only when LA rate control is used.
Allow multiple QSV encoders, usefull for live + recorded parallel
sessions. The first QSV encoder will create a DirectX device and return
a handle / pointer. Any additional QSV encoder will use that same
pointer to the DirectX device. We keep track of the number of open
QSV encoders so that we wait to close the DirectX resources after all
encoders are closed.
Closesobsproject/obs-studio#1341
Currently, multiple QSV encoders cannot be active at the same time
(otherwise it will crash). This is a temporary solution to prevent
crashes from occurring when more than one QSV encoder tries to start up
at the same time.
Additionally, in the future there should be a way for encoders to be
able to communicate with the front-end when an error such as this
occurs.