2760 Commits

Author SHA1 Message Date
Jonathan Thomas
1832899526 Removing debug code v0.3.1 2023-03-27 13:48:43 -05:00
Jonathan Thomas
b37ec87d3e Updating windows x86 unit test values to align with Windows x86 2023-03-27 12:52:21 -05:00
Jonathan Thomas
01c3c62c99 Adding additional debugging code for an x86 Windows issue with font rendering 2023-03-27 11:16:10 -05:00
Jonathan Thomas
44d318949a Small windows unit test regression 2023-03-27 01:27:39 -05:00
Jonathan Thomas
2b07f93e51 Fixing unit tests with correct Linux and Windows pixel coordinates - since default font sizes have been adjusted. 2023-03-27 01:07:45 -05:00
Jonathan Thomas
c34fa59b8f Switching Caption effect from font "Points" to "Pixels", so fonts are scaled correctly in High DPI environments. 2023-03-27 00:24:09 -05:00
Jonathan Thomas
9daf04f14e Take 2: Adjust caption scaling logic, to keep different resolution projects from having dramatically different font sizes. More debug code for Windows. 2023-03-26 23:22:12 -05:00
Jonathan Thomas
7095e4f8aa Adjust caption scaling logic, to keep different resolution projects from having dramatically different font sizes 2023-03-26 17:36:26 -05:00
Jonathan Thomas
c250151c33 Adjust Caption margins and fix unit tests, which have changed the text position. Adding Debug output to unit test for Windows troubleshooting. 2023-03-25 18:10:33 -05:00
Jonathan Thomas
301279aca4 Fix Caption font size to no longer scale with preview window scale - and instead scale it with the screen devicePixelRatio (to support High DPI screens). Also change the default font size to a little smaller, and wider margins 2023-03-24 22:57:14 -05:00
Jonathan Thomas
337900ed4f Changing min libopenshot-audio version to range: 0.3.0 to 0.3.1, since both versions work fine. 2023-03-21 18:28:21 -05:00
Jonathan Thomas
6906c258a1 Bumping version to 0.3.1 (SO 24). Also bumping min libopenshot-audio version to 0.3.1. 2023-03-21 18:02:40 -05:00
Jonathan Thomas
f0b44c5124 Merge pull request #909 from OpenShot/memory-leak-mar-20-2023
Fix Memory leaks in FFmpegReader, Clip, and FrameMapper
2023-03-20 17:31:29 -05:00
Jonathan Thomas
59e0862eec Fix regression from time re-mapping changes, which added an infinite Clip cache on accident - causing a large memory leak. Also fixing a small logic regression in FrameMapper, designed to skip audio sample re-distribution, if all settings are the same as the source file. 2023-03-20 16:23:10 -05:00
Jonathan Thomas
78a194c368 Fixing long running memory leak related to AVFRAME init in FFmpegReader.cpp 2023-03-20 16:06:45 -05:00
Jonathan Thomas
ec0c0b1c2d Merge pull request #905 from OpenShot/improved-timemapping-feb-27-2023
Time Remapping & Audio Resampling Improvements
2023-03-18 17:01:55 -05:00
Jonathan Thomas
823832845d Removing unneeded ReverseAudio() call, and adding some initial silience to the time-mapping resampler, to prevent some strange waveform issues at the beginning of a time-mapped clip 2023-03-17 16:50:51 -05:00
Jonathan Thomas
bf0f809d4a Removing unused variable (Codacy suggestion) 2023-03-11 21:10:42 -06:00
Jonathan Thomas
45c273bf42 Large fix for FrameMapper when resampling audio - to correctly apply the EXTRA_INPUT_SAMPLES, to prevent the resampler from becoming input limited.
- Fixed some unit tests
- Added new convenience methods for SampleRange, to extend either side, or shift it left or right
- Added new SampleRange unit tests
- No more audio pops at the beginning of clips which are being resampled!!!
- Time remapping now works perfectly smoothly, no more pops or crashes!!!
2023-03-11 16:50:28 -06:00
Jonathan Thomas
ec1bd0185a Reverting GitHub Windows builder to use ffmpeg (instead of ffmpeg 4.4), and removing version logic around swresample/avresample logic - since GitHub versions are completely different than expected (for example: avformat version: 3.100 vs avformat version: 58.45.100) 2023-03-10 14:36:08 -06:00
Jonathan Thomas
1c832dc1d5 Changing GitHub windows builder to use ffmpeg 4.4 2023-03-10 14:14:52 -06:00
Jonathan Thomas
09ce05bbf2 Many improvements for smooth audio playback when 'time' keyframes are used for time remapping.
- Added new Frame::ReverseAudio() helper method - for time keyframe support playing backwards audio
- Fixed math rounding error on time keyframe Resampler, to use the rounded source samples value
- Removed some unused args and Frame audio methods
- Reset FrameMapper resample context when non-adjacent frames are requested
- Correctly reverse Frame audio if a time keyframe is present, and reversing audio
- Rewrite Keyframe::IsIncreasing() function, to give accurate direction of time keyframes at any index (special logic to support first and last indexes)
- Fixed Keyframe unit tests - since logic has changed a bit
- Improved time mapping unit tests
- Replace many c-style casts with static_cast
- Added new sine.wav test file
2023-03-10 01:15:14 -06:00
Jonathan Thomas
d104664da3 Fixed an issue with reversed resampled audio in FrameMapper, which caused lots of clicks / seams between frames... Also, added a new overload to GetInterleavedAudioSamples, to reverse the samples before returning the float* array. Essentially, the FrameMapper is now aware of it's parent clip, and especially the 'time' keyframe, if the audio is in the forward or reverse direction. Also fixed a memory leak in time remapping. 2023-02-28 14:13:12 -06:00
Jonathan Thomas
59d46e59be Large refactor of Clip::GetFrame and time-remapping of audio samples.
- Refactor AudioLocation into own header
- AudioResampler now supports variable channels
- Adding cache back to Clips - to prevent the cost of multiple calls for the same GetFrame() frame, used in time-remapping
- Large refactor of Clip::GetFrame, to prevent multiple code paths, and much improved time-remapping
- Clip's time keyframe now supports Bezier and sub-frame precision - to you can curve audio speed using any curve shape
- Fixing # of audio samples on Clip frame's, based on timeline position (to predictably divide samples per frame)
- New Clip unit tests for time remapping and resampling audio, and reversing audio
- New Frame::GetAudioSamples arg, to allow for reversing the direction of audio samples
- Fix bug in Frame::AddAudioSilence() to correctly cache the # of audio samples
- FrameMapper clean up resample context (when changing frame rate)
- FrameMapper refactor to optimize # of calls to Reader()::GetFrame(), since calls to Clip::GetFrame are quite expensive
- Removing RepeatingFraction functionality from Keyframe object (since it was a bad implementation detail from our previous time remapping)
- Making Keyframe GetDelta method a float, and no longer an int - to allow for more precision on time remapping
- Large amount of white space fixing (to make things consistent)
2023-02-27 22:11:13 -06:00
Jonathan Thomas
8f92bac0b7 Merge pull request #899 from OpenShot/improved-captions
Improved Caption Effect
2023-02-15 13:15:03 -06:00