Commit Graph

33 Commits

Author SHA1 Message Date
Michael Fabian 'Xaymar' Dirks 18024aaf12 project: Version 0.3.1
* Replaced AppVeyor with GitHub Actions.
* Fixed rescaling on the output tab not working.
2019-10-31 08:13:42 +01:00
Michael Fabian 'Xaymar' Dirks bd60958b2f ci: Also build InnoSetup installer on Github Actions 2019-10-31 05:53:34 +01:00
Michael Fabian 'Xaymar' Dirks b07365cdc4 project: Version 0.3.0
* Updated the libOBS dependency to 24.0.0. You will need to use OBS Studio 24.0.0 or newer in order to run the plugin.
* Implemented full hardware encoding for all GPU capable encoders (NVENC H264, NVENC H265). This should be perform identical to the OBS included full hardware encoders.
* Reduced the latency for some encoders to be as low as 1 frame, if settings allow. For NVENC, latency is tied to (B-Frames + 1) and Lookahead Frames, whichever is bigger.
* Further improved performance by throwing even less memory away every frame. Almost all memory is now re-used if possible and only released when the encoding is stopped by any means.
* Apple ProRes encoded files should now be remuxable when stored in Matroska (MKV) and survive at least one remuxing. This bug was already fixed in current master FFmpeg, and thanks for discovering this bug go to FRANKIEonPC.
* All color metadata is now set for encoders that support this, such as NVENC. Video players and editors that support this kind of metadata should see an improvement in color quality, especially with 10-bit or higher output.
* Framerate is now set to be fixed, further improving compatibility with players. It was previously left to be guessed by the video player through the timing information.
* Settings are now output to the log file for easier debugging. Please remember to send a log file with any issue you have with the plugin.
2019-10-19 02:52:23 +02:00
Michael Fabian 'Xaymar' Dirks 403b43e77b cmake: Also include template files in project generation 2019-10-17 08:17:06 +02:00
Michael Fabian 'Xaymar' Dirks b3a6dbb1b4 hwapi: Add API handlers to deal with some heavy lifting code
Makes our life easier when actually dealing with hardware encoding.
2019-09-29 19:15:45 +02:00
Michael Fabian 'Xaymar' Dirks d8a692de93 codecs/prores: Add ProRes codec data
There isn't really anything here, just some defines.
2019-09-27 12:36:10 +02:00
Michael Fabian 'Xaymar' Dirks 9fcec9b9a9 project: Update libobs to v24.0.0-rc2 2019-09-04 00:43:29 +02:00
Michael Fabian 'Xaymar' Dirks a4b3131c50 project: Version 0.2.0
* Completely rewrote most of the plugin from scratch to unify the encoder class into one file, resulting in much lower code and size overhead and all optimizations being in effect for all encoders.
* Removed old ProRes encoder interface as it has been replaced with the new interface.
* Added support for NVidias H.264/AVC NVENC Encoder with all options, including the capability for YUV 4:4:4 encoding. It is slightly faster and less CPU intensive than the version included with OBS Studio.
* Added support for NVidias H.265/HEVC NVENC Encoder with all options. This finally brings the HEVC market to NVidia people in addition to the AMD people that have already been able to use this with enc-amf.
2019-08-11 03:38:41 +02:00
Michael Fabian 'Xaymar' Dirks 7c3e313bcd encoder: Rename class from generic to encoder 2019-07-24 19:51:05 +02:00
Michael Fabian 'Xaymar' Dirks adeea2fb43 encoders/generic: Move file 2019-07-24 19:17:08 +02:00
Michael Fabian 'Xaymar' Dirks 8c80f6c79e project: Remove old Prores implementation 2019-07-24 19:14:21 +02:00
Michael Fabian 'Xaymar' Dirks fa5c421d34 project: Drop GPL in favor of MIT license 2019-07-24 11:04:24 +02:00
Michael Fabian 'Xaymar' Dirks d178200800 ui/nvenc_h264_handler: Add UI handler for NVENC H264 2019-07-22 12:34:50 +02:00
Michael Fabian 'Xaymar' Dirks ac68c2f4c8 codecs/h264: Add H264 codec information 2019-07-22 12:34:50 +02:00
Michael Fabian 'Xaymar' Dirks a5d14c87ff ui/nvenc_hevc_handler: Add UI handler for NVENC HEVC 2019-07-22 09:12:07 +02:00
Michael Fabian 'Xaymar' Dirks de1a687b8d ui/nvenc_shared: Add shared UI for NVENC HEVC and H264 2019-07-22 09:11:25 +02:00
Michael Fabian 'Xaymar' Dirks 9552d12ee8 codecs/hevc: Add shared codec data for HEVC 2019-07-21 02:42:52 +02:00
Michael Fabian 'Xaymar' Dirks c8470d3b23 strings: Add shared translation strings 2019-07-13 00:16:38 +02:00
Michael Fabian 'Xaymar' Dirks 0aab0db34a cmake: Ensure that the changed flags appear before project() 2019-07-13 00:15:51 +02:00
Michael Fabian 'Xaymar' Dirks 8dbcaf192a cmake: Remove useless option 2019-07-07 17:12:42 +02:00
Michael Fabian 'Xaymar' Dirks 3bbbea7b42 ui/debug_handler: Add debug handler for implementing new UI Handlers 2019-07-07 16:34:15 +02:00
Michael Fabian 'Xaymar' Dirks e5bf18f2a6 ui/prores_aw_handler: Implement UI Handler for prores_aw 2019-07-07 13:46:11 +02:00
Michael Fabian 'Xaymar' Dirks dbdf915a07 ui/handler: Implement UI Handler interface class
Adds the ability to override the UI for very specific encoders in order to properly support customized and detailed UI for each encoder. This design is flexible and allows for any kind of UI generator to work, without relying on an actual object too much.
2019-07-07 13:42:22 +02:00
Michael Fabian 'Xaymar' Dirks 56807370a9 cmake: Update to 23.2.1 obs-studio binaries 2019-07-07 01:47:32 +02:00
Michael Fabian 'Xaymar' Dirks 9a58a6a5ff encoders/generic: Implement generic encoder for all ffmpeg encoders 2019-07-06 13:10:00 +02:00
Michael Fabian 'Xaymar' Dirks 2d131b8566 cmake: Fix broken if/endif check for Windows 2019-06-28 20:39:42 +02:00
Michael Fabian 'Xaymar' Dirks 01e1c70a02 cmake: Apply improvements from Stream Effects
* Copyright updated to include current year.
* Description updated to no longer talk about AMD encoder.
* Increased minimum CMake version to 3.8 from 3.1.
* Renamed project to xmr-ffmpeg-encoders from enc-ffmpeg.
* Add additional compiler options for Clang, GNU GCC, Intel C and MSVC.
* Set the C++ standard to C++17 with no non-standard extensions.
* Slightly improve project generation.
2019-06-28 20:25:19 +02:00
Michael Fabian 'Xaymar' Dirks b0cc52bbc5 cmake: Revert use of Zeranoe ffmpeg binaries
OBS Studio is a little bit behind with the FFmpeg Binaries, so the Zeranoe binaries will lead to the plugin being unable to load - which is not what we want. Instead just use the OBS Studio dependencies and offer a way to specify an already downloaded directory and also respect FFmpegPath if set.
2018-11-25 21:42:07 +01:00
Michael Fabian 'Xaymar' Dirks 120ddcd7e4 cmake: Fix data path 2018-11-24 13:17:32 +01:00
Michael Fabian 'Xaymar' Dirks 3f5f8a501b cmake: Fix ffmpeg search path 2018-11-24 13:04:27 +01:00
Michael Fabian 'Xaymar' Dirks 5e67430006 cmake: Disable SAFESEH and use zeranoe ffmpeg binaries 2018-11-13 20:02:22 +01:00
Michael Fabian 'Xaymar' Dirks 0997e209bc cmake: Versioning, ffmpeg dependency, installer and more 2018-11-13 19:47:33 +01:00
Michael Fabian 'Xaymar' Dirks ec75fe23fe Initial code (pre-GitHub)
Contains:
- ffmpeg object wrappers
- base encoder class
- Apply ProRes encoder (prores_aw)
- OBS plugin structure
2018-11-13 19:04:13 +01:00