Commit Graph

  • 4439131a82 Fixed regression for ImageMagick enabled builds Jonathan Thomas 2016-02-23 10:04:07 -06:00
  • b8246f1800 Fixing SWIG bindings when ImageMagick is not found Jonathan Thomas 2016-02-23 01:24:13 -06:00
  • 45f1b8c5ac Making ImageMagick completely optional. This will simplify packaging on Windows and Mac. Also, reprogrammed Display, DisplayWaveform, Save, and Thumbnail methods, which are much faster now (using Qt). Jonathan Thomas 2016-02-23 00:27:03 -06:00
  • 6f1bee9b65 Fixing version # bug with 0.0.10... Apparently my build system can't handle 2 digit #s, haha. Bumping version to 0.1.0, and fixing a documentation bug. v0.1.0 Jonathan Thomas 2016-02-08 21:52:25 -06:00
  • ca39286d5a Bumping version to 0.0.10-7 v0.0.10 Jonathan Thomas 2016-02-08 10:58:55 -06:00
  • 1e76b0b6e9 Smoother translation of scaled images, and much smoother aliasing of edges of scaling (i.e. zooming in / out, panning across) Jonathan Thomas 2016-02-03 00:43:27 -06:00
  • 276aae35b3 Improvements to exception handling, including using std::exception base class, and better general purpose exception handling in SWIG with Python. Also fixed an error when thowing exceptions inside OMP regions. Jonathan Thomas 2016-02-02 01:09:02 -06:00
  • 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. Jonathan Thomas 2016-01-30 17:12:41 -06:00
  • 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. Jonathan Thomas 2016-01-30 02:10:40 -06:00
  • 45a4269a1e Added a better example app which demonstrates crashing in the Mask effect Jonathan Thomas 2016-01-27 22:34:31 -06:00
  • 3097e4a2fd Fixed a crash on windows, relating to a race condition on the Mask effect. Jonathan Thomas 2016-01-25 23:53:10 -06:00
  • bf81869a4a Bumping version to 0.0.9-6 v0.0.9 Jonathan Thomas 2016-01-18 20:41:09 -06:00
  • f775656c98 Reverting the clip optimization, since it causes some issues on QImageReaders used on the timeline. Jonathan Thomas 2016-01-18 20:38:30 -06:00
  • 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) Jonathan Thomas 2016-01-18 15:20:55 -06:00
  • e2573e8144 Flipping alpha channel values. It was brought to my attention that the meaning of alpha was opposite of what was being used. So, sorry if this breaks some things, but better to get it fixed quickly, and for the value to make sense. Jonathan Thomas 2016-01-16 21:53:07 -06:00
  • c695243a35 Bumping version to 0.0.8-5, to accompany the first beta release of OpenShot 2.0 v0.0.8 Jonathan Thomas 2016-01-10 18:04:25 -06:00
  • 55c23066a9 Fixed a bug which caused some timeline properties to not be set correctly when applying Json diffs. Jonathan Thomas 2016-01-10 16:50:54 -06:00
  • 0c2d2bbdd1 Bumping version to 0.0.7-5 Jonathan Thomas 2016-01-09 18:48:34 -06:00
  • 0604069da2 FIxed an issue with audio only files with no default height/width set. Also added improved performance when mixing many audio only files (skipping the image processing) Jonathan Thomas 2016-01-09 15:50:53 -06:00
  • bb6102f46f Added support for newer versions of libav media library. Jonathan Thomas 2016-01-07 23:50:48 -06:00
  • 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. Jonathan Thomas 2016-01-05 01:59:50 -06:00
  • bfed49819b Fixed delay with certain types of audio files which also contained a video stream with a single frame. Added some good 'dont get stuck' logic when checking for gaps in video/audio timestamps, etc... Jonathan Thomas 2016-01-01 01:39:56 -06:00
  • 6be7540852 Fixed a bug with time mapping for animations and videos without audio. Jonathan Thomas 2015-12-31 04:17:54 -06:00
  • 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. Jonathan Thomas 2015-12-28 02:41:32 -06:00
  • 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. Jonathan Thomas 2015-12-24 16:44:45 -06:00
  • 90db687598 Fixed bug in RemovePoint, and improved the AddPoint KeyFrame method to remove a previous, duplicate point (based on co.X value). Jonathan Thomas 2015-12-15 18:12:24 -06:00
  • f471c3268f Fix build ImageMagick under Windows Michele Locati 2015-12-14 14:25:59 +01:00
  • 121cfd342d Fixed a crash when stopping the QtPlayer class (the cache thread was not being correctly ended, and the audio timeslice thread was not being ended). Also fixed a crash when closing the openshot-player executable. Jonathan Thomas 2015-12-04 01:10:40 -06:00
  • 55684663da Added wave_color to Clip's JSON properties. Also fixed a bug with adding effects from a JSON diff. Made the background color of a wave visualization transparent, and made the wave graphic come before the effects are processed, which allows the wave to be faded, animated, etc... Jonathan Thomas 2015-11-25 23:54:10 -06:00
  • 35a476816b Small fix to redraw frame 1 (if needed) Jonathan Thomas 2015-11-11 23:50:16 -06:00
  • 3731b22317 Added a new effect: Blur. It has the ability to box blur, horizontal and vertical blur, and gaussian blur. All of these settings are keyframeable and can be animated. Jonathan Thomas 2015-11-09 00:12:21 -06:00
  • c44aeda948 Optimizations with Mask effect (making transitions faster) Jonathan Thomas 2015-11-05 00:11:30 -06:00
  • 076caff4ab Added a comment describing how to patch OSX to fix a compile error with GCC Jonathan Thomas 2015-10-12 23:01:34 -05:00
  • 358e0835d2 Added dropdown choices into JSON properties, so a UI can correctly list the options for certain properties. Fixed a bug when deleting all Points from a Keyframe, and added some missing Enums from the Python/Ruby bindings. Jonathan Thomas 2015-10-02 18:22:10 -05:00
  • ac7be90544 Fixed a few issues with Color keyframes Jonathan Thomas 2015-10-01 18:51:59 -05:00
  • af3ad48455 Attempting to fix a race condition when edits are being made to the timeline while frames are being cached and played back. This seems to fix the crashes for me. =) Jonathan Thomas 2015-10-01 14:21:21 -05:00
  • 95deda88bc Fixing a bug for newer versions of LibAV and FFmpeg, regarding error codes Jonathan Thomas 2015-10-01 13:00:50 -05:00
  • affaa7a8ca Bumping version to 0.0.6-4 Jonathan Thomas 2015-09-29 21:40:22 -05:00
  • 21c9ab5184 Fixed small issue with unit test Jonathan Thomas 2015-09-29 21:36:10 -05:00
  • a33b611008 Setting height, width, and format of AVFrame struct used for encoding video, as is now required on newer versions of libAV and FFmpeg. Jonathan Thomas 2015-09-29 20:23:08 -05:00
  • ce47a5b667 Fixing a small regression with the new unit test Tests.h header. Jonathan Thomas 2015-09-28 22:17:29 -05:00
  • 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. Jonathan Thomas 2015-09-28 22:05:50 -05:00
  • 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. Jonathan Thomas 2015-09-23 00:27:28 -05:00
  • d8fc29480a Changed thread priorities on Qt video player. For some reason a JUCE thread priority of 1 exits immediately from the run() method. Jonathan Thomas 2015-09-17 16:57:16 -05:00
  • fbc719b11f Many Windows related fixes and tweaks. Also fixed some issues with newer versions of CMake and Swig files. Jonathan Thomas 2015-08-24 23:49:45 -05:00
  • 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! Jonathan Thomas 2015-08-24 01:05:48 -05:00
  • 45f31bbabf Added 2 new effects: Brightness and Contrast, and Saturation. Both effects implement keyframe curves, and can be animated. Jonathan Thomas 2015-08-16 22:58:07 -05:00
  • 8fa2ab71c5 Fixed a few tiny bugs in JSON Properties, and removed some unneeded code related to hashing the current state of an effect. Jonathan Thomas 2015-08-16 19:19:14 -05:00
  • c345ae07b7 Fixed the ApplyJsonDiff function to support effects inside clips, which gets a bit tricky. Jonathan Thomas 2015-08-07 23:11:03 -05:00
  • c7f0a481cc Added a new class to easily expose the JSON metadata of supported effects in libopenshot. Fixed some bugs related to metadata, and a few bugs in the Mask effect (if initialized without a reader). Jonathan Thomas 2015-08-06 20:01:34 -05:00
  • 41dceadd1f Removed Cache::Exists method, which created all sorts of havoc when being called in quick succession (basically a frame might exist a split second before calling Cache::GetFrame, but then be missing when GetFrame is called). Jonathan Thomas 2015-08-05 23:40:58 -05:00
  • 652aa3d659 Bumping the version to 0.0.5, released Jonathan Thomas 2015-08-02 21:17:00 -05:00
  • 404b7ed1bb Updating some doxygen param names Jonathan Thomas 2015-08-02 20:59:38 -05:00
  • 8bd9e43cd5 Added a .gitignore file to ignore the local build folder, and a few other project related files that don't need to be checked in. Jonathan Thomas 2015-08-02 20:35:45 -05:00
  • 03c9f06708 Fixed many audio issues with the FFmpegWriter. Planar formats were not being handled correctly. Framesize was also wrong on some formats. Also, added a new method to a Frame to fill with audio silence. Lastly, cleaned up some unused imports and C++ warnings. Jonathan Thomas 2015-08-02 20:32:33 -05:00
  • 3db03a4c87 Removed exception handling for audio decoding... which sometimes fails when seeking... and it can be safely ignored. Jonathan Thomas 2015-07-05 22:57:46 -07:00
  • b11476e71e Updated installation instructions PDF Jonathan Thomas 2015-06-19 18:23:00 -05:00
  • c5cddc9765 Updated ApplyJSonDIFF to accept some base Timeline properties Jonathan Thomas 2015-06-04 17:28:39 -05:00
  • dbfe7bd8c3 Fixed a Cmake syntax error Jonathan Thomas 2015-06-04 11:50:17 -05:00
  • 066319c155 Fixed an issue with invalid framerates on some music files Jonathan Thomas 2015-06-01 02:05:17 -07:00
  • b612f3339d Replaced ImagMagick with QImage on almost all key methods and classes. Reprogrammed all effects and the entire rendering pipeline to use QImage and QTransforms, primarily for increases in speed and stability. libopenshot is more than 10X faster on many of the most CPU heavy tasks. This was a huge change, and still has a few minor issues relating to BlackMagick Decklink and Text rendering.... which should be resolved very soon. Jonathan Thomas 2015-06-01 00:20:14 -07:00
  • 4b921b179e Fixed a regression with audio boundries on the FFmpegReader. Jonathan Thomas 2015-03-16 15:29:37 -05:00
  • 891766ed29 Added new GetQImage method to get a Qt QImage object from an openshot:Frame object. Also refactored the video playback code to use this new method. Jonathan Thomas 2015-03-16 13:59:11 -05:00
  • d7a43f692c Refactored out many omp critical statements related to debugging, and made them conditional based on if debug is enabled. Jonathan Thomas 2015-03-15 02:35:01 -05:00
  • 88e65fecef Cleaned up timeline class a bit, and refactored some OpenMP multi-threading support. The timeline GetFrame() method can not fully support OpenMP at the moment, due to nested parallel regions in some conditional ImageMagick function calls. Also better protected the openshot::Clip.GetFrame() call. Jonathan Thomas 2015-03-15 02:28:28 -05:00
  • b07936e3b2 Added effects processing to a clip, so clips can carry their own independent effects... rather than depend on the timeline. This still needs some refactoring though. Jonathan Thomas 2015-03-14 01:36:13 -05:00
  • e2ee3d01f2 Added the ability to scale and flip keyframes, making it easy to reverse an effect or transition, and resize transitions without having to manually reset the keyframes X coordinates. Jonathan Thomas 2015-03-13 23:19:55 -05:00
  • e084f638a9 Optimized keyframe JSON serialization, speeding up loading and saving large projects and complex keyframe scenarios. Jonathan Thomas 2015-03-13 17:08:03 -05:00
  • 5a9ca1909a Replaced the FrameMapper's omp task with omp for ordered, and it now runs fully multi-threaded... while still keeping the resampling calls in order. Jonathan Thomas 2015-03-09 15:17:56 -05:00
  • 820e8a2095 Fixed a few more issue with the openshot::FrameMapper and openshot::FFmpegReader unit tests. Jonathan Thomas 2015-03-08 22:24:12 -05:00
  • 00eae62663 Fixed an issue with a crashing unit test, and a broken ChangeMapping() method on the FrameMapper. Jonathan Thomas 2015-03-08 22:22:40 -05:00
  • 591cfbdb5a Fixed some major issues with the frame mapper. openshot::FrameMapper is now fully multi-threaded. Fixed a bug in calculating the # of samples on a frame (to always be evenly divisible by the # of channels). Jonathan Thomas 2015-03-08 21:42:53 -05:00
  • db4a5a7948 Fixed some more multi-threading issues with Audio Processing, including a bug with the frames auto-size-increasing JUCE container. Jonathan Thomas 2015-03-07 17:07:37 -06:00
  • fb6a092832 Reduced size of many audio buffers, reducing memory requirements Jonathan Thomas 2015-03-04 21:45:42 -06:00
  • e3178b22f1 More work on resolving memory leaks in FFmpegWriter Jonathan Thomas 2015-03-04 21:33:29 -06:00
  • b703f44f7c Fixed some big memory leaks with audio samples and ffmpeg (pprof ./openshot-example "/tmp/openshot-example.30691._main_-end.heap" --inuse_objects --lines --heapcheck --edgefraction=1e-10 --nodefraction=1e-10 --gv Jonathan Thomas 2015-03-04 15:26:08 -06:00
  • c27e4a1426 Added new method to frame, to change the size of the audio container. Fixed audio resampling inside the FrameMapper. Fixed many memory leaks related to AVFrames (still have a few more). Jonathan Thomas 2015-03-01 22:36:39 -06:00
  • ea9885f9a9 Laying the ground work for audio mapping (resampling and changing channel layouts) for the openshot::FrameMapper. This is important for use with the Timeline, that all clips have a common frame rate, sample rate, and channel layout. Jonathan Thomas 2015-02-26 17:33:09 -06:00
  • 770b1ddb06 Fixed broken unit test. Jonathan Thomas 2015-02-26 02:34:46 -06:00
  • 1c3b1f5691 Timeline now supports overlapping clips, and will process them from bottom to top. Only the top layer gets effects applied, which enables overlapping transitions. Jonathan Thomas 2015-02-26 02:31:36 -06:00
  • dfeff3379e Fixed a small issue with unneeded reader Open() calls. Jonathan Thomas 2015-02-26 01:59:12 -06:00
  • 79519dbeab Added JSON Properties to all effects and refactored some of the code into the ClipBase class. Jonathan Thomas 2015-02-26 00:02:06 -06:00
  • 6937d89bfd Fixed some issues with the Mask effect: correctly serialize the reader property, and correctly load the reader. Added additional debug info for the Timeline class. Jonathan Thomas 2015-02-25 17:39:59 -06:00
  • 57fbf357f6 Increased debug output precision. Fixed rounding bug on timeline when finding a clips actual frame number. Fixed bug with a clips JSON properties output. Jonathan Thomas 2015-02-24 23:59:26 -06:00
  • 61ed19250e Fixed bug determing the closest keyframe point to another point. Added additional unit tests. Added new method to get the # of Points in a keyframe. Jonathan Thomas 2015-02-22 01:04:54 -06:00
  • b976b8220b Added new properties to the clip JSON properties method, to enable more rich control of a clips properties. Fixed some defaults on Points that still used X=0. Jonathan Thomas 2015-02-21 03:10:38 -06:00
  • 0df6439103 Changed default keyframes to set a value on X=1 instead of 0. Fixed Timelines composite function to correctly apply alpha channels to the 1st layer of a frame. Jonathan Thomas 2015-02-21 00:12:21 -06:00
  • d44604295a Added virtual pixel handling to all openshot::Frame images. Fixed timeline to correctly distort (had to disable multi-threaded support for now). Fixed correct origin handling or rotations and scaling. Added lots of debug support into the timeline. Fixed a bug where readers with different # of audio channels would crash the timeline. Jonathan Thomas 2015-02-19 15:59:57 -06:00
  • 86561aed22 Fixed a huge bug when closing a reader and re-opening it. Added some new unit tests to test for that bug, as well as check the ordering of layers and effects. Improved opening and closing of openshot::Clip->Reader() to better support multiple threads. Jonathan Thomas 2015-02-19 01:03:22 -06:00
  • efa37ea410 Fixed timeline clip sorting to correctly sequence and mix the various layers and clips. Jonathan Thomas 2015-02-18 17:15:03 -06:00
  • 1d1a608a5c Added GetColorHex() function to the openshot::Color class, which returns a Hex string of a color at any frame number. Added new "hash" and "changed" properties to the openshot::Clip Properties JSON method, to help a UI determine if something has changed in the property values. Lastly, added new unit tests for both classes. Jonathan Thomas 2015-02-17 00:21:57 -06:00
  • 44d5cf866a Bumped version to 0.0.4, SO version to 2 Jonathan Thomas 2015-02-13 00:59:33 -06:00
  • 511cef4522 Fixed a small bug on the Clip constructor... which was crashing on MacOS. Jonathan Thomas 2015-02-11 21:59:13 -06:00
  • 10adb2cc0b Added new JSON properites to the clip object... to better integrate UI interfaces for clips. Jonathan Thomas 2015-02-11 00:23:25 -06:00
  • 5145abdacb Added new clip method that returns all properties for a given frame in JSON. Jonathan Thomas 2015-02-09 22:41:42 -06:00
  • 5290d0177b Fixed video player to paint the background color black, instead of not painting the pixels outside the aspect ratio. Jonathan Thomas 2015-02-08 22:55:10 -06:00
  • bb9849c60a Fixed some serious issues with the Timeline class, improved the Timeline unit tests to cover more of the code, and fixed a bug with the Clip class... which removed the Reader during closing. Jonathan Thomas 2015-02-07 18:06:11 -06:00
  • a3e7b70a7a Improved build scripts and refactored some executibles, such as the example apps Jonathan Thomas 2015-02-07 16:48:43 -06:00
  • 470853e34d Updated compatibility with the latest LibAV API Jonathan Thomas 2015-02-05 16:00:18 -06:00
  • a93a82f1bc Updated InstallationGuide.PDF to the latest version Jonathan Thomas 2015-02-05 00:20:29 -06:00