3 Commits

Author SHA1 Message Date
Xaymar aeaa8dd90e Improved Threading, better Frame Submission and more
The encoder is now capable of delayed or immediate threading (using fixed latency) which allows for a much better performance and works better with older VFW encoders that assume they are being used for transcoding instead of live-encoding.

In addition to the above, the MPEG-2 rewrite code for Matrox MPEG-2 encoders is completely done now and will fix up the bitstream Matroxs encoder sends out to be mostly correct, allowing for better seeking.

The last change this encompasses is the removal of the need to flip a RGBA frame to BGRA. This doesn't break any support and should work better with what we have.

This exposed several bugs in OBS Studio:
- Color Range, Space & Format are ignored by OBS Studio if set by the encoder.
- The ffmpeg-mux process freezes when writing the header for a correct MPEG-2 stream that doesn't match what OBS thinks it should be. ffmpeg itself has no issues writing this header, so this is an OBS Studio issue.

And exposed the following bugs in Matrox VFW:
- The MPEG-2 bitstream is written as interlaced Top-Field-First instead of Progressive - the content itself is Progressive.
- The encoder ignores FastCompress mode and just behaves identically in either mode.
- Some parameters that should be set are not being set by Matrox (extended Framerate for example).
2017-10-21 18:49:36 +02:00
Michael Fabian Dirks 9cd891b6b3 Update 2017-03-15 17:14:30 +01:00
Michael Fabian Dirks ae3cc11509 Initial Code 2017-03-15 15:28:17 +01:00