Jonathan Thomas
|
c30dbb90d8
|
Adding additional locks when adding/changing audio data. Reducing FrameMapper to a single frame at a time (increase seek speed and decrease crashes). Fixing crash on Time keyframes where it would sometimes calculate an invalid frame number.
|
2017-07-19 16:05:07 -05:00 |
|
Jonathan Thomas
|
4e3dd937e2
|
Fixing audio pops when stacking multiple clips with different offsets (pretty big issue for some people, just depending on your source framerates and position/start of clips).
|
2017-07-16 23:58:16 -05:00 |
|
Jonathan Thomas
|
a322411669
|
Removing nested OMP processing from FrameMapper. Adding lock inside time mapping (to prevent crashes when speeding up/slowing down clips). Adding omp critial lock to Frame GetAudioChannelsCount() and GetAudioSamplesCount() methods.
|
2017-06-22 15:26:40 -05:00 |
|
Jonathan Thomas
|
8f236200cc
|
Fixing another small issue when changing profiles
|
2017-05-26 01:08:20 -05:00 |
|
Jonathan Thomas
|
a36e399b47
|
Fixing a bug when changing project Profiles... we were not correctly reinitializing the FrameMapper
|
2017-05-24 03:20:26 -05:00 |
|
Jonathan Thomas
|
ec65ca39b3
|
Fixing invalid cache after editing effect in a clip, and frame accuracy (converting timestamps into frame numbers). This makes frame by frame editing much better.
|
2017-03-10 00:51:08 -06:00 |
|
Jonathan Thomas
|
85ac4bf6d2
|
Updating references to frame number / position to long int, there were still quite a few old "int" declarations, which limits the length of frame number. Also, updated precision of KeyFrames to use double (instead of float) for higher precision, which fixed lots of issues with very long videos (since our FrameMapper used a KeyFrame object to create a map to new frames)
|
2017-01-24 18:39:17 -06:00 |
|
Nelson Ho
|
c9b74ec96d
|
Added fixes for audio sample distribution to clean up missing or extra audio samples that were at frame boundaries
|
2017-01-06 20:48:47 -05:00 |
|
Jonathan Thomas
|
7f347eb1ca
|
Added SetMaxSize for image optimizations in QImageReader and FFmpegReader, which lets the timeline pass down the max size to all clips and readers, so they can optionally optimize the size of images (especially useful for optimizing preview performance). Removed convoluted image scaling code in FFmpegReader, and replaced with simpler version. Also, fixed a few regressions from the new Caching code, primarily a crash when reaching the end of the last clip on the timeline.
|
2016-09-14 04:11:12 -05:00 |
|
Jonathan Thomas
|
e547296d83
|
Adding new CacheBase class. This is the first of many cache related commits, with the goal of building a disk based cache object, to be used by the timeline object if enabled.
|
2016-08-31 02:02:54 -05:00 |
|
Jonathan Thomas
|
9839899a60
|
Big memory leak fixes in FFmpegReader and FrameMapper, and fixed logic in Frame Mapper with regards to special framerate conversions (24, 25, and 30)... which were causing some inadvertent audio drift.
|
2016-07-27 13:18:55 -05:00 |
|
Jonathan Thomas
|
4808be25ff
|
Added 4 new clip keyframes (channel mapping, channel filter, has_video, and has_audio). These are a bit different though, as they are evaluated as boolean (-1 = ignored, 0 = disabled, 1 = enabled). Also fixed some issues with video playback (where it gets stuck in fast forward), and fixed some race conditions when opening FFmpegReader. Also added more debug output.
|
2016-04-24 15:37:47 -05:00 |
|
Jonathan Thomas
|
179d091005
|
Moved AppendDebugMessage to ZmqLogger, and updated 100+ references to use this new function. Removed debug var from readers/writers, and moved it to ZmqLogger.Enable(true/false). This allows debug output from all classes and functions, without any duplicate code. Also added some additional debug output for video playback and audio readers.
|
2016-04-21 01:39:17 -05:00 |
|
Jonathan Thomas
|
9503483a5d
|
Added a lock around adding missing frame images (in FFmpegReader), which might be causing crashes, and fixed a log issue inside the FrameMapper, which also might be affecting performance and/or causing crashes.
|
2016-04-11 17:43:56 -05:00 |
|
Jonathan Thomas
|
054175ddaa
|
Fixed some audio popping issues related to audio buffer size and also resampling issues inside the FrameMapper class. Also made the Timeline more hardened, if a reader returns an error requesting a frame.
|
2016-01-30 17:12:41 -06:00 |
|
Jonathan Thomas
|
43fd4fccb1
|
Fixing an audio popping / video frame flashing issue with the Timeline calculating the incorrect frame from a Clip. Now the timeline correctly rounds the time diff, and determines the correct frame.
|
2016-01-30 02:10:40 -06:00 |
|
Jonathan Thomas
|
d48ce2068e
|
Refactored some audio thread code, and improved performance of timeline (by removing a 'omp ordered' statement that doesn't seem needed). Also added some performance improvements in Clip and FrameMapper classes (if the frame is the same as the source frame... just use the source frame)
|
2016-01-18 15:20:55 -06:00 |
|
Jonathan Thomas
|
13362393c5
|
Fixed many more regressions with audio files not passing cover art to the next frame correctly. Seeking issues, and many related issues to detecting missing frames improved. Also fixed a deadlock in certain seeking cases.
|
2016-01-05 01:59:50 -06:00 |
|
Jonathan Thomas
|
b7de1a885b
|
Fixed some big issues with time mapping and thread safety. Lots and lots of crashes were fixed related to this. Mostly dealing with an incorrectly sized AudioSampleBuffer when trying to combine multiple frames.
|
2015-12-28 02:41:32 -06:00 |
|
Jonathan Thomas
|
2f8c4161df
|
Improved changing Reader() on the QtPlayer class, and made many thread safety improvements for the FrameMapper.GetFrame method. Also improved the destructors and Close() methods of FFmpegReader and FrameMapper. Some audio-related bug fixes also, related to audio playback.
|
2015-12-24 16:44:45 -06:00 |
|
Jonathan Thomas
|
95deda88bc
|
Fixing a bug for newer versions of LibAV and FFmpeg, regarding error codes
|
2015-10-01 13:00:50 -05:00 |
|
Jonathan Thomas
|
66c5ced902
|
Windows now passes most unit tests. Added header macro to assist on passing correct test media paths to unit tests. Also added a new info parameter has_single_image, which is used to optomize the frame mapper class for images with long durations.
|
2015-09-28 22:05:50 -05:00 |
|
Jonathan Thomas
|
32d41e780d
|
Fixed many misc Windows runtime errors and memory-related crashes. Built a few macros for common FFmpeg / LibAV functions that change due to version differences.
|
2015-09-23 00:27:28 -05:00 |
|
Jonathan Thomas
|
fbc719b11f
|
Many Windows related fixes and tweaks. Also fixed some issues with newer versions of CMake and Swig files.
|
2015-08-24 23:49:45 -05:00 |
|
Jonathan Thomas
|
bfa050409c
|
Improved support for missing frames and invalid PTS (which result in gaps and duplicate frames). Also changed frame number to larger data type, and did some code clean-up and refactoring. Less crashes, and more video support!
|
2015-08-24 01:05:48 -05:00 |
|