Michael Fabian 'Xaymar' Dirks
68bacc07dc
encoders/generic: Fix NV12 support and improve copy performance
...
FFmpeg's swscale does not properly copy all planes when the pixel format is NV12, so instead we will handle cases where nothing actually changes and we just have to copy memory.
2019-07-24 11:19:29 +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
0.2.0pre2
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
855b3571b1
encoders/generic: Store actual decode timestamp instead of presentation timestamp
2019-07-22 08:59:32 +02:00
Michael Fabian 'Xaymar' Dirks
c053933c25
encoders/generic: Fix threading and avoid property groups if broken
2019-07-22 05:02:44 +02:00
Michael Fabian 'Xaymar' Dirks
e1fbfd707c
utility: Add function to check for broken property groups
...
Even though property groups are supported in 23.x and above, there are quite a few bugs that result in completely bonkers behavior. So this function can be used to get the version of the currently running obs-studio.
2019-07-22 04:53:00 +02:00
Michael Fabian 'Xaymar' Dirks
69f7afef1f
strings: Rename global strings to G_ from P_
2019-07-22 02:15:16 +02:00
Michael Fabian 'Xaymar' Dirks
5ba4694890
strings: Add 'Manual' state and rename Rate Control Method to Mode
2019-07-22 00:57:34 +02:00
Michael Fabian 'Xaymar' Dirks
e579b10dcd
codecs/hevc: Fix issue with duplicated maps
2019-07-22 00:56:23 +02:00
Michael Fabian 'Xaymar' Dirks
f530f9ee9f
ui/debug_handler: Fix warnings about unused variables
2019-07-22 00:55:02 +02:00
Michael Fabian 'Xaymar' Dirks
8b429db62e
ffmpeg/avframe-queue: Fix warning about 'unsigned/signed !='
2019-07-22 00:55:01 +02:00
Michael Fabian 'Xaymar' Dirks
6851f2321a
encoders/generic: Set the time base correctly
...
There is a small but important difference in the way OBS Studio and FFmpeg handle the FPS time base. This change fixes the problem and makes all encoders go back to sanity.
2019-07-22 00:55:01 +02:00
Michael Fabian 'Xaymar' Dirks
2472668f1d
encoders/generic: Slight reformatting of the visible encoder name
2019-07-21 11:55:14 +02:00
Michael Fabian 'Xaymar' Dirks
6eadcfe821
ffmpeg/tools: Hide additional common capabilities
...
Shortens the visible encoder name by removing the "Requires Flush" and Threading clutter that no longer matters and is automatically handled.
2019-07-21 11:55:13 +02:00
Michael Fabian 'Xaymar' Dirks
7663a25bb3
encoders/generic: Hide encoders that don't have a UI handler
...
This prevents the uninformed from using an encoder that they really shouldn't be using, thus reducing the amount of issues that come from showing too many encoders.
2019-07-21 11:55:13 +02:00
Michael Fabian 'Xaymar' Dirks
38f154531c
encoder: Deprecate encoders based on old implementation
2019-07-21 11:55:13 +02:00
Michael Fabian 'Xaymar' Dirks
666fe5fdfb
plugin: Add function to check for UI handlers
2019-07-21 11:55:13 +02:00
Michael Fabian 'Xaymar' Dirks
f744b1e9cb
ffmpeg/avframe-queue: Set AVFrame buffer alignment to 32-byte
...
This is twice the required alignment for modern SSE, but it has a clear reason. On both Intel and AMD systems, a 32-byte alignment was ~15% faster than a 16-byte alignment when used with memcpy, which just so happens to be one of the main uses for these frames. Unless the encoder internally keeps its own queue of AVFrames and copies them itself, this will result in a massive speed up across all encoders.
2019-07-21 10:33:27 +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
f15769ddb7
ui/debug_handler: Don't leak the temporary AVCodecContext*
2019-07-21 02:41:45 +02:00
Michael Fabian 'Xaymar' Dirks
8b80dc57ad
strings: Extra shared strings for states, ratecontrol and keyframes
2019-07-21 02:40:48 +02:00
Michael Fabian 'Xaymar' Dirks
83c9de95f9
encoders/generic: Fix key value separators and apply settings correctly
2019-07-20 23:38:45 +02:00
Michael Fabian 'Xaymar' Dirks
a298680e07
Add new github templates and funding information
2019-07-20 23:02:14 +02:00
Michael Fabian 'Xaymar' Dirks
090dd9dbdc
encoders/generic: Fix threading priority and thread count override
2019-07-13 00:16:42 +02:00
Michael Fabian 'Xaymar' Dirks
d145c672ad
utility: Don't use PROJECT_NAME macro for logging
2019-07-13 00:16:42 +02:00
Michael Fabian 'Xaymar' Dirks
b7fdd5491a
ui/debug_handler: Print flags as normal values instead of hexadecimal
2019-07-13 00:16:42 +02:00
Michael Fabian 'Xaymar' Dirks
cdb03a488e
encoders/generic: Clean up code slightly
2019-07-13 00:16:42 +02:00
Michael Fabian 'Xaymar' Dirks
bab3bb8853
strings: Add text for bitrate and buffer
2019-07-13 00:16:42 +02:00
Michael Fabian 'Xaymar' Dirks
c8470d3b23
strings: Add shared translation strings
2019-07-13 00:16:38 +02:00
Michael Fabian 'Xaymar' Dirks
c7f326d428
utility: Change vstr and dstr macros to D_STR and D_VSTR
2019-07-13 00:15:54 +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
0.2.0pre1
2019-07-07 17:12:42 +02:00
Michael Fabian 'Xaymar' Dirks
830ebf31d9
ui/prores_aw_handler: Disable profile file while encoding
2019-07-07 16:55:02 +02:00
Michael Fabian 'Xaymar' Dirks
076df05b37
ui/debug_handler: Fix flags
2019-07-07 16:54:48 +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
97a53d261f
encoders/generic: Fix getting stuck in EAGAIN endless loop
...
Also removes some left over debug logs.
2019-07-07 15:07:09 +02:00
Michael Fabian 'Xaymar' Dirks
e45a82350e
encoders/generic: Fix crash and disable static properties
2019-07-07 14:44:08 +02:00
Michael Fabian 'Xaymar' Dirks
b6ad026eb3
encoders/generic: Allow overriding of thread count
2019-07-07 14:33:58 +02:00
Michael Fabian 'Xaymar' Dirks
df63677529
encoders/generic: Allow overriding color format
...
Some encoders don't have all options available with the automatically detected color format, so allowing the user to override the detected color format opens up more options.
2019-07-07 14:26:51 +02:00
Michael Fabian 'Xaymar' Dirks
d1ff4a7adc
encoders/generic: Don't instantly drop frames on EAGAIN
...
Instead of instantly dropping frames on EAGAIN, try first recieving a packet (if not already done so) and then resubmit the same frame. If it still doesn't work, drop the frame as we have no way to deal with that situation yet.
2019-07-07 13:50:47 +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
b442914ebe
encoders/generic: Replace generated UI with the new UI Handlers
2019-07-07 13:46:09 +02:00
Michael Fabian 'Xaymar' Dirks
8fb69d6870
plugin: Add global codec to UI Handler map
2019-07-07 13:42:39 +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
9ce8f39efc
plugin: Implement support for initializers and finalizers
2019-07-07 13:39:23 +02:00
Michael Fabian 'Xaymar' Dirks
924c64cd37
clang-format: Don't ever break string literals automatically
...
This option is very broken and just results in unreadable text.
2019-07-07 13:28:53 +02:00
Michael Fabian 'Xaymar' Dirks
99003d5193
utility: Add initializer functions
2019-07-07 12:57:30 +02:00