Commit Graph

21 Commits

Author SHA1 Message Date
Michael Fabian 'Xaymar' Dirks 58d8713369 enocder: Use ffmpeg for pixel format again
Reverts an earlier change as this apparently works now.
2019-10-17 08:16:42 +02:00
Michael Fabian 'Xaymar' Dirks 38e7639862 ffmpeg/tools: Actually use the score 2019-09-28 02:10:37 +02:00
Michael Fabian 'Xaymar' Dirks 2ebf90ffd7 encoder, ffmpeg/tools: Fix and improve initialization behavior
Correctly sets all color settings for the context and frames, which should result in better playback in players that support these. Unfortunately it does not fix the bug that VLC and MPC-HC incorrectly assume that the ProRes encoded content is in Partial range, however most editing software does correctly detect it.
2019-09-27 16:16:14 +02:00
Michael Fabian 'Xaymar' Dirks 3bd147e6e7 ffmpeg/tools: Improve format selection functionality 2019-09-24 15:58:12 +02:00
Michael Fabian 'Xaymar' Dirks 993a4f8110 ffmpeg/tools: Function to check for hardware encoding
Implements a function that can be used to check for hardware texture support, which allows full on-GPU encoding to work for supported encoders.
2019-09-23 20:30:03 +02:00
Michael Fabian 'Xaymar' Dirks f5052f45c6 project: Fix support for avcodec version 58 and newer 2019-08-03 09:45:56 +02:00
Michael Fabian 'Xaymar' Dirks e17fa119a1 ffmpeg/tools: Function to go from AVPixelFormat to video_format 2019-07-25 01:36:16 +02:00
Michael Fabian 'Xaymar' Dirks 97a68404c0 ffmpeg/avframe-queue: Unreference frames that may have a ref-counted obj 2019-07-24 21:22:35 +02:00
Michael Fabian 'Xaymar' Dirks ee0c7706a0 ffmpeg/swscale: Apply clang-tidy fix for l <-> L 2019-07-24 14:38:30 +02:00
Michael Fabian 'Xaymar' Dirks 034100e44b ffmpeg/tools: Fix BT.601 color format 2019-07-24 14:19:14 +02:00
Michael Fabian 'Xaymar' Dirks 0399989238 project: Apply patches from const correctness checks 2019-07-24 14:19:00 +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 8b429db62e ffmpeg/avframe-queue: Fix warning about 'unsigned/signed !=' 2019-07-22 00:55:01 +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 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 c5ff5d224d ffmpeg/avframe-queue: Upgrade to shared_ptr AVFrame
Removes problems with memory leaks due to lost references and other issues.
2019-07-07 12:14:24 +02:00
Michael Fabian 'Xaymar' Dirks 042c934516 ffmpeg/tools: Remove a few warnings and translate more errors 2019-07-07 00:32:05 +02:00
Michael Fabian 'Xaymar' Dirks 53651c29be ffmpeg/avframe-queue: Fix a few warnings 2019-07-07 00:31:33 +02:00
Michael Fabian 'Xaymar' Dirks 143b7f585f ffmpeg/tools: Add function to translate encoder capabilities 2019-07-06 13:09:21 +02:00
Michael Fabian 'Xaymar' Dirks 3154443e18 ffmpeg/swscale: Fix warning and broken get_target_size 2019-07-06 13:09:21 +02: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