Commit Graph

155 Commits

Author SHA1 Message Date
FeRD (Frank Dana)
0327c2ab5c Remove license block from documentation comment 2019-06-09 08:31:04 -04:00
Chris Kirmse
833fcb8e8e fix a number of memory leaks
- some were with libav functions
- same were due to non-virtual destructors
2019-05-08 15:02:33 -07:00
eisneinechse
19f5fa37f2 Replace qsv with videotoolbox for MacOS codec library.
Windows and MacOS is not tested! We need users who test it.
2019-04-18 16:41:11 -07:00
Jonathan Thomas
b3f5406db3 More code reformatting on FFmpegWriter.h/.cpp 2019-04-18 14:04:37 -05:00
eisneinechse
cd4e25ea67 Fix for FFmpeg 2.x 2019-03-10 13:28:56 -07:00
eisneinechse
a170d7db38 Check if the codec supports CRF when setting q values 2019-03-10 13:09:47 -07:00
eisneinechse
b5ebc996ee Adjust the q values for low quality crf settings 2019-03-10 10:42:48 -07:00
eisneinechse
6b9a9ca6ff Removed the branch for low fixed bitrate q values as it did not
work with mpeg2 export. Now for low fixed bitrates no presets for
the q values are set.
TODO find the optimum q values for each codec for low and high bitrates
2019-03-08 16:52:34 -08:00
eisneinechse
6a21c984e9 Fixed q values for low fixed bitrates. Low bitrates should now be produced if desired.
DOTO fine tune the q values
2019-03-08 14:41:40 -08:00
eisneinechse
16c3d53d03 Fix problem with q values for crf quality setting.
DOTO adjust q values according to desired quality
2019-03-08 14:26:14 -08:00
eisneinechse
a2b8eaff37 Allow to use nvenc and nvdec in Windows for nVidia cards.
nVidia card don't use the DX API like intel or AMD cards.
If ffmpeg and the libraries are compiled with nvenc and
nvdec support on WIndows this should(!) now work.
2019-02-15 10:11:45 -08:00
eisneinechse
334a46cc5d Fix check if GPU can be used for encoding and decoding 2019-02-01 03:38:44 -08:00
eisneinechse
2e635e3d87 Formating and Cleanup
Fix forgotten break in switch
2019-01-31 09:42:26 -08:00
eisneinechse
596ae0efac More changes to move to Settings, still needs work 2019-01-30 20:44:36 -08:00
eisneinechse
7e3669b620 Formating 2019-01-29 12:38:52 -08:00
eisneinechse
05fb797776 Move the check if hw accell ecoding is used with crf to the right place 2019-01-29 10:26:10 -08:00
eisneinechse
3ea28d692d Merge branch 'develop' into hardware-support 2019-01-28 20:22:24 -08:00
Jonathan Thomas
1bf3e37567 Refactor FFmpegWriter Open() and PrepareStreams() methods, so that SetOption() is can be called between them, and allowed to adjust the codecs bit_rate and options before we call open_video(). This was primarily to allow CRF options to work. (#193) 2019-01-28 12:28:35 -06:00
eisneinechse
39bf06b3d3 Now VP8, VP9, h.264, h.265 have working crf 2019-01-27 10:50:23 -08:00
eisneinechse
1a44bd789c Make sure that crf is not set in SetOptions 2019-01-27 10:26:20 -08:00
eisneinechse
46051fbba1 Form follows function
Moved crf back to SetVideoOptions and adjusted parameters
Now h.264 and VP9 have working crf
Some small changes in preparation for Settings
2019-01-27 10:07:40 -08:00
Jonathan Thomas
f66ccb11c4 Set video bit rate to 0 if an invalid bit rate detected (which happens when using crf) (#191) 2019-01-26 17:56:15 -06:00
eisneinechse
9aeec7d90f Set the bitrate to 0 if no valid value was given. It is needed for
the crf lossless setting
2019-01-26 12:22:09 -08:00
eisneinechse
29b5fcac60 Merge branch 'develop' into hardware-support 2019-01-25 13:07:26 -08:00
Jonathan Thomas
0587ada6dc Integrate Constant Rate Factor (CRF) for FFmpegWriter (#186)
* First implementation of CRF (Constant Rate Factor)

* Include AV1 in the codecs that can use crf

* First version that uses SetOption to set crf quality

* Clarify comments

* Delete setting the bitrate for crf in SetVideoOption because it
is not needed, it is set later with SetOptions.
2019-01-25 00:15:07 -06:00