[SCM] libopenshot packaging branch, master, created. bf81869a4a5da8d1bb06b4be9760e3c890c67ccf

ghisvail-guest at users.alioth.debian.org ghisvail-guest at users.alioth.debian.org
Thu Jan 21 14:35:09 UTC 2016


The branch, master has been created
        at  bf81869a4a5da8d1bb06b4be9760e3c890c67ccf (commit)

- Shortlog ------------------------------------------------------------
commit bf81869a4a5da8d1bb06b4be9760e3c890c67ccf
Author: Jonathan Thomas <jonathan at openshot.org>
Date:   Mon Jan 18 20:41:09 2016 -0600

    Bumping version to 0.0.9-6

commit f775656c98a38770e0343996663d436c75f25ebd
Author: Jonathan Thomas <jonathan at openshot.org>
Date:   Mon Jan 18 20:38:30 2016 -0600

    Reverting the clip optimization, since it causes some issues on QImageReaders used on the timeline.

commit d48ce2068e6e6f6667310379470c28fc7a9f7e12
Author: Jonathan Thomas <jonathan at openshot.org>
Date:   Mon Jan 18 15:20:55 2016 -0600

    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)

commit e2573e81445262c7bd3ef0405dadf72aa85e6b9b
Author: Jonathan Thomas <jonathan at openshot.org>
Date:   Sat Jan 16 21:53:07 2016 -0600

    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.

commit c695243a35e639557cabadffee325b75536f3416
Author: Jonathan Thomas <jonathan at openshot.org>
Date:   Sun Jan 10 18:04:25 2016 -0600

    Bumping version to 0.0.8-5, to accompany the first beta release of OpenShot 2.0

commit 55c23066a9762683af5a79128a8c2c5ab8cc66c3
Author: Jonathan Thomas <jonathan at openshot.org>
Date:   Sun Jan 10 16:50:54 2016 -0600

    Fixed a bug which caused some timeline properties to not be set correctly when applying Json diffs.

commit 0c2d2bbdd14cdd7dbad167f34a08510444ae13ea
Author: Jonathan Thomas <jonathan at openshot.org>
Date:   Sat Jan 9 18:48:34 2016 -0600

    Bumping version to 0.0.7-5

commit 0604069da2f24b996a96608966b1bfd37eff0e03
Author: Jonathan Thomas <jonathan at openshot.org>
Date:   Sat Jan 9 15:50:53 2016 -0600

    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)

commit bb6102f46f80030c7149107d147f00dfc5ea563e
Author: Jonathan Thomas <jonathan at openshot.org>
Date:   Thu Jan 7 23:50:48 2016 -0600

    Added support for newer versions of libav media library.

commit 13362393c51d59d096b2a0916a378496f1db1a51
Author: Jonathan Thomas <jonathan at openshot.org>
Date:   Tue Jan 5 01:59:50 2016 -0600

    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.

commit bfed49819b16e116e028a5273f6c2e4fdb949196
Author: Jonathan Thomas <jonathan at openshot.org>
Date:   Fri Jan 1 01:39:56 2016 -0600

    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...

commit 6be754085298018ebbb91bf1c08416e32dd0f98b
Author: Jonathan Thomas <jonathan at openshot.org>
Date:   Thu Dec 31 04:17:54 2015 -0600

    Fixed a bug with time mapping for animations and videos without audio.

commit b7de1a885b54c1457075f7be2294366d73991747
Author: Jonathan Thomas <jonathan at openshot.org>
Date:   Mon Dec 28 02:41:32 2015 -0600

    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.

commit 2f8c4161dfb84e0dbfbc6c616fc3e96e639b0244
Author: Jonathan Thomas <jonathan at openshot.org>
Date:   Thu Dec 24 16:44:45 2015 -0600

    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.

commit 90db687598b34306dcc4f87aac07154b6ea3d470
Author: Jonathan Thomas <jonathan at openshot.org>
Date:   Tue Dec 15 18:12:24 2015 -0600

    Fixed bug in RemovePoint, and improved the AddPoint KeyFrame method to remove a previous, duplicate point (based on co.X  value).

commit 121cfd342dbc95f0ca1e49ba3152721004d92adc
Author: Jonathan Thomas <jonathan at openshot.org>
Date:   Fri Dec 4 01:10:40 2015 -0600

    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.

commit 55684663da77b509a405cf3a433f6e5dd65ddf05
Author: Jonathan Thomas <jonathan at openshot.org>
Date:   Wed Nov 25 23:54:10 2015 -0600

    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...

commit 35a476816b963cd4d8a118706900b7135271e891
Author: Jonathan Thomas <jonathan at openshot.org>
Date:   Wed Nov 11 23:50:16 2015 -0600

    Small fix to redraw frame 1 (if needed)

commit 3731b22317e703571267e06d5522a9db1b501d61
Author: Jonathan Thomas <jonathan at openshot.org>
Date:   Mon Nov 9 00:12:21 2015 -0600

    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.

commit c44aeda9484f5070a1aeb5871b716912890cfbdd
Author: Jonathan Thomas <jonathan at openshot.org>
Date:   Thu Nov 5 00:11:30 2015 -0600

    Optimizations with Mask effect (making transitions faster)

commit 076caff4ab5b5b3396ff017a96c0b323f108a2d8
Author: Jonathan Thomas <jonathan at openshot.org>
Date:   Mon Oct 12 23:01:34 2015 -0500

    Added a comment describing how to patch OSX to fix a compile error with GCC

commit 358e0835d297d349167c192265c51e95d99c8272
Author: Jonathan Thomas <jonathan at openshot.org>
Date:   Fri Oct 2 18:22:10 2015 -0500

    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.

commit ac7be905447f51f88763501902ca7633b2d4f65a
Author: Jonathan Thomas <jonathan at openshot.org>
Date:   Thu Oct 1 18:51:59 2015 -0500

    Fixed a few issues with Color keyframes

commit af3ad484550ac0c6cd09e528cc9acd2725d355fa
Author: Jonathan Thomas <jonathan at openshot.org>
Date:   Thu Oct 1 14:21:21 2015 -0500

    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. =)

commit 95deda88bc52580e2d0c8b45325b9841fb7e069e
Author: Jonathan Thomas <jonathan at openshot.org>
Date:   Thu Oct 1 13:00:50 2015 -0500

    Fixing a bug for newer versions of LibAV and FFmpeg, regarding error codes

commit affaa7a8ca0c9f4d60ccc0316773f1c9fd7723ef
Author: Jonathan Thomas <jonathan at openshot.org>
Date:   Tue Sep 29 21:40:22 2015 -0500

    Bumping version to 0.0.6-4

commit 21c9ab5184a231c9b190c95f19876f212eb6b68e
Author: Jonathan Thomas <jonathan at openshot.org>
Date:   Tue Sep 29 21:36:10 2015 -0500

    Fixed small issue with unit test

commit a33b6110085deabe3a1c7965b8376717c1c6eaa9
Author: Jonathan Thomas <jonathan at openshot.org>
Date:   Tue Sep 29 20:23:08 2015 -0500

    Setting height, width, and format of AVFrame struct used for encoding video, as is now required on newer versions of libAV and FFmpeg.

commit ce47a5b6672349a87ba5248a97c3e6fc79030b80
Author: Jonathan Thomas <jonathan at openshot.org>
Date:   Mon Sep 28 22:17:29 2015 -0500

    Fixing a small regression with the new unit test Tests.h header.

commit 66c5ced902ad8298f8ae6518cce05962204e831e
Author: Jonathan Thomas <jonathan at openshot.org>
Date:   Mon Sep 28 22:05:50 2015 -0500

    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.

commit 32d41e780db151e7fbc3e17b63d6ac54ce525038
Author: Jonathan Thomas <jonathan at openshot.org>
Date:   Wed Sep 23 00:27:28 2015 -0500

    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.

commit d8fc29480a6d94e0db2077f537d54a566a48a36d
Author: Jonathan Thomas <jonathan at openshot.org>
Date:   Thu Sep 17 16:57:16 2015 -0500

    Changed thread priorities on Qt video player. For some reason a JUCE thread priority of 1 exits immediately from the run() method.

commit fbc719b11fa0d68f3f89c9db51e8c5bebe7a93ab
Author: Jonathan Thomas <jonathan at openshot.org>
Date:   Mon Aug 24 23:49:45 2015 -0500

    Many Windows related fixes and tweaks. Also fixed some issues with newer versions of CMake and Swig files.

commit bfa050409c22bd7e5cbc1d7e23c72b11751ded07
Author: Jonathan Thomas <jonathan at openshot.org>
Date:   Mon Aug 24 01:05:48 2015 -0500

    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!

commit 45f31bbabfdf6b27142dfeb01783f6e5f840e1fb
Author: Jonathan Thomas <jonathan at openshot.org>
Date:   Sun Aug 16 22:58:07 2015 -0500

    Added 2 new effects: Brightness and Contrast, and Saturation. Both effects implement keyframe curves, and can be animated.

commit 8fa2ab71c54cb0df260dbf5669e3c9e21848a864
Author: Jonathan Thomas <jonathan at openshot.org>
Date:   Sun Aug 16 19:19:14 2015 -0500

    Fixed a few tiny bugs in JSON Properties, and removed some unneeded code related to hashing the current state of an effect.

commit c345ae07b7a3de58e57991de578e28a2390d8262
Author: Jonathan Thomas <jonathan at openshot.org>
Date:   Fri Aug 7 23:11:03 2015 -0500

    Fixed the ApplyJsonDiff function to support effects inside clips, which gets a bit tricky.

commit c7f0a481ccde4f49b32bed6dcae3a69dffd0cfa5
Author: Jonathan Thomas <jonathan at openshot.org>
Date:   Thu Aug 6 20:01:34 2015 -0500

    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).

commit 41dceadd1f5d3dd998dc5c494f311290712204fb
Author: Jonathan Thomas <jonathan at openshot.org>
Date:   Wed Aug 5 23:40:58 2015 -0500

    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).
    
    Next Syntax:
    frame = Cache::GetFrame(...)
    if frame:
       ....
    
     Also, fixed some issues with MP3 files having the wrong video length detected, and a few other minor issues.

commit 652aa3d6590c5d8776e362322cef01a5cc712884
Author: Jonathan Thomas <jonathan at openshot.org>
Date:   Sun Aug 2 21:17:00 2015 -0500

    Bumping the version to 0.0.5, released

commit 404b7ed1bb933bf0d0c106127cd66c287ba55306
Author: Jonathan Thomas <jonathan at openshot.org>
Date:   Sun Aug 2 20:59:38 2015 -0500

    Updating some doxygen param names

commit 8bd9e43cd5ae3ee33b9eb58ef5ea362643103793
Author: Jonathan Thomas <jonathan at openshot.org>
Date:   Sun Aug 2 20:35:45 2015 -0500

    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.

commit 03c9f06708e4f835894844b54d7cc062fab4e1c4
Author: Jonathan Thomas <jonathan at openshot.org>
Date:   Sun Aug 2 20:32:33 2015 -0500

    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.

commit 3db03a4c8759006659d1b94df743f29cb4d163bb
Author: Jonathan Thomas <jonathan at openshot.org>
Date:   Sun Jul 5 22:57:46 2015 -0700

    Removed exception handling for audio decoding... which sometimes fails when seeking... and it can be safely ignored.

commit b11476e71eb98f00056de6aee40f1a4c73afd4e7
Author: Jonathan Thomas <jonathan at openshot.org>
Date:   Fri Jun 19 18:23:00 2015 -0500

    Updated installation instructions PDF

commit c5cddc976552a94fda8ae67f923cf997856160e5
Author: Jonathan Thomas <jonathan at openshot.org>
Date:   Thu Jun 4 17:28:39 2015 -0500

    Updated ApplyJSonDIFF to accept some base Timeline properties

commit dbfe7bd8c3180c890d597b3d1b9dabbe1825851e
Author: Jonathan Thomas <jonathan at openshot.org>
Date:   Thu Jun 4 11:50:17 2015 -0500

    Fixed a Cmake syntax error

commit 066319c155e0ef6d34dac5b882973a0190a6c4b7
Author: Jonathan Thomas <jonathan at openshot.org>
Date:   Mon Jun 1 02:05:17 2015 -0700

    Fixed an issue with invalid framerates on some music files

commit b612f3339de60f0ae2faf4164021498ea2030b4b
Author: Jonathan Thomas <jonathan at openshot.org>
Date:   Mon Jun 1 00:20:14 2015 -0700

    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.
    
    Also, much work has been done on memory management / leak detection, and optimizations with multi-threading... including a new thread cacher class used by the video playback (which is smoother than ever).

commit 4b921b179e3f8bf83f9faf9fd3b6288b444fb2b3
Author: Jonathan Thomas <jonathan at openshot.org>
Date:   Mon Mar 16 15:29:37 2015 -0500

    Fixed a regression with audio boundries on the FFmpegReader.

commit 891766ed296981ea062606bd4baeede8a4610c6b
Author: Jonathan Thomas <jonathan at openshot.org>
Date:   Mon Mar 16 13:59:11 2015 -0500

    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.

commit d7a43f692c02a01e273e940a071fdd3412c55457
Author: Jonathan Thomas <jonathan at openshot.org>
Date:   Sun Mar 15 02:35:01 2015 -0500

    Refactored out many omp critical statements related to debugging, and made them conditional based on if debug is enabled.

commit 88e65fecefeeed036bc463f45eda6a804cdb270e
Author: Jonathan Thomas <jonathan at openshot.org>
Date:   Sun Mar 15 02:28:28 2015 -0500

    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.

commit b07936e3b25c3d261d9144489317b4244c0dae4e
Author: Jonathan Thomas <jonathan at openshot.org>
Date:   Sat Mar 14 01:36:13 2015 -0500

    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.

commit e2ee3d01f242d982c419f7706f8324da8c0fd073
Author: Jonathan Thomas <jonathan at openshot.org>
Date:   Fri Mar 13 23:19:55 2015 -0500

    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.

commit e084f638a9c2fd2a65e4cfaf469e73ad6b018b41
Author: Jonathan Thomas <jonathan at openshot.org>
Date:   Fri Mar 13 17:08:03 2015 -0500

    Optimized keyframe JSON serialization, speeding up loading and saving large projects and complex keyframe scenarios.

commit 5a9ca1909af54cf8a93a2f48bf3fb4765fb1cc39
Author: Jonathan Thomas <jonathan at openshot.org>
Date:   Mon Mar 9 15:17:56 2015 -0500

    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.

commit 820e8a20958361a3e8ead877bbb448dcf2c94bc4
Author: Jonathan Thomas <jonathan at openshot.org>
Date:   Sun Mar 8 22:24:12 2015 -0500

    Fixed a few more issue with the openshot::FrameMapper and openshot::FFmpegReader unit tests.

commit 00eae6266371de2a3dcecc0dd38cde2cbc49646a
Author: Jonathan Thomas <jonathan at openshot.org>
Date:   Sun Mar 8 22:22:40 2015 -0500

    Fixed an issue with a crashing unit test, and a broken ChangeMapping() method on the FrameMapper.

commit 591cfbdb5a8560be2fced11d5d9dbfe448b0dba0
Author: Jonathan Thomas <jonathan at openshot.org>
Date:   Sun Mar 8 21:42:53 2015 -0500

    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).

commit db4a5a7948386e87e4f842b0a4a77fdd8be5e526
Author: Jonathan Thomas <jonathan at openshot.org>
Date:   Sat Mar 7 17:07:37 2015 -0600

    Fixed some more multi-threading issues with Audio Processing, including a bug with the frames auto-size-increasing JUCE container.

commit fb6a0928326302bdba4b7947a3ea279e3e46364a
Author: Jonathan Thomas <jonathan at openshot.org>
Date:   Wed Mar 4 21:45:42 2015 -0600

    Reduced size of many audio buffers, reducing memory requirements

commit e3178b22f12f8c734033f6b2fdafbb271a92854f
Author: Jonathan Thomas <jonathan at openshot.org>
Date:   Wed Mar 4 21:33:29 2015 -0600

    More work on resolving memory leaks in FFmpegWriter

commit b703f44f7ceeb290dd8c46eef2be475650799fa2
Author: Jonathan Thomas <jonathan at openshot.org>
Date:   Wed Mar 4 15:26:08 2015 -0600

    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

commit c27e4a14269b288c734dea3b59e47c822ac3d233
Author: Jonathan Thomas <jonathan at openshot.org>
Date:   Sun Mar 1 22:36:39 2015 -0600

    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).

commit ea9885f9a90be6db7337ccb19b55455133d84d48
Author: Jonathan Thomas <jonathan at openshot.org>
Date:   Thu Feb 26 17:33:09 2015 -0600

    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.

commit 770b1ddb06d7d9d992a71de786045ee84ff51e9a
Author: Jonathan Thomas <jonathan at openshot.org>
Date:   Thu Feb 26 02:34:46 2015 -0600

    Fixed broken unit test.

commit 1c3b1f56911b084bb1eef04e80e99b1f5801f5b4
Author: Jonathan Thomas <jonathan at openshot.org>
Date:   Thu Feb 26 02:31:36 2015 -0600

    Timeline now supports overlapping clips, and will process them from bottom to top. Only the top layer gets effects applied, which enables overlapping transitions.

commit dfeff3379e0c9e62a155bbfa85ea8a1e4459a84c
Author: Jonathan Thomas <jonathan at openshot.org>
Date:   Thu Feb 26 01:59:12 2015 -0600

    Fixed a small issue with unneeded reader Open() calls.

commit 79519dbeabc1dc3f223a4b5dd24ddc9cd4bcd4a0
Author: Jonathan Thomas <jonathan at openshot.org>
Date:   Thu Feb 26 00:02:06 2015 -0600

    Added JSON Properties to all effects and refactored some of the code into the ClipBase class.

commit 6937d89bfdac1bbb819a28aa1f5b6182058535b4
Author: Jonathan Thomas <jonathan at openshot.org>
Date:   Wed Feb 25 17:39:59 2015 -0600

    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.

commit 57fbf357f6a097630ebaebe14ac4c62e330be76a
Author: Jonathan Thomas <jonathan at openshot.org>
Date:   Tue Feb 24 23:59:26 2015 -0600

    Increased debug output precision. Fixed rounding bug on timeline when finding a clips actual frame number. Fixed bug with a clips JSON properties output.

commit 61ed19250edd2c9c5ea2a98e154dddf37ef335c3
Author: Jonathan Thomas <jonathan at openshot.org>
Date:   Sun Feb 22 01:04:54 2015 -0600

    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.

commit b976b8220b0f0d6b4ed3b2af8ff87b457dcc8a54
Author: Jonathan Thomas <jonathan at openshot.org>
Date:   Sat Feb 21 03:10:38 2015 -0600

    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.

commit 0df6439103b80852fbd12f2126fc39eeea30395d
Author: Jonathan Thomas <jonathan at openshot.org>
Date:   Sat Feb 21 00:12:21 2015 -0600

    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.

commit d44604295af984901e96b74632d271fb82079a1e
Author: Jonathan Thomas <jonathan at openshot.org>
Date:   Thu Feb 19 15:59:57 2015 -0600

    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.

commit 86561aed226755fb1552efa5f2d88258bc8ff05e
Author: Jonathan Thomas <jonathan at openshot.org>
Date:   Thu Feb 19 01:03:22 2015 -0600

    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.

commit efa37ea4105c7d044578eda2c43fd455fe3404c9
Author: Jonathan Thomas <jonathan at openshot.org>
Date:   Wed Feb 18 17:15:03 2015 -0600

    Fixed timeline clip sorting to correctly sequence and mix the various layers and clips.

commit 1d1a608a5cc4352d6884a141024258285b423e7f
Author: Jonathan Thomas <jonathan at openshot.org>
Date:   Tue Feb 17 00:21:57 2015 -0600

    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.

commit 44d5cf866a3cbb4c9080d3c4067c3de8826c9f0f
Author: Jonathan Thomas <jonathan at openshot.org>
Date:   Fri Feb 13 00:59:33 2015 -0600

    Bumped version to 0.0.4, SO version to 2

commit 511cef4522e71a41786026fc70f3b0a4d6114773
Author: Jonathan Thomas <jonathan at openshot.org>
Date:   Wed Feb 11 21:59:13 2015 -0600

    Fixed a small bug on the Clip constructor... which was crashing on MacOS.

commit 10adb2cc0badd0063496119140de4f1062abb2b9
Author: Jonathan Thomas <jonathan at openshot.org>
Date:   Wed Feb 11 00:23:25 2015 -0600

    Added new JSON properites to the clip object... to better integrate UI interfaces for clips.

commit 5145abdacb2aa56ea8980221cb4e52deacb25dbc
Author: Jonathan Thomas <jonathan at openshot.org>
Date:   Mon Feb 9 22:41:42 2015 -0600

    Added new clip method that returns all properties for a given frame in JSON.

commit 5290d0177bb1d7f735e11897b0d6dee3727cbe64
Author: Jonathan Thomas <jonathan at openshot.org>
Date:   Sun Feb 8 22:55:10 2015 -0600

    Fixed video player to paint the background color black, instead of not painting the pixels outside the aspect ratio.

commit bb9849c60a653dc5c7e2ae356a692d8ed51a398c
Author: Jonathan Thomas <jonathan at openshot.org>
Date:   Sat Feb 7 18:06:11 2015 -0600

    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.

commit a3e7b70a7adcec946cbd7af77f4e1f023547b1b2
Author: Jonathan Thomas <jonathan at openshot.org>
Date:   Sat Feb 7 16:48:43 2015 -0600

    Improved build scripts and refactored some executibles, such as the example apps

commit 470853e34d399cca3b75a3a622f03b7aae984a02
Author: Jonathan Thomas <jonathan at openshot.org>
Date:   Thu Feb 5 16:00:18 2015 -0600

    Updated compatibility with the latest LibAV API

commit a93a82f1bc751e4d430352ba9ea40ee96a7ea752
Author: Jonathan Thomas <jonathan at openshot.org>
Date:   Thu Feb 5 00:20:29 2015 -0600

    Updated InstallationGuide.PDF to the latest version

commit 985f30e467d6a1d9fe21a2af90d1630be71fb7a5
Author: Jonathan Thomas <jonathan at openshot.org>
Date:   Thu Feb 5 00:12:34 2015 -0600

    Added many new unit tests, including Color tests and ImageWriter tests.

commit e5b272294f59b4aa037cb6c8986c3d71bbc02c96
Author: Jonathan Thomas <jonathan at openshot.org>
Date:   Thu Feb 5 00:11:55 2015 -0600

    Update documentation and examples

commit 7e8ab6f5bf16ff9a7761bb210bda2863f26820b8
Author: Jonathan Thomas <jonathan at openshot.org>
Date:   Thu Feb 5 00:11:11 2015 -0600

    Added new ChannelLayouts classe, which allows encoding video files in different channel layouts (mono, stereo, surround, etc...)

commit 6607f8192251aaa0b3fc9994bad0466fbd33ecfb
Author: Jonathan Thomas <jonathan at openshot.org>
Date:   Thu Feb 5 00:10:00 2015 -0600

    Updated Python and Ruby Bindings with new classes
    Update cmake build scripts

commit bf73482244f9ab023258c0940d8bd857573555f0
Author: Jonathan Thomas <jonathan at openshot.org>
Date:   Thu Feb 5 00:08:38 2015 -0600

    Fixed some build errors and updated the Blackmagic DeckLink classes.

commit ff60450f4f4bf27856c29f6a800bebbcdadc7138
Author: Jonathan Thomas <jonathan at openshot.org>
Date:   Thu Feb 5 00:06:07 2015 -0600

    Completely rewrote audio encoding API (old one was depreciated)
    Integrated new debug output, which makes troubleshooting issues much easier
    Simplified the Writer API calls (some methods now get automatically called if needed). Now a few simple methods can write an entire video file.

commit 9afcb67630c7ef91cb4e00e2b51a00de04f276c1
Author: Jonathan Thomas <jonathan at openshot.org>
Date:   Thu Feb 5 00:02:59 2015 -0600

    Added a new ImageWriter class, which specializes in creating images (powered by ImageMagick). This can quickly and easily create animated GIFs with nice color pallets, and a hundred other misc image formats.

commit a6087dab3a468f168f4ba2c12b2dc8341f06acda
Author: Jonathan Thomas <jonathan at openshot.org>
Date:   Thu Feb 5 00:00:52 2015 -0600

    Many improvements to FFmpegReader, including
    Better bounds checking, and support at the end of the video file
    Improved debug output, which helped resolve many issues
    Implemented the newest audio decoding API (old one was depreciated)
    Now support packed and planar audio data
    Far superier audio resampling support

commit de1a30b6cb895f3d9c1a2b4f274376b0cfbba4d8
Author: Jonathan Thomas <jonathan at openshot.org>
Date:   Wed Feb 4 23:56:43 2015 -0600

    Tons of bug fixes to the Qt Player and video playback functionality
    Improved AudioReaderSource to support pausing & fast forward
    Video playback works very well now, across a large sampling of test videos

commit ff39fdaaf4369ce05c0f9edaeb1b72ed21ac1ce0
Author: Jonathan Thomas <jonathan at openshot.org>
Date:   Wed Feb 4 23:53:39 2015 -0600

    Updated Eclipse/Aptana project file with improved cmake build targets
    Updated Doxygen definition file (for generating documention)

commit 730e901f07e76ae42a52c7a1a70144e4edb31f37
Author: Jonathan Thomas <jonathan at openshot.org>
Date:   Wed Feb 4 23:52:31 2015 -0600

    Removed uneeded build files

commit eec8e38ec267c15e8234d125acad6226fd024d31
Author: Jonathan Thomas <jonathan at openshot.org>
Date:   Fri Sep 26 09:35:38 2014 -0500

    Fixed more seek issues

commit 663e0d41297a985ab7203bb88804a1f4cc08ec4b
Author: Jonathan Thomas <jonathan at openshot.org>
Date:   Mon Sep 22 00:40:21 2014 -0500

    Fixed a big memory leak on the FFmpegReader while processing audio packets.

commit 348ff39e870559c0c573ddb3490d021a7fdb2728
Author: Jonathan Thomas <jonathan at openshot.org>
Date:   Mon Sep 15 00:24:46 2014 -0500

    Fixed another seek bug, and resolved some memory leaks with removing av_frames and av_packets.

commit f6b9ba4fa33ed8f0ddc370ca5edc0013b902bc68
Author: Jonathan Thomas <jonathan at openshot.org>
Date:   Sat Sep 13 18:05:15 2014 -0500

    More tweaks to the seeking code, to increase stability while seeking.

commit 7eb25b54fc5c51fc49ddf652d5a881e019cef935
Author: Jonathan Thomas <jonathan at openshot.org>
Date:   Sat Sep 13 16:35:11 2014 -0500

    Fixed a bad seek bug, where the FFmpegReader would read until the end of stream looking for a frame. Also refactored a bit of cmake code.

commit cc7a0f41e898685787ebf0134f86ea75ec562f66
Author: Jonathan Thomas <jonathan at openshot.org>
Date:   Wed Aug 27 09:44:27 2014 -0500

    Added new debug methods, and refactored the ReaderBase and WriterBase to better utilize the base class constructor. Also fixed some FFMpegReader issues related to seeking and determining when frames are actually ready.

commit 66dfed502bb7694f6e4d0e31ae713045ce1dee09
Author: Jonathan Thomas <jonathan at openshot.org>
Date:   Wed Aug 6 13:42:29 2014 -0500

    Added FindPythonLibs cmake module to address issues with older versions of Cmake that dont correctly identify new versions of Python.

commit b1022212e393c20950b2752974f5f5567ffed20b
Author: Jonathan Thomas <jonathan at openshot.org>
Date:   Fri Aug 1 10:27:05 2014 -0500

    Updated cmake build script to correctly set install_path_name, so cx_Freeze could correctly walk to the dependency chain. Also fixed a minor issue with FFmpeg on Mac, where it could not find any codecs.

commit df54c12341a3d6a9c9d51a8d7a72f0c0d927d299
Author: Jonathan Thomas <jonathan at openshot.org>
Date:   Tue Jul 29 14:12:03 2014 -0500

    Bump version to 0.0.3

commit dc1d9b8d712604d6e0a6e96a27f7a016215fc4d6
Author: Jonathan Thomas <jonathan at openshot.org>
Date:   Sat Jul 26 01:24:40 2014 -0500

    Update cmake to build libopenshot correctly on Mac

commit 3227d59f1554ed74c8dfa347d7aebac1fb17a612
Author: Jonathan Thomas <Jonathan.Oomph at gmail.com>
Date:   Fri Jul 25 23:32:12 2014 -0500

    Improved Cmake scripts to better support Windows, and fixed a large memory leak because *reader was not being deleting after being created in Clip objects.

commit a47d3360cbd5b63cb80944f3fc76b68d9f318133
Author: Jonathan Thomas <jonathan at openshot.org>
Date:   Thu Jul 24 15:58:09 2014 -0500

    More updates and fixes on the Installation Instructions.

commit 1e4d948373cf52ad3c10f9014670fd88e79110b4
Author: Jonathan Thomas <jonathan at openshot.org>
Date:   Thu Jul 24 14:40:40 2014 -0500

    Updated build instructions

commit 74cdc30ce8809e771416e7e898412b5f722f5820
Author: Jonathan Thomas <jonathan at openshot.org>
Date:   Thu Jul 24 12:59:41 2014 -0500

    Added logo PNG

commit 93a4c0bad6ce902587e58ed9d33ef042eb764a37
Author: Jonathan Thomas <Jonathan.Oomph at gmail.com>
Date:   Mon Jul 21 15:13:41 2014 -0500

    Fixed some build errors on Windows related to the JUCE hypot function and c++0x support on Windows

commit 1aee5e1214ee365caba492ec76e5dd09e7b96557
Author: Jonathan Thomas <jonathan at openshot.org>
Date:   Tue Jul 15 13:48:58 2014 -0500

    Bumped version to 0.0.2

commit e135eb5738f7ad3d00390d99f2e73dad8f404bd0
Author: Jonathan Thomas <jonathan at openshot.org>
Date:   Fri Jul 11 16:52:14 2014 -0500

    Changed license to LGPLv3 for all libopenshot code.

commit 352e5904d860160fd1f5da659b7000a4c6641c37
Author: Jonathan Thomas <jonathan at openshot.org>
Date:   Thu Jul 3 22:41:01 2014 -0500

    Switched my simple bitshifting to use the ImageMagick ScaleQuantumToChar() method, which handles all the different bit depths and data types that ImageMagick can be compiled with.

commit 77f4586f2191fffa20ccd42d9f8564d10ac018f1
Author: Jonathan Thomas <jonathan at openshot.org>
Date:   Thu Jul 3 17:52:16 2014 -0500

    Fixed a bug with bitshifting float color values. ImageMagick can be built with different types of Quantum color values, and Im trying to make libopenshot work seemlessl with them.

commit 450925489545ee9909b8f6c66ee0f4f67ef2add8
Author: Jonathan Thomas <jonathan at openshot.org>
Date:   Thu Jul 3 17:35:31 2014 -0500

    Added new cmake options to set the quantum depth of the installed ImageMagick library... so libopenshot knows how to properly scale color bit depth.

commit e6eca9eb5c3bf5f96f3b9a155d74e9a6f836d3cb
Author: Jonathan Thomas <jonathan at openshot.org>
Date:   Thu Jul 3 12:48:04 2014 -0500

    Removed unneeded header that was breaking build servers.

commit b224d7d8fa9562bae5ad44167640e8ba66733bb3
Author: Jonathan Thomas <jonathan at openshot.org>
Date:   Thu Jul 3 12:26:02 2014 -0500

    Adjusted ImageMagick code to dynamically calculate the quantum depth, and bitshift between that depth and the 8bit colors for FFmpeg.

commit 338b0e85e30e945e31e38e38e87a7de89d39a5ca
Author: Jonathan Thomas <jonathan at openshot.org>
Date:   Wed Jul 2 17:01:33 2014 -0500

    Improved cmake module for unittest++ to work with Arch

commit 3a6386634af2bab0a4213694ca7c06d749ab4d92
Author: Jonathan Thomas <jonathan at openshot.org>
Date:   Mon Jun 30 15:37:50 2014 -0500

    Fixed many serious compiler errors, such as non-void functions missing a return value.

commit cf94f37a0f00441ab3a90ae13d6a6b897e9d434c
Author: Jonathan Thomas <jonathan at openshot.org>
Date:   Fri Jun 27 16:57:27 2014 -0500

    dynamically adjust lib folder suffix in cmake, to support lib64.

commit 2c9041ad552fd5bb76a7166ca7388244471ed3fa
Author: Jonathan Thomas <jonathan at openshot.org>
Date:   Fri Jun 27 15:15:51 2014 -0500

    Fixed cmake issue finding UnitTest++ on Fedora, and now look in lib64 directory as well.

commit dce641359733fbf9a4967ed5c1df258bae762716
Author: Jonathan Thomas <jonathan at openshot.org>
Date:   Thu Jun 26 23:12:54 2014 -0500

    Made unittests optional, based on a cmake flag

commit 98eb696cac99e8311be9757db2b3be5ab27d1ad5
Author: Jonathan Thomas <jonathan at openshot.org>
Date:   Thu Jun 26 16:29:43 2014 -0500

    Removed a few unittests since they are breaking the LaunchPad build server... this is a temporary fix.

commit 4a03074be6357efeee657f04fa1fba2c56a84d50
Author: Jonathan Thomas <jonathan at openshot.org>
Date:   Thu Jun 26 14:41:26 2014 -0500

    Fixed small issue with unit test

commit 39a67529faf2addab2ffb5d479520f44475a457e
Author: Jonathan Thomas <jonathan at openshot.org>
Date:   Fri Jun 20 15:05:24 2014 -0500

    Removed partially implemented SDL player.

commit 6bdc12f6a20283d29a42f8c146c6dc9fddd22126
Author: Jonathan Thomas <jonathan at openshot.org>
Date:   Fri Jun 20 14:41:19 2014 -0500

    Fixed build errors on newer versions of libAV and FFmpeg

commit 09ba92e456e0939ad7bbed39d4c3f50f7f30af7a
Author: Jonathan Thomas <jonathan at openshot.org>
Date:   Wed Jun 18 23:01:57 2014 -0500

    Made blackmagick / decklink compiling optional, even if its detected.

commit 55c52306cc56a5e7bd8d4de80312688e1f61c1ee
Author: Jonathan Thomas <jonathan at openshot.org>
Date:   Sat May 24 16:07:42 2014 -0500

    Testing out some experimental audiothread changes.

commit ac4988e92b66c08e00aa02f0556cfbaeaa2ceb56
Author: Jonathan Thomas <jonathan at openshot.org>
Date:   Tue May 20 00:57:27 2014 -0500

    Renamed new Save method to Thumbnail

commit e0c428c347368e23630f4f55857906f51550f54f
Author: Jonathan Thomas <jonathan at openshot.org>
Date:   Tue May 20 00:34:20 2014 -0500

    Added new awesome thumbnail method, which can resize very accurately, add masks, add overlays, set background colors, pad and center image, etc...

commit 7f6c50db7173f180c5d0e7b28fcf173c5615e89c
Author: Jonathan Thomas <jonathan at openshot.org>
Date:   Fri May 16 14:48:25 2014 -0500

    Improved JSON error handling with complex nested JSON objects.

commit a41afe80a9e837d2fa2d0f4c56687b2b95fbe387
Author: Jonathan Thomas <jonathan at openshot.org>
Date:   Fri May 16 12:09:04 2014 -0500

    Adding back in Eclipse project files.

commit 00722192d910a65ceaefc5a55dca01456d76e060
Author: Jonathan Thomas <jonathan at openshot.org>
Date:   Wed May 14 23:04:35 2014 -0500

    ApplyJsonDiff now clears the internal timeline cache (since things might have changed), and the timelines GetFrame always resorts the clips, to be sure they are in the correct order... not ideal, but better than out of order.

commit b79750f5c5fe0928f895aa9a7f3c096424859a1e
Author: Jonathan Thomas <jonathan at openshot.org>
Date:   Fri Apr 11 00:38:34 2014 -0500

    Updated README with information on documentation.

commit 579237d6140a39aa227d3d3d5488bdf82529ac4d
Author: Jonathan Thomas <jonathan at openshot.org>
Date:   Fri Apr 11 00:28:29 2014 -0500

    Renaming Profile.h due to conflicts with ImageMagick. Mac builds are working again now.

commit 6232a1bd412b0ff3dbd6a9a1faf4f390150f357a
Author: Jonathan Thomas <jonathan at openshot.org>
Date:   Thu Apr 10 22:38:01 2014 -0500

    Refactored and fixed many include paths (not sure how they worked before). Also, refactored SWIG bindings into separate folders, and added Ruby as the 2nd officially supported language for libopenshot.

commit 22691802ac4e341db95e0fb5469bd9351cea9ddb
Author: Jonathan Thomas <jonathan at openshot.org>
Date:   Wed Apr 9 23:06:16 2014 -0500

    Fixing version number

commit 8a030965a6e5901e09f1a19c12d88b5bd6f9d4d1
Author: Jonathan Thomas <jonathan at openshot.org>
Date:   Sat Apr 5 19:25:56 2014 -0500

    Update AUTHORS file

commit c5b61e874e266652eb8c6c643c418fac5f6572f3
Author: Jonathan Thomas <jonathan at openshot.org>
Date:   Sat Apr 5 18:48:00 2014 -0500

    Updated instructions to include a section on ImageMagick automation for Windows.

commit 2d70756383cf9496a0f6d43e76dbfefaad25b52a
Author: Jonathan Thomas <jonathan at openshot.org>
Date:   Sat Apr 5 18:40:09 2014 -0500

    Removed build server from source code

commit 9fdd37b531f7c1530a01bdcb01771028973e58b7
Author: Jonathan Thomas <jonathan at openshot.org>
Date:   Sat Apr 5 18:38:49 2014 -0500

    Removed some additoinal files that were not needed.

commit d3ad9b2ef625f12c0ed57c8d3c087b426654a107
Author: Jonathan Thomas <jonathan at openshot.org>
Date:   Sat Apr 5 18:29:03 2014 -0500

    Update README and Intallation Guide.

commit 0cbbc12515214418fae65ced13e4ec913b65e9d2
Author: Jonathan Thomas <jonathan at openshot.org>
Date:   Sat Apr 5 17:42:05 2014 -0500

    Removing unneeded eclipse settings file from source code.

commit 2655c839d7763e2a8fb71705b07ac0d48d8c4539
Author: Jonathan Thomas <jonathan at openshot.org>
Date:   Sat Apr 5 14:34:27 2014 -0500

    Added new unit tests for FFmpegWriter class.

commit 7de37cf1a6b1d9089c2da954d88d53e2a176b531
Author: Jonathan Thomas <jonathan at openshot.org>
Date:   Sat Apr 5 10:19:20 2014 -0500

    Fixed a bug in the Seek method, which was reseting the seek_target on each recursive seek.

commit 698b07e9aab67cf3cbdac72f41c1af1ff7b5543e
Author: Jonathan Thomas <jonathan at openshot.org>
Date:   Thu Apr 3 22:47:21 2014 -0500

    Added unittest for Timeline with 2 layers including alpha channel.

commit a229ced0366b34718cf2288e43ac160a918ea1c9
Author: Jonathan Thomas <jonathan at openshot.org>
Date:   Thu Apr 3 22:35:25 2014 -0500

    Added new usleep method for Windows, and improved speed of Seek() operation on the FFmpegReader. Also added some Seek unit tests.

commit e073ad89f5cf733511b8bbe7c0fb58df3a7f65a6
Author: Jonathan Thomas <Jonathan.Oomph at gmail.com>
Date:   Wed Apr 2 16:48:27 2014 -0500

    Fixed many issues with the QtPlayer and related classes. Now the VideoRenderer can be passed through SWIG and connected to a PyQt application and handle display signals for each frame. Also, refactored some OpenMP settings into its own header.

commit 6e65c36690edf9f7e82f65742c23eb0d1310a28c
Author: Jonathan Thomas <jonathan at openshot.org>
Date:   Sun Mar 30 23:21:30 2014 -0500

    Refactored much of the Qt Player related code. Also, integrated the Qt Player code into Python bindings. This still needs some work, especially with using PyQt widgets instead of C++ Qt Widgets.

commit 5010f6252a506eb5132d94810c2d4f5bc27b96df
Author: Jonathan Thomas <jonathan at openshot.org>
Date:   Sat Mar 29 18:49:22 2014 -0500

    Replaced all copyright and licensing to reflect AGPLv3 license. Also, added a bad ass version header, which is now integrated into CMake as well. A single place to indicate version and ABI/API compatibility.

commit 4c64fbe92e7399eb7b212cd220a9fffaa45771c6
Author: Jonathan Thomas <jonathan at openshot.org>
Date:   Sat Mar 29 16:07:57 2014 -0500

    Started changing license info and copyright notices to AGPL.

commit bc4e58c601efc620933e72df2b7c16a4ec5a5c72
Author: Jonathan Thomas <jonathan at openshot.org>
Date:   Sat Mar 29 15:39:43 2014 -0500

    1) Reduced all openmp to use /2 the available CPUs (for performance reasons)
    2) Improved detection of pixel format (enabled GIF support.. although it is still flawed a bit)
    3) Improved error reporting when video encoding issues happen

commit a77de842e4e73d99c46bd546f16206b79aee06d0
Author: Jonathan Thomas <jonathan at openshot.org>
Date:   Sun Mar 23 01:12:29 2014 -0500

    Added pausing, rewind, fast forward, and playing (and different speeds). Still a bit buggy and experimental with fast forward and rewinding (due to seek bugs in readers).

commit 2ba83486c96253d1fc1d5d59680007edb2f1ba9c
Author: Jonathan Thomas <jonathan at openshot.org>
Date:   Fri Mar 21 01:25:17 2014 -0500

    Made some dramatic improvements to the QtPlayer classes, especially audio / video sync. All of my test files now work correctly, with no audio or video issues! Also, now audio only files also work, and image only files.

commit e318f079fea1d668f0847c29828768f3b17ad9bd
Author: Duzy Chan <code at duzy.info>
Date:   Sun Feb 23 14:08:01 2014 +0800

    tweaking around the sleeping time

commit 15ba81624ab45f3710d1a05164f909dc20b19f5a
Author: Jonathan Thomas <jonathan at openshot.org>
Date:   Wed Feb 19 23:26:33 2014 -0600

    Update mac cpack settings to use drag n drop

commit 6a25321f42004725f28956c57abc6d119dad3f33
Author: Jonathan Thomas <Jonathan.Oomph at gmail.com>
Date:   Wed Feb 19 17:20:39 2014 -0600

    Integrated initial Cpack confirmation into cmake build script.

commit 0e5447cd0da1cd920a9365666993cec53d95a5ec
Author: Jonathan Thomas <Jonathan.Oomph at gmail.com>
Date:   Wed Feb 19 15:43:58 2014 -0600

    Renamed JUCE to libopenshot in the cmake find module. Fixed python install target to work on Windows.

commit 2b4a67fe7b80a8620e0a468270b382d0ac172fe5
Author: Jonathan Thomas <jonathan at openshot.org>
Date:   Wed Feb 19 01:21:23 2014 -0600

    Updated mac build targets, to point to brew python3 locations.

commit 6ca919d3af50934370e6384d7c15850c62be124e
Author: Jonathan Thomas <jonathan at openshot.org>
Date:   Tue Feb 18 23:25:28 2014 -0600

    Removed exception from the Clip class, since Swig seems incompatible with it.

commit 6464aa091d25927ee2aad4f95293d228d637e5cc
Author: Duzy Chan <code at duzy.info>
Date:   Fri Feb 14 10:19:50 2014 +0800

    coordinate video playback with audio frame number

commit 436b0edd2714b1ba7f1eb2681494af3e10d5babc
Author: Jonathan Thomas <Jonathan.Oomph at gmail.com>
Date:   Thu Feb 13 15:17:41 2014 -0600

    Updated Windows build scripts for ImageMagick using MinGW from Qt5 and added README for building ImageMagick.

commit dc05437e4fa5a62b83f259f1856615901b5cf0c4
Author: Jonathan Thomas <jonathan at openshot.org>
Date:   Thu Feb 13 03:16:18 2014 -0600

    Added estimated_frame to AudioSourceReader... which estimates what frame is being currently played.

commit 54b905c56cc4f994051e1c2e5c5bcc561422da51
Author: Duzy Chan <code at duzy.info>
Date:   Wed Feb 12 14:55:49 2014 +0800

    QtPlayer: getting frame in audio/video threads safely

commit 816e76331f4c5ecf37e851b6f76e8adf83325748
Merge: 0e880ac ffcef45
Author: Jonathan Thomas <jonathan at openshot.org>
Date:   Wed Feb 12 00:39:25 2014 -0600

    merging branches back together.

commit 0e880ac31689586741016c871e312e8af9f344c1
Author: Jonathan Thomas <jonathan at openshot.org>
Date:   Wed Feb 12 00:28:59 2014 -0600

    Modified SWIG Python bindings for libopenshot, and improved detection of Python3 lib folder for make install TARGET.

commit ffcef454e853e0417db7a9ba0b03fa8e4b7957bc
Author: Duzy Chan <code at duzy.info>
Date:   Wed Feb 12 14:02:57 2014 +0800

    tracking frame number in the main playback thread instead of in audio playback thread

commit 606c3e1c6ddef9f1ec15ca382acf41490931bf59
Author: Duzy Chan <code at duzy.info>
Date:   Tue Feb 11 15:53:19 2014 +0800

    combine audio and video playback

commit 1635ab06c278f66b94e0fd12e5e08358f4bf00ec
Author: Jonathan Thomas <jonathan at openshot.org>
Date:   Mon Feb 10 17:16:33 2014 -0600

    Fixed bug in initialization of AudioReaderSource, and a bug in the AudioPlaybackThread which was causing the thread to prematurely end.

commit 1caf0cfbe7c0cd19c537c8227246e9d12ef91ec3
Author: Duzy Chan <code at duzy.info>
Date:   Sun Feb 2 02:20:30 2014 +0800

    comment out video playback code

commit ca180a5fcd288baec6abc53d74138f6df5ffb488
Author: Jonathan Thomas <jonathan at openshot.org>
Date:   Sat Feb 1 00:21:54 2014 -0600

    Added initial checkin of Windows build script to automate ImageMagick compilation in Windows. It can build ImageMagick against a default MinGW installation or Qt's MinGW installation.

commit 45b4dbea5c090fee491f058c956b058687e09514
Author: Jonathan Thomas <jonathan at openshot.org>
Date:   Fri Jan 31 11:27:29 2014 -0600

    Removed debug code, which was causing issues with AudioReaderSource

commit ea517194f8a10a686918a40f78cc343e8ff91486
Author: Duzy Chan <code at duzy.info>
Date:   Fri Jan 31 23:07:36 2014 +0800

    still working around AudioReaderSource integration

commit 8d2064ad055b4d7cb4d67eb56d558e766dc91e15
Author: Duzy Chan <code at duzy.info>
Date:   Fri Jan 31 16:27:16 2014 +0800

    trying to integrate with AudioReaderSource

commit a798989396ecf82e89ce0dc03bb43651b0c2466a
Merge: 4920c79 74abf40
Author: Jonathan Thomas <jonathan at openshot.org>
Date:   Wed Jan 29 00:20:50 2014 -0600

    Merging in large audio refactoring, including a new AudioReaderSource class, which can create a JUCE audio source out of a libopenshot ReaderBase* derived class.

commit 74abf40932fdbdaa225f030da68573fb8d2b6ae8
Author: Jonathan Thomas <jonathan at openshot.org>
Date:   Wed Jan 29 00:18:40 2014 -0600

    Fixed bugs in new AudioReaderSource class. Also fixed a few small issues in the FFmpegReader class.

commit 4ee7ef9b6e670a68b72cd5a3f42133f58d31c1c1
Author: Jonathan Thomas <Jonathan.Oomph at gmail.com>
Date:   Tue Jan 28 17:17:38 2014 -0600

    Added experimental AudioBufferSource and refactored lots of audio code.

commit 4920c7954fa486996d41809a0b7251be8f5d1fd3
Author: Duzy Chan <code at duzy.info>
Date:   Tue Jan 28 21:34:42 2014 +0800

    fixed video playback timing

commit 118fe9113a09e2a0ee0dbc41a13a311560209e0c
Author: Jonathan Thomas <jonathan at openshot.org>
Date:   Tue Jan 28 02:41:15 2014 -0600

    Fixed RendererBase to correctly use writePixels, instead of iterating through PixelPackets. Fixed Audio Crash caused by not initializing a JUCE background audio thread. Added an OutOfBoundsFrame exception on the FFmpegReader, when the end-of-stream is detected.

commit eef341270b7e196ac3d082bf1c57bcfc71235638
Author: Jonathan Thomas <jonathan at openshot.org>
Date:   Mon Jan 27 23:31:38 2014 -0600

    Changed some json settings for the timeline, and fixed a regression on the clip class.

commit 2a949eb587c951c78b68cb38e69ce5344c7af388
Author: Duzy Chan <code at duzy.info>
Date:   Tue Jan 28 03:00:16 2014 +0800

    experimenting timing

commit 88aa9689b85434904959ad2b4e6bf160587b813f
Author: Duzy Chan <code at duzy.info>
Date:   Mon Jan 27 19:03:46 2014 +0800

    working around audio/video playback

commit ab7f76dce6729788607027984d04994d054f6931
Author: Jonathan Thomas <jonathan at openshot.org>
Date:   Sat Jan 25 17:26:34 2014 -0600

    Changed project build targets (for Aptana)

commit 7557a3aa37340158b0c5aa33683097386e8c849c
Author: Duzy Chan <code at duzy.info>
Date:   Sun Jan 26 03:35:38 2014 +0800

    QtPlayer: displaying the first frame of a reader

commit c67c1ae8c8df8d1f1d304827c623921102ae4e7b
Author: Duzy Chan <code at duzy.info>
Date:   Sat Jan 25 03:38:38 2014 +0800

    initial QtPlayer classes

commit 25416c61b6beca00f7c1ff2d63648765ca98b73a
Author: Duzy Chan <code at duzy.info>
Date:   Thu Jan 23 13:32:07 2014 +0800

    fixed a compilation error caused by <qt5/QtCore/qstring.h>

commit 6dd5a7917757d647f29841004ffccaaed4bb9211
Author: Jonathan Thomas <jonathan at openshot.org>
Date:   Wed Jan 22 01:08:14 2014 -0600

    Added an experimental DrawFrameOnScene method, which takes a raw pointer (as a long) from PyQt5 (i.e. unwrapped by sip), and draws a QBitmap on it.

commit e4d6c026b7240e9f3ddc814e68258a71b5f4742b
Author: Jonathan Thomas <Jonathan.Oomph at gmail.com>
Date:   Fri Jan 10 17:24:40 2014 -0600

    Forgot to add the new Effects header file. Here it is.

commit a8389a3b84c52438b086d98ac8d8927732730862
Author: Jonathan Thomas <Jonathan.Oomph at gmail.com>
Date:   Fri Jan 10 17:24:12 2014 -0600

    Moved effects to a common include file called Effects.h, so all effects could be easily included when needed (such as the timeilne class).

commit 0571a952011e00e9d1870b2bfd6653e083e200fd
Author: Jonathan Thomas <Jonathan.Oomph at gmail.com>
Date:   Fri Jan 10 17:05:20 2014 -0600

    Fixed Profile to throw exception if an invalid file was provided.

commit dfe96b638cd27793376e1635b6a68abc8e249af3
Author: Jonathan Thomas <Jonathan.Oomph at gmail.com>
Date:   Thu Jan 9 17:37:04 2014 -0600

    Added Profile class, which can load profile data from a text file, and generate Json from the profile.

commit 3c99e53dad17d9ec872d257dedd2cb4490a0cea8
Author: Jonathan Thomas <jonathan at openshot.org>
Date:   Wed Jan 8 01:43:58 2014 -0600

    Added JSON change method, which accepts a diff / sync JSON array, and applies the changes to a timeline and timeline associated properties and items. Also fixed many bugs on JSON type checking.

commit 16479fba9dd117a93a5438db5bccfdca23af9b69
Author: Jonathan Thomas <jonathan at openshot.org>
Date:   Mon Jan 6 00:04:40 2014 -0600

    Fixed a bug on DummyReader and Framemapper.

commit 75db2917f1c06eea6b5c89f00180b05cceca1f1a
Author: Jonathan Thomas <jonathan at openshot.org>
Date:   Sun Jan 5 23:28:21 2014 -0600

    Removed unneeded Json from Keyframes, Points, and Coordinates... and also optimized a Keyframe with 1 point to use CONSTANT interpolation mode.

commit e2f5ca8a69a5a3429c01a7adf02e82fec7ab2d96
Author: Jonathan Thomas <jonathan at openshot.org>
Date:   Sun Jan 5 23:12:56 2014 -0600

    Removed Framerate class, since its functionality is already represented in the Fraction class. Also, corrected a few unittests, and  updated some documentation.

commit f25f342825f4e6057950a929eccb7233477b7e32
Author: Jonathan Thomas <jonathan at openshot.org>
Date:   Sun Jan 5 22:37:11 2014 -0600

    Completed timeline class Json methods, with all child properties... and refactored many unneeded properties away.

commit b3faf4951f2eadbfc2bdfa6df457239f1888e4ad
Author: Jonathan Thomas <jonathan at openshot.org>
Date:   Sun Jan 5 00:29:50 2014 -0600

    Added build configurations for Windows, which use mingw32-make instead of make.

commit 823835be3100a9acf677125c10bad7f49e0d8d3a
Author: Jonathan Thomas <jonathan at openshot.org>
Date:   Sun Jan 5 00:15:58 2014 -0600

    Removed PyDev builder from Eclipse project file

commit 391340790bb841562d1a72ec3523b5ccf4771c00
Author: Jonathan Thomas <jonathan at openshot.org>
Date:   Sun Jan 5 00:11:03 2014 -0600

    Added Make Targets for Windows

commit edcb05784a6f8546c6827855b7f62bbdefbb14ef
Author: Jonathan Thomas <jonathan at openshot.org>
Date:   Sat Jan 4 19:04:21 2014 -0600

    Completed clip Json output, with all keyframes and properties.

commit 0e037a389e901da0d4f8cf9f216d69fd35ab0cf1
Author: Jonathan Thomas <jonathan at openshot.org>
Date:   Wed Jan 1 22:50:41 2014 -0600

    Fixed many Windows build issues

commit ab56c207c617f898ca3184e1d310ca9fb6bbe1f5
Author: Jonathan Thomas <jonathan at openshot.org>
Date:   Sat Dec 21 01:58:18 2013 -0600

    Fixed Qt sample app on Mac... which was failing to include a few modules.

commit 149f4e874f1a3037b3a60e6e953c76241b2ac81b
Author: Jonathan Thomas <jonathan at openshot.org>
Date:   Sat Dec 21 00:46:26 2013 -0600

    Added a sample Qt player application to the cmake build scripts.

commit f5113ee3a669acf9ea8d24062a3e5fda20b72031
Author: Jonathan Thomas <Jonathan.Oomph at gmail.com>
Date:   Fri Dec 20 18:22:13 2013 -0600

    Fixed Qt build errors by removing automoc

commit d2017dd4595a23074b091f1822bf2c53644a5578
Author: Jonathan Thomas <jonathan at openshot.org>
Date:   Thu Dec 19 00:15:13 2013 -0600

    Adding Qt5 Video player example, and currently the build files are failing due to moc issues with Qt5. Still looking into this.

commit 4af691633884093687a53621eaa2fe9d02350e34
Author: Jonathan Thomas <jonathan at openshot.org>
Date:   Wed Dec 18 21:55:43 2013 -0600

    Fixed polymorphism / inhereted Json methods, and added a new IsOpen() method on all readers. Fixed other misc Json bugs.

commit cd7743fb88fc078b414aef6324e2b6db41e00617
Author: Jonathan Thomas <jonathan at openshot.org>
Date:   Sat Dec 7 21:09:55 2013 -0600

    Improved Json methods to correct work with swig and inheritance.

commit e3d41808b997c8a30a7385997bd68ea4151cb974
Author: Jonathan Thomas <jonathan at openshot.org>
Date:   Sat Dec 7 16:52:09 2013 -0600

    Added Json methods to readers and readerBase classes.

commit 109e88dddc524ab6247b6fa55c050ef8f23842f6
Author: Jonathan Thomas <jonathan at openshot.org>
Date:   Fri Dec 6 18:16:56 2013 -0600

    Removed unneeded overloads of Json methods

commit d8da4cb8076aa3f5b6759f0c06942358266a3e00
Author: Jonathan Thomas <jonathan at openshot.org>
Date:   Fri Dec 6 00:40:26 2013 -0600

    Added Json() methods to many methods, for loading and saving properties.

commit 4e730a3f4168af42593a518f3ba98b90ab6b5646
Author: Jonathan Thomas <jonathan at openshot.org>
Date:   Tue Dec 3 00:13:25 2013 -0600

    Integrated more JSON methods into the library.

commit 781e70fe030c93dcf65d68fa067cf47544701fcb
Author: Jonathan Thomas <jonathan at openshot.org>
Date:   Mon Nov 25 00:48:49 2013 -0600

    Updated build scripts to work with Qt5 on Mac, and also successfully tested on Ubuntu 13.10.

commit 4f8d27a147169986d596d48b73fdb69f491c7629
Author: Jonathan Thomas <jonathan at openshot.org>
Date:   Sun Nov 17 15:12:08 2013 -0600

    Changed cmake for Qt5

commit d8175effdf7a4f5d0b94bc702cc8f2855629d149
Author: Jonathan Thomas <Jonathan.Oomph at gmail.com>
Date:   Mon Nov 11 17:42:31 2013 -0600

    Added Qt video player example code, although it is not working yet.

commit cdde046ca4e0bf3b0a6804c6f617ab37e9546d46
Author: Jonathan Thomas <jonathan at openshot.org>
Date:   Wed Nov 6 23:17:35 2013 -0600

    Added PlayerBase, SDLPlayer, and QtPlayer. This forms the basis for the Player classes in libopenshot.

commit d120d24be61e4a50e7016a7844f71fce9ed29f89
Author: Jonathan Thomas <Jonathan.Oomph at gmail.com>
Date:   Mon Nov 4 17:30:14 2013 -0600

    Removed duplicate time mapping function.

commit 1e7cd7ddbb1acaaa683b869e71e48cc4247fa5fa
Author: Jonathan Thomas <Jonathan.Oomph at gmail.com>
Date:   Mon Nov 4 15:16:19 2013 -0600

    Fixed bug in AddImage() method on a frame, to copy the image instead of just pointing to it. This fixed many issues in the FrameMapper as well, which copies images alot.

commit 1bdea062d6ce7b68604a3005720c45a6098d8915
Author: Jonathan Thomas <Jonathan.Oomph at gmail.com>
Date:   Fri Oct 18 12:38:09 2013 -0500

    Added Deinterlace effect. Refactored Wipe effect into Mask effect (which is a more appropriate name). Added an example interlaced.png file. Improved the Mask to accept a 'reader', which can be used for more elaborate wipe animations.

commit dda767affaaedabccddb111072e7b591c253b12a
Author: Jonathan Thomas <Jonathan.Oomph at gmail.com>
Date:   Thu Oct 17 17:46:58 2013 -0500

    Fixed a few more show stopping bugs related to FrameMapper and converting frame rates, and re-mapping audio samples. Integrated in special handling of certain framerates (for pull down support), and Keyframe linear curves for all other frame rates.

commit e30ca3e9d6bfc8058f61465f9a5f312750835075
Author: Jonathan Thomas <Jonathan.Oomph at gmail.com>
Date:   Thu Oct 17 14:53:00 2013 -0500

    Fixed huge audio show stopping bug! Audio is now reduced to 98% of original (to prevent some samples from maxing out their values at 1.0). Also fixed an off by one error, which was leaving gaps in the samples. Nice, beautiful, smooth audio from this point forward!

commit 72b51894e590b2b5cc5048d58a65e61cdb31bf3f
Author: Jonathan Thomas <jonathan at openshot.org>
Date:   Tue Oct 15 00:45:23 2013 -0500

    Finally solved the Wipe transition issues, and improved performance by many times! The ImageMagick thread where this was solved: http://www.imagemagick.org/discourse-server/viewtopic.php?f=23&t=24241&p=103880#p103880
    
    Now, a user can apply more than 1 transition at a time, and it will preserve and correctly mix the alpha channels of all involved images! It is awesome!

commit 2b77da2fd06218d1101c03d18fedd2cbc2e1af36
Author: Jonathan Thomas <Jonathan.Oomph at gmail.com>
Date:   Mon Oct 14 18:18:34 2013 -0500

    Fixed some bugs with the Wipe effect, and am still trying to optimze the performance and make it add alpha channels correctly.

commit 3617d6be31568f0987e65b445a2676f61a2d6d9b
Author: Jonathan Thomas <Jonathan.Oomph at gmail.com>
Date:   Fri Oct 11 15:54:56 2013 -0500

    Fixed issues with Wipe transition destroying the existing alpha channel. It now adds the alpha channels together, to maintain the original... but it is very slow. I'm still looking to optimize it.

commit 092123de87fee6f6bc77dc80ec18dfa2afac0c6a
Author: Jonathan Thomas <jonathan at openshot.org>
Date:   Fri Oct 11 00:09:06 2013 -0500

    FIxed some bugs on the wipe transition, and correctly set the brightness and contrast of the wipe mask image. However, the performance is not very good using this technique.

commit 44681e34d5fd98e540ba2892b8383561517557db
Author: Jonathan Thomas <Jonathan.Oomph at gmail.com>
Date:   Thu Oct 10 17:50:54 2013 -0500

    Added Wipe effect, which powers all transitions in libopenshot

commit 642bfc659d1db789513ff3ea143e3ce75a04f804
Author: Jonathan Thomas <jonathan at openshot.org>
Date:   Sun Oct 6 18:11:33 2013 -0500

    Completed the effects integration into the Timeline class. An effect is limited to a single layer on the timeline, but can affect many clips (based on it's position and duration)

commit ffe3be756eda57ce3a274896b22f5fe6ac1ebf81
Author: Jonathan Thomas <jonathan at openshot.org>
Date:   Sun Oct 6 16:55:38 2013 -0500

    Fixed bug in clip and effect sorting by multiple attributes. They are now sorted by Position(), and then Layer(), and then Order().

commit 555efc413e138ce620a0e8a865cd0193fbc0d038
Author: Jonathan Thomas <Jonathan.Oomph at gmail.com>
Date:   Tue Oct 1 17:19:53 2013 -0500

    Sort effects as they are added to the timeline.

commit 1127a0f3ba085ba610a7475a17813388a802ca69
Author: Jonathan Thomas <Jonathan.Oomph at gmail.com>
Date:   Tue Oct 1 15:22:25 2013 -0500

    Refactored Clips into a base class called ClipBase. Effects and Clips use this base class, which allows them to be positioned and layered on the timeline. Also fixed a regression in Coordinate, which was not properly setting instance variables.

commit 79dc95a05497b858e874da05a59802eb94c77567
Author: Jonathan Thomas <Jonathan.Oomph at gmail.com>
Date:   Tue Oct 1 10:42:20 2013 -0500

    Fixed a build bug, which breaks when Qt4 and Qt5 are installed on a system.

commit 95d41f6d6f78056183f1861ac66a88c06678aad6
Author: Jonathan Thomas <jonathan at openshot.org>
Date:   Sun Sep 29 00:24:58 2013 -0500

    Added ChromaKey and Negate effects, and integrated them into the build process.

commit 21e9d9d3e3878d8646fe79d052392e3f68611ea8
Author: Jonathan Thomas <jonathan at openshot.org>
Date:   Sat Sep 28 22:00:52 2013 -0500

    1) Added EffectBase (base class of all effects)
    2) Improved SWIG bindings to include std::list and std::vector
    3) Added Effects list Timeline

commit 3596f75abc2b77104132a2c18bd9903e46d7de90
Author: Jonathan Thomas <jonathan at openshot.org>
Date:   Sun Sep 15 22:21:19 2013 -0500

    Added extra start frame to each chunk in the ChunkWriter and ChunkReader, to make sure every chunk can "stoke" the audio samples from the previous chunk. Also, added additional example code for an openshot::Frame.

commit 9801c768788a875b5e804fa9e18f24e403ea37c7
Author: Jonathan Thomas <jonathan at openshot.org>
Date:   Sat Sep 14 22:52:29 2013 -0500

    Refactored the /doc folder, added detailed illustrations to a few classes and the main page of documentation, and integrated the Official Installation Guide PDF into the documentation.

commit ec9ebd098a676165bbc7c935c4f32596b07a5d0b
Author: Jonathan Thomas <Jonathan.Oomph at gmail.com>
Date:   Fri Sep 13 17:11:38 2013 -0500

    Improved examples and documentation

commit 97a4f903c290f1b72b8c3f11ea875c442ee4967b
Author: Jonathan Thomas <jonathan at openshot.org>
Date:   Thu Sep 12 23:41:49 2013 -0500

    Added copyright and licensing to the rest of the source code in libopenshot, including the CMake build scripts, the SWIG configuration file, and even updated copyright in the README files. All files are now correctly attributed and protected now.

commit 58090ef5fc9c60e0ec9a1278e8f8ae0d0dba3cb0
Author: Jonathan Thomas <Jonathan.Oomph at gmail.com>
Date:   Thu Sep 12 17:52:10 2013 -0500

    Added license and copyright to all files. Improved many examples and documentation. Refactored the Coordinate() object, to move a few properties to methods.

commit a0c2964ac4f3b562b797045c6707b8a874db79f5
Author: Jonathan Thomas <Jonathan.Oomph at gmail.com>
Date:   Wed Sep 11 17:32:40 2013 -0500

    Improved documentation again

commit 41c2d434a8f19d332118d6a7560031d042b29df8
Author: Jonathan Thomas <jonathan at openshot.org>
Date:   Tue Sep 10 22:11:47 2013 -0500

    Improve more documentation, including descriptions of enum values.

commit 42e2f91be77dd67d121674b455cb919c6219ffc7
Author: Jonathan Thomas <Jonathan.Oomph at gmail.com>
Date:   Tue Sep 10 13:56:16 2013 -0500

    Improved more documentation on AudioBufferSource and AudioResampler

commit cbed47ea5fbdf891aaccfd294ed282e7a5c9afa2
Author: Jonathan Thomas <Jonathan.Oomph at gmail.com>
Date:   Tue Sep 10 12:59:06 2013 -0500

    Changed / Refactored many enums and structs, to better standardize the naming of everything. Improved some more descriptions and briefs.

commit 234201743a0427628d8b215c4f507a2a46a299b9
Author: Jonathan Thomas <jonathan at openshot.org>
Date:   Mon Sep 9 23:32:16 2013 -0500

    Improved more documenation, and switched to @ syntax for doxygen.

commit a97f1707383b86d46a42a18ce6aed7a42f8afa1e
Author: Jonathan Thomas <Jonathan.Oomph at gmail.com>
Date:   Mon Sep 9 17:06:07 2013 -0500

    Improved documentation, mainpage, and added some examples on ChunkReader and ChunkWriter.

commit 14a61f9c5cfa9c7470f4477f4f9fc20d21e792c2
Author: Jonathan Thomas <jonathan at openshot.org>
Date:   Sun Sep 8 23:09:54 2013 -0500

    Refactored a few methods, added new doxygen format, and improved the copyright, license, and comments & documentation for many classes and methods.

commit c244657a1189790c023d40798d460f1b79378c29
Author: Jonathan Thomas <jonathan at openshot.org>
Date:   Sun Sep 8 16:40:57 2013 -0500

    Renamed FileReaderBase and FileWriterBase to ReaderBase and WriterBase, since they are not specifically related to files.

commit a42e257521f538d76739c8624f1612dc59a8f00a
Author: Jonathan Thomas <jonathan at openshot.org>
Date:   Sun Sep 8 16:08:56 2013 -0500

    Many small improvements, bug fixes, and build system fixes for newer systems that have both qt4 and qt5.

commit 12ca79ce0bf1ac362278e38cf8324ab672ee84ae
Author: Jonathan Thomas <Jonathan.Oomph at gmail.com>
Date:   Wed Aug 28 17:00:57 2013 -0500

    Fixed bug on JSON output on a ChunkWriter. Also, moved some ChunkWriter defaults into the header.

commit ae8552fdb3c28e76a5e2dc77658f2f309e3c4982
Author: Jonathan Thomas <Jonathan.Oomph at gmail.com>
Date:   Wed Aug 28 15:28:19 2013 -0500

    Completed the ChunkReader, new exceptions for ChunkNotFound, and correctly locates and uses the chunk readers to get the requested frame.

commit fb9edb15b54a52b56b69eb3fdcdb2516cc799970
Author: Jonathan Thomas <Jonathan.Oomph at gmail.com>
Date:   Wed Aug 28 13:51:22 2013 -0500

    Hooked up the ChunkReader, integrated into cmake, and have it successfully "loading" the JSON info file and validating the chunk folder path.

commit b3c6b7979346bb755136741be3c11926065b6d7f
Author: Jonathan Thomas <Jonathan.Oomph at gmail.com>
Date:   Tue Aug 27 16:57:49 2013 -0500

    Added 3 video streams in a chunk (final, preview, and thumb) at 3 different quality versions.

commit e3636bd3e949b94e661edfc098ee46667e7054fe
Author: Jonathan Thomas <Jonathan.Oomph at gmail.com>
Date:   Tue Aug 27 14:27:24 2013 -0500

    Write JSON info file for the ChunkWriter

commit 1e2d93721d23cb9bafff76e2076d9d176ec6bf07
Author: Jonathan Thomas <Jonathan.Oomph at gmail.com>
Date:   Tue Aug 27 13:37:00 2013 -0500

    Improved ChunkWriter to create chunk folder and write JSON meta data

commit 75cda958d3866c6eb6a0da4e31c3d2d0b7d15e6a
Author: Jonathan Thomas <Jonathan.Oomph at gmail.com>
Date:   Fri Aug 2 10:03:41 2013 -0500

    Fixing Qt build instructions... so it works on Windows and Linux.

commit d9942b38b950027a4077b517889319d37d354c22
Author: Jonathan Thomas <Jonathan.Oomph at gmail.com>
Date:   Fri Aug 2 09:42:45 2013 -0500

    Added Qt example to main executable... to test build scripts on all platforms.

commit cfd6a880111b7d3f4f2b2ae7e494185ebdf298a8
Author: Jonathan Thomas <Jonathan.Oomph at gmail.com>
Date:   Thu Aug 1 13:46:01 2013 -0500

    Added a dependency to libqt4-dev in cmake, to allow for file system manipulation (creating directories, checking for existance of directories, etc...).

commit 5e3c0717b1e51b1dc48477a4ffc4eadc657607c7
Author: Jonathan Thomas <Jonathan.Oomph at gmail.com>
Date:   Thu Aug 1 13:45:09 2013 -0500

    Added more defintion to the ChunkWriter class, and added in the license file to jsoncpp.

commit b8baaef6582775805f84b2889fa460fdb3621b3d
Author: Jonathan Thomas <Jonathan.Oomph at gmail.com>
Date:   Wed Jul 31 16:18:54 2013 -0500

    Incorporated JSON library (http://jsoncpp.sourceforge.net/) into project, and tweaked build rules and headers to successfully integrate it. licensed under MIT license.

commit bcfbe60a4a882c155da6447d99a5affadc45890d
Author: Jonathan Thomas <jonathan at openshot.org>
Date:   Wed Jul 31 12:45:47 2013 -0500

    initial chunck readers/writers

commit 616be34fd613d1600a0b065d7017b20f8af1e08c
Author: Jonathan Thomas <jonathan at openshot.org>
Date:   Sun Jun 9 18:11:12 2013 -0500

    Fixed make targets for Mac

commit 4ce7cd22ba30abef65253567d3d3e84d36e9f21a
Author: Jonathan Thomas <jonathan at openshot.org>
Date:   Sun Jun 9 14:31:52 2013 -0500

    Fixed a build error on Linux... which was a regression from my previous Mac fix.

commit 6cac3827735247b32d1b051f4d18f6ccdd618011
Author: Jonathan Thomas <jonathan at openshot.org>
Date:   Sun Jun 9 01:08:23 2013 -0500

    Fixed most build warnings on Mac OS X

commit c679e857fdfe6d198d07045138dc097d68724266
Author: Jonathan Thomas <Jonathan.Oomph at gmail.com>
Date:   Fri Jun 7 13:15:41 2013 -0500

    Fixed an SDL_main macro issue which was breaking Mac builds.

commit a280399f403e51cf11df9f8b2acfe4d454c3a838
Merge: 1466ac5 62d8e68
Author: Jonathan Thomas <jonathan at openshot.org>
Date:   Thu Jun 6 23:19:48 2013 -0500

    Fixing diverged branches... and bringing it all back together. =)

commit 1466ac535bc7a4ee276767d01e90618fb027acee
Author: Jonathan Thomas <jonathan at openshot.org>
Date:   Thu Jun 6 23:15:01 2013 -0500

    Changes made to the live greenscreen display at SCALE 11X.

commit 62d8e68e136171cac0184c3fc8c87f93996c444f
Author: Jonathan Thomas <Jonathan.Oomph at gmail.com>
Date:   Thu Jun 6 15:55:42 2013 -0500

    Fixed cmake to not link to sdl_main on Windows and Mac

commit 5794ec32915d2a9786d5f362a4646ac47c00aaaf
Author: Jonathan Thomas <Jonathan.Oomph at gmail.com>
Date:   Thu Jun 6 14:03:58 2013 -0500

    Modified OpenMP linker support on Windows

commit 6171abfe1a332f0b8c06a4ccca2d565547cc225c
Author: Jonathan Thomas <Jonathan.Oomph at gmail.com>
Date:   Thu Jun 6 12:12:08 2013 -0500

    Added a Sleep.h header, which defines an OS specific sleep metho.

commit 5ce6add42f153896f53fa3e4e3ae7c13bd674f01
Author: Jonathan Thomas <Jonathan.Oomph at gmail.com>
Date:   Wed Mar 6 23:36:28 2013 -0600

    Added gravity to the TextReader, so text can be easily anchored to the corners.

commit 55aa8225eb7dda8b1070d2f98ebe6d44d3c70940
Author: Jonathan Thomas <Jonathan.Oomph at gmail.com>
Date:   Tue Feb 19 01:29:32 2013 -0600

    Added a demo with the presentation background and waveforms, for the credits.

commit 124675ce84ed1e80868431b3f4b424e82e5d0423
Author: Jonathan Thomas <Jonathan.Oomph at gmail.com>
Date:   Tue Feb 19 00:51:07 2013 -0600

    Fixed bug in timeline which always reversed audio. Added a new timecurve demo.

commit aa09fdc69bd36ed8b9a7a2045ab991a6ba15483b
Author: Jonathan Thomas <Jonathan.Oomph at gmail.com>
Date:   Fri Feb 15 00:23:55 2013 -0600

    Fixed many, many blackmagic bugs, and have a pretty good demo built.

commit c07b97d52a6a290cb6f0725fa463ac4864ed9813
Author: Jonathan Thomas <Jonathan.Oomph at gmail.com>
Date:   Wed Feb 13 02:46:55 2013 -0600

    Experimenting with image sequence performance (using Tif images)

commit 40e6f7da50ce1eaf44cd45cde1e5d4fd7cb938f0
Author: Jonathan Thomas <Jonathan.Oomph at gmail.com>
Date:   Tue Feb 12 03:16:16 2013 -0600

    Fixed a HDMI color issue, where the numbers were too big (needed /255), which fixed all my alpha animation (i.e. fading) issues with HDMI.

commit efc1ad47fe2957417a450ecf724c1a9c2e04d081
Author: Jonathan Thomas <Jonathan.Oomph at gmail.com>
Date:   Tue Feb 12 02:56:59 2013 -0600

    Added an OpenShot logo to the bottom of the screen (layer 4)

commit ca09838b0f5e40dd86d69242d83eca5b917b622e
Author: Jonathan Thomas <Jonathan.Oomph at gmail.com>
Date:   Tue Feb 12 02:42:18 2013 -0600

    Optimized the compositing of simple layers (with no transformation), by not resizing it's canvas to match the timeline.  Also, improved the Decklink reader to wait for the frame to become available (if it's in the future), and to jump ahead on the timeline if it gets behind.  Blackmagic program can now composite 4 layers in real time.

commit cc32bbf38a83985930e9e869ccaeff9e3d0895f5
Author: Jonathan Thomas <Jonathan.Oomph at gmail.com>
Date:   Tue Feb 12 01:28:48 2013 -0600

    Made decklinkOutput keep scheduling the last successfull frame, if the queue runs out.  Also, made the timeline multi-threaded, and improved the DecklinkInput.cpp to keep frames in order, by returning the correct frame based on the number.

commit 0b4cd27f6b1277dd9cc3e595d4c8236292c5a6d4
Author: Jonathan Thomas <Jonathan.Oomph at gmail.com>
Date:   Sun Feb 10 23:09:27 2013 -0600

    Tweeked some greenscreen settings

commit 4a4d9e2a34d9fe8c9132e471d541882d079fc1b1
Author: Jonathan Thomas <Jonathan.Oomph at gmail.com>
Date:   Sun Feb 10 21:16:46 2013 -0600

    Improved the timeline compositing performance, fixed some blackmagic bugs, and finally have an actual chromakey demo working!

commit 2a743123ee8541190b2d2c780917bb7fcb0dfe20
Author: Jonathan Thomas <Jonathan.Oomph at gmail.com>
Date:   Sun Feb 10 15:46:41 2013 -0600

    Improved DecklinkReader to be multi-threaded, using the OpenShot cache object to keep things in order.  Performance is very smooth on the blackmagic test executable now.

commit 09a02c0adfe8d4ceff0f60f664f724e5f6bd5341
Author: Jonathan Thomas <Jonathan.Oomph at gmail.com>
Date:   Sun Feb 10 02:19:40 2013 -0600

    Adding the initial version of the decklink writer, and a fully working (full circle) blackmagic example executabe, which processes real-time HD video and output's it via HDMI.

commit 0a13525afd86572fc53c1392cce51b2d9a2733a2
Author: Jonathan Thomas <Jonathan.Oomph at gmail.com>
Date:   Sat Feb 9 01:54:40 2013 -0600

    Completed the DecklinkReader class, and improved the conditional black magic code to include SWIG.  The Decklink reader fully works, multi-threaded, and looks good.

commit 182febe5b75de0f1b569a404140617c405a5e417
Author: Jonathan Thomas <Jonathan.Oomph at gmail.com>
Date:   Fri Feb 8 02:15:16 2013 -0600

    Fixed conditional compile flag for black magic, and improved the quality of the TextReader font rendering.

commit 78b1e9b16b9727818f45f68e95adb8c456ac0e58
Author: Jonathan Thomas <Jonathan.Oomph at gmail.com>
Date:   Thu Feb 7 17:11:23 2013 -0600

    Added a TextReader class, which renders text as an image.

commit 40e22bbafd37a746a1b0820b0e15dc4d31b34109
Author: Jonathan Thomas <Jonathan.Oomph at gmail.com>
Date:   Thu Feb 7 16:00:57 2013 -0600

    Improved cmake to ignore blackmagic if it's not found

commit 77a3342c7b8962afb3b88b592796ead1cfdc7f69
Author: Jonathan Thomas <Jonathan.Oomph at gmail.com>
Date:   Wed Feb 6 02:18:43 2013 -0600

    Moved the pop_front() method to a better spot.

commit f04e821f0d729f4d8c01b5397beeac7986215a58
Author: Jonathan Thomas <Jonathan.Oomph at gmail.com>
Date:   Wed Feb 6 02:09:21 2013 -0600

    Refactored blackmagic capture example into DecklinkCapture.cpp, and added it into libopenshot.  Also, added a new, Main_Blackmagic.cpp example program, which invokes the DecklinkCapture.cpp class.
    
    Also, built in a 20 frame buffer into the DecklinkCapture.cpp class, to discard old frames, to keep the memory from filling up.

commit 9181a3b74ad7bc3bdeef39027c01a2d2d3a25bd3
Author: Jonathan Thomas <Jonathan.Oomph at gmail.com>
Date:   Fri Feb 1 13:13:48 2013 -0600

    FIxed a bug with the blackmagic example program (capture.cpp), and checked in the start of a new DecklinkReader class.

commit fbf169a7fa35773586e065bc3bc603e235a53341
Author: Jonathan Thomas <Jonathan.Oomph at gmail.com>
Date:   Sat Jan 26 23:02:21 2013 -0600

    Added a simple chroma key method to a frame object, and added multi-threaded optimizations to the black magic capture code.

commit 6c1d0a9568aa71944be92a99848d7dd52837d8bb
Author: Jonathan Thomas <Jonathan.Oomph at gmail.com>
Date:   Sat Jan 26 16:48:41 2013 -0600

    Added initial Blackmagic support, including cmake scripts and build instructions, and a test executable.

commit d0556bc33fba8f8b881f3064db3907c4cd6eccb6
Author: Jonathan Thomas <Jonathan.Oomph at gmail.com>
Date:   Fri Jan 25 02:24:18 2013 -0600

    Fixed a big audio regression, with a buggy isnear() function, which did not take into account the amount of frames between the sample locations.

commit ebf3bad263aa134b3a23dc36c6f7a15fa3fa38bb
Author: Jonathan Thomas <Jonathan.Oomph at gmail.com>
Date:   Sun Jan 13 10:54:53 2013 -0600

    Increased the number of samples to look for gaps (based on the samples per frame value)

commit 615be6603de2c28ff160f80c2e8dc944c4df8dab
Author: Jonathan Thomas <Jonathan.Oomph at gmail.com>
Date:   Sat Jan 12 14:51:59 2013 -0600

    Changed the main() example code

commit b8d4b0b73d8d9db4119649041719af26e92c89dd
Author: Jonathan Thomas <Jonathan.Oomph at gmail.com>
Date:   Sat Jan 12 12:45:55 2013 -0600

    Fixed a big bug with the Swig wrapper, to correctly match the typemap of the tr1::shared_ptr, and then removed the GetFrameObject method, since it's no longer needed.

commit dd0314923b420354f643bf4662de1ea29cfc9c00
Author: Jonathan Thomas <Jonathan.Oomph at gmail.com>
Date:   Fri Dec 7 01:05:48 2012 -0600

    Fixed a bug where Clips were not determining their duration correctly.

commit 425ac04b1af710300cb84daeb286f7690e6dfeb1
Author: Jonathan Thomas <Jonathan.Oomph at gmail.com>
Date:   Thu Dec 6 17:58:51 2012 -0600

    Commented out some code, to prevent some regressions on the timeline

commit ad81fed72e288eae0ce93ef109df7b8e9a3e183f
Author: Jonathan Thomas <Jonathan.Oomph at gmail.com>
Date:   Tue Dec 4 02:21:01 2012 -0600

    Added alpha to all FFmpegReader source images, which is needed by the timeline class.  Also, added alpha to the AddColor() method.  Now even the background of the timeline can be transparent, along with all layers... even the bottom layer.

commit b75d8961b8ee9d168805265c1f2130d9593065ce
Author: Jonathan Thomas <Jonathan.Oomph at gmail.com>
Date:   Mon Dec 3 23:29:30 2012 -0600

    Cleaned up the Main.cpp test program, and created a nice, simple 3 layer project.

commit 0d82a4e71644966da5969d2c99f5fa803f6576f9
Author: Jonathan Thomas <Jonathan.Oomph at gmail.com>
Date:   Mon Dec 3 22:55:46 2012 -0600

    Made Keyframe objects thread safe, by generating the values as Points are added, and the Timeline's Open and Close logic was made thread safe, so a reader is not closed while it's still being accessed on another thread.  Also removed some unneeded code and comments.

commit a8fa5a91d2019e9010ebf303cb59cbfbaaa0a7cc
Author: Jonathan Thomas <Jonathan.Oomph at gmail.com>
Date:   Mon Dec 3 13:03:04 2012 -0600

    libavcodec version 54 requires a different formula for nb_samples, used in audio encoding.  So, I've added in conditional code, so audio works on the newest version of FFmpeg.

commit e264d4fcabe35e5878b3d66cecac36af5be65da8
Author: Jonathan Thomas <Jonathan.Oomph at gmail.com>
Date:   Mon Dec 3 04:51:17 2012 -0600

    Fixed a really huge audio issue, related to audio timestamps, gaps, and also mono vs stereo issues.  This is the best audio support I've accomplished thus far. =)

commit 8606ec2a6ea45a4a5b0e792ea3303836f08c6f60
Author: Jonathan Thomas <Jonathan.Oomph at gmail.com>
Date:   Thu Nov 29 23:11:50 2012 -0600

    Added wave_color attribute to the clip object, which now allows the audio wave form to animate it's color along a curve over time.  Combined with the timeline background color curve, some cool combinations can be made!

commit ab4069464a13aef4e522f1170188a3bc95ea7c08
Author: Jonathan Thomas <Jonathan.Oomph at gmail.com>
Date:   Thu Nov 29 17:28:22 2012 -0600

    Added curve-based color as the canvas background color (red, green, and blue), so it can be animated now.

commit d3ef1fac138580de8902e328d3fac387011cdf84
Author: Jonathan Thomas <Jonathan.Oomph at gmail.com>
Date:   Thu Nov 29 16:32:48 2012 -0600

    Refactored the audio waveform generation into the Timeline class.  Added the ability to set the volume, and the ability to mix layers of audio samples together.  Also, made the waveform's have a transparent background, so they can be layered on top of other layers.

commit afd9b1d6d388f64447fc436565611d587afc875f
Author: Jonathan Thomas <Jonathan.Oomph at gmail.com>
Date:   Wed Nov 21 16:57:21 2012 -0600

    Fixed more audio issues, and a regression where removing the video channel (with just an audio channel remaining) caused the FPS to be incorrect.

commit 495ca9dc9ef73a6417d135f2ca4b69e945ec2fc0
Author: Jonathan Thomas <Jonathan.Oomph at gmail.com>
Date:   Tue Nov 20 16:22:50 2012 -0600

    Fixed a big audio bug, where varying timestamp values on low precision audio timebases (i.e. 1/1000) would leave small gaps in the audio wave.  Also, fixed a few issues related to sample_rate getting lost between the reader and clip and timeline objects.

commit 7e51c204f92c88df9084ac8b2683872b65c77e02
Author: Jonathan Thomas <Jonathan.Oomph at gmail.com>
Date:   Tue Nov 20 10:15:39 2012 -0600

    Lots of debug code with some experimental audio PTS code, to adjust for small gaps in timestamps.

commit 547a0dbc63ffd2953e5646526670a596a4800369
Author: Jonathan Thomas <Jonathan.Oomph at gmail.com>
Date:   Sun Nov 18 10:45:16 2012 -0600

    Improved the flush_encoders method to not raise errors if it encounters errors encoding NULL AVFrames.

commit 4a96a3b7458a0ef605f828eb54b65b37eb69c1bc
Author: Jonathan Thomas <Jonathan.Oomph at gmail.com>
Date:   Sat Nov 17 16:10:01 2012 -0600

    Fixed an invalid audio alignment settings on avcodec_fill_audio_frame, which was crashing everything on newer versions of ffmpeg.

commit bf05afbfa7e05aaa7fe0093891519875cc1e39c2
Author: Jonathan Thomas <Jonathan.Oomph at gmail.com>
Date:   Sat Nov 17 03:13:00 2012 -0600

    Fixed the flush_encoders method to support older versions of FFmpeg

commit dbeb8d1c146551a00f3b9175ebcd76ea665bea78
Author: Jonathan Thomas <Jonathan.Oomph at gmail.com>
Date:   Sat Nov 17 02:47:48 2012 -0600

    Only use avcodec_encode_video2 if FFmpeg major version is 54

commit d6d885982c5a8f8a609419722fba395bc5d7c70e
Author: Jonathan Thomas <Jonathan.Oomph at gmail.com>
Date:   Sat Nov 17 02:17:38 2012 -0600

    Better detection of av_err2str, by using it's macro name

commit 729e6fd14c3f599f37087ff875aab6e8543930d1
Author: Jonathan Thomas <Jonathan.Oomph at gmail.com>
Date:   Sat Nov 17 01:57:57 2012 -0600

    Added in more conditional checks for older versions of FFmpeg, so libopenshot will compile on more platforms.

commit 298cfb065e93b84025db2ffb7fe3b4ffa6f9929f
Author: Jonathan Thomas <Jonathan.Oomph at gmail.com>
Date:   Fri Nov 16 17:29:12 2012 -0600

    Improved the compositing engine to more accurately compare doubles and floats.

commit 51ef59a8a4e9670538072050dd736ecd37f9a7bd
Author: Jonathan Thomas <Jonathan.Oomph at gmail.com>
Date:   Fri Nov 16 17:17:55 2012 -0600

    Removed some unneeded code

commit 8fb94cc12315c05b7e49ee4c476cc8fb117df5cd
Author: Jonathan Thomas <Jonathan.Oomph at gmail.com>
Date:   Fri Nov 16 17:15:44 2012 -0600

    Updated the FFmpegWriter to use compiler #IF commands to be compatible with older and newer versions of FFmpeg.  This is still a work in progress, but many of the newer commands are now being protected.

commit b503b5a35031559a5726c01aee149a8bfe5587a0
Author: Jonathan Thomas <Jonathan.Oomph at gmail.com>
Date:   Fri Nov 16 15:38:58 2012 -0600

    Added test code to read and write lots of JPEG files for an experimental test

commit c496ef726a9c458d2ba6e4064fcf249dc6e9a9b6
Author: Jonathan Thomas <Jonathan.Oomph at gmail.com>
Date:   Fri Nov 16 15:38:37 2012 -0600

    Fixed a SWIG error, where the base classes were not defined first.

commit f18570a271a6ad5bf91325a3749846df8c63e751
Author: Jonathan Thomas <Jonathan.Oomph at gmail.com>
Date:   Thu Nov 15 23:57:17 2012 -0600

    Removing profiler compiler reference

commit 075feffe169f2fa5e42d0a8494f9d04fc97b0db8
Author: Jonathan Thomas <Jonathan.Oomph at gmail.com>
Date:   Thu Nov 15 23:53:29 2012 -0600

    Updated path to opt.h ffmpeg include

commit d58cfec0cacf416d008261af7b366841e71e23c6
Author: Jonathan Thomas <Jonathan.Oomph at gmail.com>
Date:   Tue Nov 13 22:07:49 2012 -0600

    Added a simple X,Y offset, to speed up basic overlays.

commit 73be628047c8c86e6ff6774d3f261dc75cb27d5a
Author: Jonathan Thomas <Jonathan.Oomph at gmail.com>
Date:   Tue Nov 13 00:11:20 2012 -0600

    Replaced the opacity() method with the IM quantumOperator method, which allows me to simply multiply the alpha percentage to each alpha value, and fixed a bug in the ImageReader which prevented copying pixel data between frames.

commit bff37d007206e5614861e7ac4c14fbcb618db028
Author: Jonathan Thomas <Jonathan.Oomph at gmail.com>
Date:   Mon Nov 12 17:21:21 2012 -0600

    Added in openMP code to improve performance on the timeline layer merging, which is very CPU intensive.

commit 1ce9a970651ac0e43d487e372e99ee6238743478
Merge: d47a94f 00c952c
Author: Jonathan Thomas <Jonathan.Oomph at gmail.com>
Date:   Mon Nov 12 01:26:28 2012 -0600

    Merging diverged branch

commit d47a94f1a08db85a70d423570dcc04324edfccd2
Author: Jonathan Thomas <Jonathan.Oomph at gmail.com>
Date:   Mon Nov 12 01:25:35 2012 -0600

    Added gravity, scale type, and percentage based X,Y location settings.  All the basic transformation methods are now working.  You can layer, move, fade, snap, rotate, and scale clips on the screen.

commit 00c952c67b646e3299c6fdb742a873bed7231164
Author: Jonathan Thomas <Jonathan.Oomph at gmail.com>
Date:   Fri Nov 9 16:57:51 2012 -0600

    Updated phase 2 timeline

commit 4e2947018ca0505b83b52d2cddce983ef5e41e98
Author: Jonathan Thomas <Jonathan.Oomph at gmail.com>
Date:   Thu Nov 8 18:10:00 2012 -0600

    Fixed sub-pixel positioning by resizing the source image canvas

commit ed2469e724f9c0e807013557efbe486d876ee277
Author: Jonathan Thomas <Jonathan.Oomph at gmail.com>
Date:   Thu Nov 8 18:02:20 2012 -0600

    Integrated sub-pixel positioning using the distort operator.  Not quite working yet.

commit 5b77abdf271e157cda4fbcd3b1e9f007c55c0d13
Author: Jonathan Thomas <Jonathan.Oomph at gmail.com>
Date:   Thu Nov 8 04:35:21 2012 -0600

    The timeline classes are finally working correctly, and have the following features:
    1) Layers (unlimited # of layers)
    2) IN, OUT, and Position (time)
    3) X, Y offset
    4) Alpha
    5) Rotation
    6) Transparency + compositing + overlays

commit 42d7565ba1110b2e6d12f69284f2759cf2faebee
Author: Jonathan Thomas <Jonathan.Oomph at gmail.com>
Date:   Wed Nov 7 17:45:13 2012 -0600

    Integrated more timeline code, such as compositing layers... but they don't work yet

commit 170b73a595533b17c7f3e5fd31ab118b67a14933
Author: Jonathan Thomas <Jonathan.Oomph at gmail.com>
Date:   Wed Oct 31 01:17:12 2012 -0500

    Added a new method of getting the Frame* pointer from SWIG

commit bc116357311f555f28340fb85a85f7aecf37ebbd
Author: Jonathan Thomas <Jonathan.Oomph at gmail.com>
Date:   Tue Oct 30 18:53:26 2012 -0500

    Made a few fixes to the frame mapper

commit 7fe9008cad85caa2cedea943325e987b141379ab
Author: Jonathan Thomas <Jonathan.Oomph at gmail.com>
Date:   Mon Oct 29 01:47:39 2012 -0500

    Added a new "smooth" slow motion, using the time map fraction to dissolve the next frame into the current one.

commit 6e9f2a6a9bab5e86cd028b317b56b3e5e6345bbc
Author: Jonathan Thomas <Jonathan.Oomph at gmail.com>
Date:   Sun Oct 28 23:38:24 2012 -0500

    Changed audio and video PTS to start at 0, and it fixed the final issues I have had with generating valid videos in multiple codecs.

commit aab257402d22ca25247506e81d3c8d9b7d0ee98e
Author: Jonathan Thomas <Jonathan.Oomph at gmail.com>
Date:   Sun Oct 28 23:06:10 2012 -0500

    Fixed bug which froze the FFmpegReader when caching 1080p video.

commit 7dd94a02e42a14dcfe87b38d8c380418cf4367fa
Author: Jonathan Thomas <Jonathan.Oomph at gmail.com>
Date:   Sun Oct 28 03:35:50 2012 -0500

    Added code to flush the encoders, and also write the final frame's audio samples

commit 60ffebe1fece724b35c9fe376b131305a772d31e
Author: Jonathan Thomas <Jonathan.Oomph at gmail.com>
Date:   Sat Oct 27 21:36:08 2012 -0500

    Replaced avcodec_encode_audio with avcodec_encode_audio2, and completely redid the way PTS values are calculated and set.  Another nice improvement!

commit bf93f6941e46b1d18dc812dcfd4153a94a4e4a48
Author: Jonathan Thomas <Jonathan.Oomph at gmail.com>
Date:   Fri Oct 26 17:15:17 2012 -0500

    Fixed some major issues with the FFmpegWriter, which was not setting the correct PTS values

commit 5fcead37f2caedaed00d5f1de01274598f2c0b5b
Author: Jonathan Thomas <Jonathan.Oomph at gmail.com>
Date:   Fri Oct 26 02:11:39 2012 -0500

    Added frame counter to writer class, to help generate a valid PTS

commit a0b24c61f0859fa39a204871447c88f3312fc324
Author: Jonathan Thomas <Jonathan.Oomph at gmail.com>
Date:   Fri Oct 26 00:27:44 2012 -0500

    Fixed a huge memory leak related to cache objects, and incorrect frame sizes.  It was caching way too many frames, and creating all sorts of issues.

commit a34902f0f5ffae999a94fee2ca93d4d82e742cc0
Author: Jonathan Thomas <Jonathan.Oomph at gmail.com>
Date:   Wed Oct 24 11:10:35 2012 -0500

    Removed some unneeded code in the FFMpegWriter

commit bfa1ec82eb69263131dcb5210a91981a45123597
Author: Jonathan Thomas <Jonathan.Oomph at gmail.com>
Date:   Tue Oct 23 11:13:06 2012 -0500

    Fixed a problem with audio time map deltas, and being slowed down instead of sped up

commit 651993ff60f885d33f085ce44e575c7e1c9db9ce
Author: Jonathan Thomas <Jonathan.Oomph at gmail.com>
Date:   Mon Oct 22 23:59:36 2012 -0500

    Fixed a bug in the regression in the FFmpegReader class, which prevented frame 1 from loading

commit 49f8376fb773dee12aa391d6a98d5512300446f0
Author: Jonathan Thomas <Jonathan.Oomph at gmail.com>
Date:   Mon Oct 22 22:47:15 2012 -0500

    Fixed build issue with dummy reader

commit 612bb25f5f14110f37d9eaa8753c4ccedd8fa057
Author: Jonathan Thomas <Jonathan.Oomph at gmail.com>
Date:   Mon Oct 22 17:05:34 2012 -0500

    Fixed the FFMpegReader to discard the first audio and video frames it finds after a seek, since they sometimes are missing information.  This fixed many issues with the time mapping curves and audio reversing and fast forwarding.

commit 082efa23ccf6146d3fa09678f6edb16ea55ab781
Author: Jonathan Thomas <Jonathan.Oomph at gmail.com>
Date:   Sun Oct 21 17:51:37 2012 -0500

    Fixed more audio sample issues with time mapping

commit b74e97c7d24ae3e5fda1958b89aafd3f4006b419
Author: Jonathan Thomas <Jonathan.Oomph at gmail.com>
Date:   Sun Oct 21 05:29:29 2012 -0500

    FIxed some big audio bugs, and finally got the audio reversing correctly working.  Now, audio waves are reversed when a time map is moving backwards.  There are still some pops and crackles, but I'll fix those later.

commit 266bd45bdeeb429571324253a0a81a8f185fea34
Author: Jonathan Thomas <Jonathan.Oomph at gmail.com>
Date:   Fri Oct 19 22:24:54 2012 -0500

    Added delta() to a coordinate, to track the change in unique value on the Y axis.  This helps in time mapping, to track how many frames have been skipped.

commit 3740ca045450e31377d5f217ae0407e8b79c167d
Author: Jonathan Thomas <Jonathan.Oomph at gmail.com>
Date:   Fri Oct 19 22:11:22 2012 -0500

    Added some new methods on the keyframe class, and added some unit tests for the keyframes.

commit 33f12a70dd9ea1d71466ae009c1b1e13198b17e3
Author: Jonathan Thomas <Jonathan.Oomph at gmail.com>
Date:   Fri Oct 19 21:55:01 2012 -0500

    Fixed some FrameMapper unit tests that were broken.

commit 19612f63bde9b0cd615987c02c1eea2d962ace21
Author: Jonathan Thomas <Jonathan.Oomph at gmail.com>
Date:   Fri Oct 19 21:50:50 2012 -0500

    Fixed some bugs with the new Keyframe system, and now it generates the correct values.

commit f291700701e2ac97a4d60a0aef001fbef0f5c519
Author: Jonathan Thomas <Jonathan.Oomph at gmail.com>
Date:   Fri Oct 19 17:04:57 2012 -0500

    Updated keyframe system to only process them if they change, to improve performance.

commit 9d97ecb6d2022a92061f4d30fc713642d6c63b75
Author: Jonathan Thomas <Jonathan.Oomph at gmail.com>
Date:   Fri Oct 19 16:53:18 2012 -0500

    Improved the Keyframe and Coordinate classes, to also track the direction and a fraction representing the number of times a frame is repeated.  This will allow the time mapping to slow down audio and reverse the waveforms when necessary.

commit de40b974579a9bd958656b62d0d67e8b1f38793e
Author: Jonathan Thomas <Jonathan.Oomph at gmail.com>
Date:   Fri Oct 19 01:49:48 2012 -0500

    Added some experimental time mapping code, to resample slow or fast audio samples.

commit 5e5ca2a55cf98c91f2fc12e15c15c8034653f67c
Author: Jonathan Thomas <Jonathan.Oomph at gmail.com>
Date:   Thu Oct 18 02:58:09 2012 -0500

    Fixed a big bug on frame rate mapping, due to incorrect # of samples being copied into the new frame.  Also, implemented interalacing support, and full pulldown support (in the frame mapper).

commit 129a2fccd7628441309c6be2c142c1f8d03c4f1a
Author: Jonathan Thomas <Jonathan.Oomph at gmail.com>
Date:   Wed Oct 17 09:57:02 2012 -0500

    Many experimental changes, including a new FrameMapper that is based on FileReaderBase, and lots of debug code.

commit a57b81a734b77feeb3277ac5a3e6e52535eb0cee
Author: Jonathan Thomas <Jonathan.Oomph at gmail.com>
Date:   Tue Oct 16 16:45:31 2012 -0500

    Added a new DummyReader, which can be given any framerate, samplerate, width, height, etc... and used in unit tests, such as the FrameMap unit tests.

commit b78fca609074099faf1986c90d5189ea02928c76
Author: Jonathan Thomas <Jonathan.Oomph at gmail.com>
Date:   Mon Oct 15 17:45:20 2012 -0500

    Refactor of FrameMapper, and added in audio sample remapping..

commit acca789deffe7df470c9387f916e04bca756f0c0
Author: Jonathan Thomas <Jonathan.Oomph at gmail.com>
Date:   Mon Oct 15 13:46:11 2012 -0500

    Fixed errors in the Cache unit tests.

commit 0bab75acc8cb5067242d5ddb1873bcbd68b55885
Author: Jonathan Thomas <Jonathan.Oomph at gmail.com>
Date:   Sun Oct 14 23:24:27 2012 -0500

    Started working on the FrameMapper, to correctly map audio samples to the target framerate.

commit 48bef6b5668ffc2f9d29b449430cf6dcbec0684f
Author: Jonathan Thomas <Jonathan.Oomph at gmail.com>
Date:   Sun Oct 14 21:09:22 2012 -0500

    Removed some unneeded methods, due to the previous refactor involving shared_ptr objects.  They no longer require some special overloads which "delete" the objects in the cache.

commit 617088cebfaa0e65781b5ec0a17ad7e4441c3e83
Author: Jonathan Thomas <Jonathan.Oomph at gmail.com>
Date:   Sun Oct 14 03:43:52 2012 -0500

    Yet another huge refactor, to use shared_ptr objects instead of actual pointers, due to the difficulties in managing the lifecycle of pointers between the timeline, clip, and readers.  Seems to work great, and solves all sorts of bugs. =)

commit b647ff77c8e4f65c12ecd43a7d2a4b1f67fa1ed9
Author: Jonathan Thomas <Jonathan.Oomph at gmail.com>
Date:   Sun Oct 14 02:36:05 2012 -0500

    Fixed a regression with audio files and seeking, added a few new methods, and more accurately detect the End() of clips.

commit eace9f5efd94e98dd3bc132a836c9dc4ed649d2c
Author: Jonathan Thomas <Jonathan.Oomph at gmail.com>
Date:   Fri Oct 12 20:50:28 2012 -0500

    Fixed a regression with disabling seek on the FFmpegReader.  It runs slower than seeking, but has no artifacts of seeking, and is frame accurate.

commit 9347f2f88e0fdf71ff146c0a691fdef6a57e74e1
Author: Jonathan Thomas <Jonathan.Oomph at gmail.com>
Date:   Fri Oct 12 16:41:23 2012 -0500

    Fixed the seeking and cache code to work correctly.  Also fixed a huge memory leak with the new AVPicture structs.  Now the time mapping works both directions, and with no major memory leaks!

commit a601bcef2d858fc8a001f3b504bc34f69fa6a353
Author: Jonathan Thomas <Jonathan.Oomph at gmail.com>
Date:   Fri Oct 12 00:54:53 2012 -0500

    Another huge refactor and lots of big fixes!  Time mapping now works... mostly.  The jumpy / glitchy images have been solved by copying the AVFrame into an AVPicture, which does not get clobbered on the next decode.
    
    Also, added a new frame number overaly (in the top, left part of the image), and a new AddColor() method, to change the size and color of the frame's image...
    
    Padded the end of the FFmpegWriter / WriteTrailer() method, to avoid having a codec ignore the last many frames.

commit 217c54a5ae1d3cb8642fa9c3a9ef1461ebbcffdd
Author: Jonathan Thomas <Jonathan.Oomph at gmail.com>
Date:   Thu Oct 11 17:30:32 2012 -0500

    Major refactor to the cache object (again)!  It now uses bytes to determine how many frames to keep.

commit cebf9728c86e99eb418e3c401ddd5d42d1ab97e6
Author: Jonathan Thomas <Jonathan.Oomph at gmail.com>
Date:   Wed Oct 10 17:27:46 2012 -0500

    Refactored seek method a bit in the FFmpegReader, to fix some bugs.  Also, being changing the cache object again, on how it cleans up pointers.  Some debug code is checked in also.

commit b7792b04d826ee94e8b03a85c4af5dc88c2f6449
Author: Jonathan Thomas <Jonathan.Oomph at gmail.com>
Date:   Wed Oct 10 15:21:33 2012 -0500

    Added new method to adjust the min value of a valid frame number, added a new unlimited cache option, and fixed a bug which was preventing the timeline from calling GetFrame correctly.  Now timelines, clips, and readers are working together nicely.

commit 9966f3571d0adf3eeeff6151e42f50f4b75017b3
Author: Jonathan Thomas <Jonathan.Oomph at gmail.com>
Date:   Wed Oct 10 14:49:33 2012 -0500

    Fixed a regression with the FFmpegReader, to always get frame 1 first, to calucate the PTS offsets, etc...  Also, fixed a bug on the timeline, and now i'm 1 step closer to having it all work. =)

commit 004e76adbb33477b64986f8c9b2bb11053c7c75b
Author: Jonathan Thomas <Jonathan.Oomph at gmail.com>
Date:   Wed Oct 10 02:49:34 2012 -0500

    Added an example, trying write a timeline to the FFmpegWriter.  Not quite working yet though.

commit 780a702f5dc93e33523c89f66697c861f17a1c37
Author: Jonathan Thomas <Jonathan.Oomph at gmail.com>
Date:   Wed Oct 10 02:36:53 2012 -0500

    Added a Rotate() method to a Frame object.  Added new methods on a clip to translate frame numbers (FrameMapper and Time Curves).  Now, the Timeline, Clip, and Readers are all working with animation curves.  Pretty cool!

commit 314b57d106e84dab5d060b1d26e80fa67c0a90cc
Author: Jonathan Thomas <Jonathan.Oomph at gmail.com>
Date:   Wed Oct 10 01:58:13 2012 -0500

    Improved Timeline sort code to use both Position() and Layer().

commit 60e645da61933f0fb7fd67d72c17b96bf3a6daf0
Author: Jonathan Thomas <Jonathan.Oomph at gmail.com>
Date:   Wed Oct 10 01:07:47 2012 -0500

    Added a FrameRate() method to the timeline, to get or set the fps.  Also, added a unit test for that, and refactored some header files to be alphabetical.

commit 9d01dd7900a4c76e4f04f1c6730d2a1dd51b4eb5
Author: Jonathan Thomas <Jonathan.Oomph at gmail.com>
Date:   Wed Oct 10 00:52:47 2012 -0500

    Implemented the Close() method, so it closes all clips' readers on the timeline

commit d840297572d38732567637fb9fe5a4d3c5e8f885
Author: Jonathan Thomas <Jonathan.Oomph at gmail.com>
Date:   Tue Oct 9 10:41:07 2012 -0500

    Refactored constructor() methods on readers again, to call Open() and then Close() methods automatically, to populate the info struct.  And moved the GetFrame() call out of the Open() method, because it was unneeded and slowed down the Open() method.

commit 9d31e9cf4f5ea252125a98e180ee6af758e53511
Author: Jonathan Thomas <Jonathan.Oomph at gmail.com>
Date:   Tue Oct 9 02:09:44 2012 -0500

    Added some functionality to the timeline GetFrame() method, and build a way to update the list of opened clips, to manage which files are open and closed, etc...

commit 1d89fd140ab24d9559e2dba95bf5a42a6af61d8a
Author: Jonathan Thomas <Jonathan.Oomph at gmail.com>
Date:   Tue Oct 9 01:45:34 2012 -0500

    A big refactor of the Open() method on Readers, and the constructor of Readers.  All resource consuming code has been moved into the Open() methods, so the Clips and Timeline can control them better.

commit 87d12254ef2653bde5b52dd41e7f774c2a5d3318
Author: Jonathan Thomas <Jonathan.Oomph at gmail.com>
Date:   Mon Oct 8 16:22:18 2012 -0500

    Added Open() to the reader base class, so all readers need to have that method now.  This is to allow the timeline to better control Clips and Readers.

commit 8518071890196537705affe5c07344eb414b7ac8
Author: Jonathan Thomas <Jonathan.Oomph at gmail.com>
Date:   Mon Oct 8 15:02:52 2012 -0500

    Protected the Open() and Close() methods better, so the FFmpegReader will not crash.  Also, made the Open() method public, so the Timeline and Clip classes can control the reader better.

commit 6d790d26709119c6f05e630c3c6d4226db9f4725
Author: Jonathan Thomas <Jonathan.Oomph at gmail.com>
Date:   Fri Oct 5 17:05:33 2012 -0500

    Overloaded Clip comparison operators, to use the Position() of clips for sorthing routines.  Also, added the AddClip method, to add clips to a timeline (and sort them by position).

commit a417fef1fdadd084fa130e873b1292fa947e85c1
Author: Jonathan Thomas <Jonathan.Oomph at gmail.com>
Date:   Fri Oct 5 01:58:27 2012 -0500

    Made the Timeline class inherit from FileReaderBase, which means the Timeline is really just a fancy ready class now.  Also, added new unit tests for the Clip and Timeline classes.

commit d8fe0ddfb8fff6b5c5520c95c5cfa070d0e81c57
Author: Jonathan Thomas <Jonathan.Oomph at gmail.com>
Date:   Thu Oct 4 18:02:46 2012 -0500

    Improved the logic to decide which reader to use.  ImageReader sometimes hangs when passed "mp4" video files, so we now check for common movie extensions first.

commit 93a356c17155d6fe5a8091823f165de149149227
Author: Jonathan Thomas <Jonathan.Oomph at gmail.com>
Date:   Thu Oct 4 16:07:58 2012 -0500

    Renamed some enumerations, and added in framerate mapping into the clip object.

commit 4bd6db527eba92151f98b789b69b40849e14da05
Author: Jonathan Thomas <Jonathan.Oomph at gmail.com>
Date:   Thu Oct 4 15:07:29 2012 -0500

    Renamed some of the basic clip property getters and setters, and added some simpler ways to get the value of and add points to a key frame.

commit 268e776251842564a61effa20369498fcfac9987
Author: Jonathan Thomas <Jonathan.Oomph at gmail.com>
Date:   Thu Oct 4 14:13:13 2012 -0500

    Fixed a bug with Keyframes that only have a single coordinate, to correctly return that Y value for any requested X position.

commit 2266a4ab7a3f88ec5deb655aca3ff6a8a4e69ca9
Author: Jonathan Thomas <Jonathan.Oomph at gmail.com>
Date:   Thu Oct 4 01:34:45 2012 -0500

    Improved Clip class, and worked on constructors, file readers (image and ffmpeg), and more curves (shear, perspective, and crop)

commit e96bd5ba9897a3d3b461334f3a68cbfc78141f75
Author: Jonathan Thomas <Jonathan.Oomph at gmail.com>
Date:   Wed Oct 3 01:55:24 2012 -0500

    Added the initial timeline and clip classes, with some of the initial curves and constructors.

commit be3519558be7a373d725089cbcf7f35a3de3a441
Author: Jonathan Thomas <Jonathan.Oomph at gmail.com>
Date:   Mon Sep 10 23:58:21 2012 -0500

    Updated phase 2 project plan

commit 1bbcb1d8b38f9703bca3bcbff20fa4eb8286169e
Author: Jonathan Thomas <Jonathan.Oomph at gmail.com>
Date:   Tue Sep 4 00:39:33 2012 -0500

    Added phase 2 project plan

commit a23e32874e15910b3946faf6204c2b7bba7c5a4c
Author: Jonathan Thomas <Jonathan.Oomph at gmail.com>
Date:   Fri Aug 31 15:19:17 2012 -0500

    Tweaked the number of FFmpeg threads, to optimize codec performance.

commit 63529bd158d3e58345f23a668abd0cc257b360bf
Author: Jonathan Thomas <Jonathan.Oomph at gmail.com>
Date:   Wed Aug 29 16:07:47 2012 -0500

    Added a new experimental overlay method to a frame, which composites images from multiple frames, and adds the result to the bottom right side of the image.

commit b3cf902f2201bd18e58b4524cb511a27302318c3
Author: Jonathan Thomas <Jonathan.Oomph at gmail.com>
Date:   Wed Aug 29 15:29:15 2012 -0500

    Added a new ImageReader class, which uses ImageMagick++ to read image files, and produce openshot::Frame objects.

commit 8831dd0c49f9a2fbdcf0b334dc93ba1ba1d3662d
Author: Jonathan Thomas <Jonathan.Oomph at gmail.com>
Date:   Tue Aug 28 22:53:12 2012 -0500

    Enabled multi-threading decoding and encoding with libavcodec, setting the thread_count property.  This make a huge improvement in CPU performance, for codecs that support this property.

commit 0f3758bc29d2470d0cf2fe589e89b21330aee0d9
Author: Jonathan Thomas <Jonathan.Oomph at gmail.com>
Date:   Tue Aug 28 15:53:18 2012 -0500

    Fixed a big regression where the "omp" tag was not correct.  Also, restructured the encoder to be much faster, and changed "omp master" to "omp single".

commit c564a15ced6d5c08db99bdfe7f1d7bfbfbd49e30
Author: Jonathan Thomas <Jonathan.Oomph at gmail.com>
Date:   Sun Aug 26 02:44:05 2012 -0500

    Improved the multi-threaded code, by requiring a minimum of 8 frames to be processed by the reader.

commit 27d2cf629da66afe76f5ddd1f7cb1ebd5de4fd50
Author: Jonathan Thomas <Jonathan.Oomph at gmail.com>
Date:   Fri Aug 24 17:03:23 2012 -0500

    Added a minimum # of packets to read in the FFmpegReader, which really helps utilize the multiple threads... and improved performance by 27% overall.

commit ed697a9c159ccb4349cfa440d2d0692667292f12
Author: Jonathan Thomas <Jonathan.Oomph at gmail.com>
Date:   Fri Aug 24 15:57:49 2012 -0500

    Added pool of software image scalers to the FFmpegWriter / encoder, and removed OMP critical section.  Also, refactored some audio and video codecs, and changed "resize" to "scale" for speed improvements.

commit 1ec7128a090c7802f69dfb4d971e2f36aa2014d2
Author: Jonathan Thomas <Jonathan.Oomph at gmail.com>
Date:   Wed Aug 22 17:31:12 2012 -0500

    Fixed a huge bug where the FFmpegWriter was not scaling colors to 8 bit, and that would crash on certain colors being used in an image.  Also, added a new, experimental waveform visualization to the encoder.

commit b4873d566fb9ca1bfc53d82d50fc8cbc5366dcb3
Author: Jonathan Thomas <Jonathan.Oomph at gmail.com>
Date:   Tue Aug 21 21:51:00 2012 -0500

    Refactored to allocate less memory when not resampling audio during encoding

commit 927f320702ee789742e35804758f10536bc4361f
Author: Jonathan Thomas <Jonathan.Oomph at gmail.com>
Date:   Tue Aug 21 16:12:37 2012 -0500

    Additional testing changes

commit 87db694fcfcd3a98bdcb8d3ce88fdf9106450a65
Author: Jonathan Thomas <Jonathan.Oomph at gmail.com>
Date:   Tue Aug 21 15:31:52 2012 -0500

    Moved audio decoding outside of OMP task, and fixed all audio pops and crackles!

commit 0e235b0efbedd75336dd52106c0be131773d2e57
Author: Jonathan Thomas <Jonathan.Oomph at gmail.com>
Date:   Tue Aug 21 02:12:35 2012 -0500

    Refactored some of the FFmpegReader audio class, trying to locate the pops and cracks in the audio.

commit 2b5d3171234a35dd04323978ce79a8ee7d9b8525
Author: Jonathan Thomas <Jonathan.Oomph at gmail.com>
Date:   Mon Aug 20 22:23:31 2012 -0500

    Fixed a multi-threaded encoding bug with audio-only files.

commit b98b8f89681fec5f4ee3988c08e0780e15bbdc9d
Author: Jonathan Thomas <Jonathan.Oomph at gmail.com>
Date:   Mon Aug 20 14:26:49 2012 -0500

    Fixed many bugs on the multi-threaded encoder, simplified the API, and removed some memory leaks.

commit 97b271774491e4c9346ed84dd0a51b8db62462d3
Author: Jonathan Thomas <Jonathan.Oomph at gmail.com>
Date:   Mon Aug 20 02:59:35 2012 -0500

    Fixed many bugs on the multi-threaded FFmpegWriter.  Added audio multi-threading, and it mostly works... with a few bugs remaining.

commit 3f2855735e4e7dfc941254d2dc58d68b6f8e6286
Author: Jonathan Thomas <Jonathan.Oomph at gmail.com>
Date:   Mon Aug 20 00:02:09 2012 -0500

    Added experimental multi-threaded features to the FFmpegWriter

commit ef2435eaeab46a03ee66a11c838157ea08438415
Author: Jonathan Thomas <Jonathan.Oomph at gmail.com>
Date:   Thu Aug 16 01:27:25 2012 -0500

    Updated project plan

commit 7cb17bdb5f5fc9de3d7e6bc515709d7e42d2137b
Author: Jonathan Thomas <Jonathan.Oomph at gmail.com>
Date:   Thu Aug 16 00:53:46 2012 -0500

    Some profiling changes to test encoder performance

commit d1af1b5fefec6e52e2ae30f4c60ba5080e667bff
Author: Jonathan Thomas <Jonathan.Oomph at gmail.com>
Date:   Wed Aug 15 17:27:14 2012 -0500

    Huge refactor, switched almost all methods to using pointers for Frames, and moved some key method calls outside the critical OMP sections.  Also, refactored the sws scaler, to create a pool of 32 scalers, and give each thread it's own scaler.  This refactor resulted in a 40%+ increase in speed on the FFmpegReader class.
    
    I also added a cmake build flag for the google perftools library, to assist on profiling performance issues.

commit 9b6d4dc4a1a769e560a4d760699044d752b378ac
Author: Jonathan Thomas <Jonathan.Oomph at gmail.com>
Date:   Sun Aug 12 02:14:15 2012 -0500

    Added some additional "duration" checks, to fix bugs with reading webm files.

commit be802dafb09e2cf62788faa8afca6e9284a977f0
Author: Jonathan Thomas <Jonathan.Oomph at gmail.com>
Date:   Sat Aug 11 21:13:05 2012 -0500

    Added experimental AddEffect method to the frame object, to apply image effects

commit 1bbfa060cf0af7b02e6bd9c94d6386bd04b3cd07
Author: Jonathan Thomas <Jonathan.Oomph at gmail.com>
Date:   Sat Aug 11 20:28:05 2012 -0500

    Fixed a huge regression with PTS, that caused all sorts of issues with encoded videos, especially webm.

commit 7eeb8f7c80d9a041765af76598e2901ea5900f81
Author: Jonathan Thomas <Jonathan.Oomph at gmail.com>
Date:   Sat Aug 11 03:39:00 2012 -0500

    Added a few new options

commit 1b1b84dde84c0c9980c68af3c177ef973f9a8342
Author: Jonathan Thomas <Jonathan.Oomph at gmail.com>
Date:   Sat Aug 11 03:19:52 2012 -0500

    Added 2 additional options for SetOption, and split the preparing of streams and the writing header into separate methods.

commit 191d905299813b05453e3aa55317c8f3851a675b
Author: Jonathan Thomas <Jonathan.Oomph at gmail.com>
Date:   Sat Aug 11 02:59:03 2012 -0500

    Improved SetOption to recognize a few codecContext variables as well (such as g, qmin, and qmax)

commit 7f159b7189fc679c0dcbe34c94d01ac480595d12
Author: Jonathan Thomas <Jonathan.Oomph at gmail.com>
Date:   Thu Aug 9 15:48:10 2012 -0500

    Fixed python build install paths again

commit 2486cb87dcbe6970f1d60ae82f63bc800648e282
Author: Jonathan Thomas <Jonathan.Oomph at gmail.com>
Date:   Thu Aug 9 15:08:34 2012 -0500

    Testing new python install script

commit e983e447f1169de03794a0782307eaa3e87b1266
Author: Jonathan Thomas <Jonathan.Oomph at gmail.com>
Date:   Thu Aug 9 11:01:49 2012 -0500

    Changed SONAME to 1

commit fb9cc41ebf80d82bae8f55aead060c65230c5e41
Author: Jonathan Thomas <Jonathan.Oomph at gmail.com>
Date:   Wed Aug 8 17:28:15 2012 -0500

    Added in cmake rules for SONAME

commit 597db2cc86681ac44507e87341ef1c8c0580c3d0
Author: Jonathan Thomas <Jonathan.Oomph at gmail.com>
Date:   Wed Aug 8 12:36:52 2012 -0500

    Simplied the cmake install scripts

commit 0dcc8fc7fe44484fbef368a39fbc776086e7e85b
Author: Jonathan Thomas <Jonathan.Oomph at gmail.com>
Date:   Wed Aug 8 01:13:57 2012 -0500

    Adding a __init__.py python module, for the Debian packaging

commit 370a28905c4a4f9e1d38af89f9753b11bf1314ad
Author: Jonathan Thomas <Jonathan.Oomph at gmail.com>
Date:   Tue Aug 7 16:45:30 2012 -0500

    Update cmake build scripts to install the DOC folder, after "make doc" is run

commit e41f6210d5159ec4aec1867c366770e84b59834d
Author: Jonathan Thomas <Jonathan.Oomph at gmail.com>
Date:   Tue Aug 7 13:11:24 2012 -0500

    Fixed the cmake install files to correctly copy the header files

commit 58fff417d0bb3564be4c0ef0be174f836087c54c
Merge: 98882df d380292
Author: Jonathan Thomas <Jonathan.Oomph at gmail.com>
Date:   Tue Aug 7 11:33:49 2012 -0500

    Merging branches, which accidentally diverged.

commit 98882df9180ceaf9ea4388e59d82a2f52eaf9178
Author: Jonathan Thomas <Jonathan.Oomph at gmail.com>
Date:   Tue Aug 7 11:32:43 2012 -0500

    Fixed a bug in the cmake install file

commit d3802922103d938c91d1af4939b7bca1853e228d
Author: Jonathan Thomas <Jonathan.Oomph at gmail.com>
Date:   Mon Aug 6 20:13:01 2012 -0500

    Removed unneeded rescaling, since the codec and stream always have the same frame rate

commit 363cb8f257df1780e1179ee1094008014a251a9c
Author: Jonathan Thomas <Jonathan.Oomph at gmail.com>
Date:   Mon Aug 6 17:13:05 2012 -0500

    Commented out unused error string, which breaks ffmpeg 53

commit 74d30cf7ee93bf34563c0f575fa46efb4709226e
Author: Jonathan Thomas <Jonathan.Oomph at gmail.com>
Date:   Mon Aug 6 16:33:31 2012 -0500

    Fixed cmake files to install headers and binary library file

commit 72d6553f75289d240e17aa08f1d1f865125a2812
Author: Jonathan Thomas <Jonathan.Oomph at gmail.com>
Date:   Sun Aug 5 16:43:09 2012 -0500

    Added the ability to specify the image type and scale of any frame when calling the Save() method on a frame.  This makes it easy to save any frame as any image type at any size image... very useful indeed.

commit 67dba0cd675f1d71f9c4ec4b8e0f0e9cc6312d0a
Author: Jonathan Thomas <Jonathan.Oomph at gmail.com>
Date:   Sun Aug 5 15:17:37 2012 -0500

    Fixed the audio resampling by adding a new class called AudioResampler, which maintains state between calls to the JUCE resampler.  Maintaining state allows JUCE to remove the discontinuities between the frames, and removes all the pops and crackles.
    
    This is a major commit, and changes many things, including build scripts, new classes, and how the encoder works.

commit 41fe027f6db517f47eca7cf01435bd6dce7b91bc
Author: Jonathan Thomas <Jonathan.Oomph at gmail.com>
Date:   Sat Aug 4 01:11:12 2012 -0500

    Cleaned up the encoder code quite a bit, optimized lots of things, and fixed tons of memory leaks.

commit 1f1540f7b6d8f97dbc3d8c3b00c12e5980a16148
Author: Jonathan Thomas <Jonathan.Oomph at gmail.com>
Date:   Fri Aug 3 03:23:10 2012 -0500

    Added initial support for AVOptions, and added video encoding support.  Still needs lots of cleaning up, and custom exceptions, etc... but it's working now!

commit 5d708ecfbadc092804de2c16739003938e2c9ef0
Author: Jonathan Thomas <Jonathan.Oomph at gmail.com>
Date:   Fri Aug 3 00:32:56 2012 -0500

    Fixed a small rounding bug with the audio resampling

commit 566295d46f5f3c6d50cdf55b3292fb5b3ae84231
Author: Jonathan Thomas <Jonathan.Oomph at gmail.com>
Date:   Thu Aug 2 17:19:55 2012 -0500

    Added some new audio sample scaling code, and fixed a huge bug with scoping the AVPacket in the correct spot, which was breaking many audio codecs...  Also added a new mono audio test file.

commit 9b28da84574b773799c21b77148e110abf25933e
Author: Jonathan Thomas <Jonathan.Oomph at gmail.com>
Date:   Wed Aug 1 03:17:02 2012 -0500

    More audio refactoring, and resampling issues

commit 80ca5e83153b329d18e0101d74bcf683da56290f
Author: Jonathan Thomas <Jonathan.Oomph at gmail.com>
Date:   Mon Jul 30 11:05:36 2012 -0500

    Fixed audio resampling to now use JUCE instead of FFmpeg.  Removed lots of debug code.

commit 0aac7871a31c6531a7d7a0dbd9fa84a9a78eeb58
Author: Jonathan Thomas <Jonathan.Oomph at gmail.com>
Date:   Mon Jul 30 10:19:35 2012 -0500

    Changed AudioBufferSource to only contain a pointer to a buffer, rather than contain it's own copy of the audio samples.

commit efb38cc9d8325b123923207ff61efecc7a1a2ebd
Author: Jonathan Thomas <Jonathan.Oomph at gmail.com>
Date:   Mon Jul 30 02:37:19 2012 -0500

    Added in JUCE audio resampling, and have lots of resampling debug code still in place.

commit 8387f503a6aaeb378cde994be4810397750b4291
Author: Jonathan Thomas <Jonathan.Oomph at gmail.com>
Date:   Fri Jul 27 17:44:18 2012 -0500

    Added new exceptions for invalid sample rates and channel layouts, and fixed a bug that added video streams for some formats for no good reason.

commit ae3b8594d2976c901f46e1a18925e2eaccfc0065
Author: Jonathan Thomas <Jonathan.Oomph at gmail.com>
Date:   Fri Jul 27 13:48:58 2012 -0500

    Successfully got resampling integrated into the audio encoder.

commit 506aa19017f181d024032d28175972ee651430aa
Author: Jonathan Thomas <Jonathan.Oomph at gmail.com>
Date:   Fri Jul 27 02:35:43 2012 -0500

    Fixed many audio encoding / resampling bugs...

commit bb69ce22a887218f3f5300b04ac44bdfc84e9e2b
Author: Jonathan Thomas <Jonathan.Oomph at gmail.com>
Date:   Wed Jul 25 17:20:02 2012 -0500

    Restrctured lots of audio encoding code, and dynamically set the sample_fmt based on valid sample_fmts in the codec.

commit 7125b26357a7534291cfcbafe6848981e5a6b515
Author: Jonathan Thomas <Jonathan.Oomph at gmail.com>
Date:   Tue Jul 24 12:50:17 2012 -0500

    checking stuff in.

commit 0248a60e99b11fc68b66d85107b1209065924372
Author: Jonathan Thomas <Jonathan.Oomph at gmail.com>
Date:   Fri Jul 20 00:13:16 2012 -0500

    Replaced printf commands with custom exceptions, refactored the exceptions, and did some more testing.

commit cac43bdc17c71631137dbea24653cd2019a95083
Author: Jonathan Thomas <Jonathan.Oomph at gmail.com>
Date:   Thu Jul 19 17:10:40 2012 -0500

    Added the ability to include either audio or video streams (or both), and refactored a bit.

commit f5bd9ed1bf0b99fcf32e462d6cb418bb63209fa1
Author: Jonathan Thomas <Jonathan.Oomph at gmail.com>
Date:   Thu Jul 19 15:03:55 2012 -0500

    Added the initial encoder files, still not working though.

commit 461212c4b22cd384f197b63ead062158a59cffe7
Author: Jonathan Thomas <Jonathan.Oomph at gmail.com>
Date:   Fri Jul 13 16:56:39 2012 -0500

    Fixed doxygen param bug, and updated project plan progress

commit 1e5cffd6db87f11123fca7d28575f75b84402bef
Author: Jonathan Thomas <Jonathan.Oomph at gmail.com>
Date:   Thu Jul 12 15:55:41 2012 -0500

    Added the initial API of the FFmpegWriter class, and tweaked the build scripts and reader class.

commit 902b2ff8cde0a73c7d83b4d8d70727ef48c03bcd
Author: Jonathan Thomas <Jonathan.Oomph at gmail.com>
Date:   Mon Jul 9 15:18:24 2012 -0500

    Added the base class for the FileWriter.

commit ca6499b878a0f8b39262ac50cbafdf7e9d579ff7
Author: Jonathan Thomas <Jonathan.Oomph at gmail.com>
Date:   Mon Jul 9 01:44:45 2012 -0500

    Updated the project plan.

commit 0e233be34e87b24d27021ac6faba7168db7d8a9b
Author: Jonathan Thomas <Jonathan.Oomph at gmail.com>
Date:   Mon Jul 9 01:44:36 2012 -0500

    Added new unit tests for FFmpegReader, which tests actual pixel color values against a test video on 2 different frames.  Also, made Seek() method private.

commit 3b46aad2efe540d9813cd9f78fc053d1980eadd0
Author: Jonathan Thomas <Jonathan.Oomph at gmail.com>
Date:   Mon Jul 9 01:22:11 2012 -0500

    Added some new methods to access audio data: channels, samples, etc...  Also, added initial unit tests for the FFmpegReader class, including waveform checking against an actual audio file.

commit 0c2008461a74cdc2b097fc03ddf891589a9ebb6d
Author: Jonathan Thomas <Jonathan.Oomph at gmail.com>
Date:   Mon Jul 9 00:41:17 2012 -0500

    Fixed seek method to fallback on both streams, if one stream fails to seek.  This fixes MP3s... which have a video stream, but only a single video packet.   Also fixed the CheckWorkingFrames method to better determine when a frame is completed.

commit dfae7825ca70c301a7d12e0e6dbb130d74473c60
Author: Jonathan Thomas <Jonathan.Oomph at gmail.com>
Date:   Sun Jul 8 23:26:44 2012 -0500

    Refactored FFmpegReader code a bit, fixed many, many memory leaks, and many valgrind errors.  Now the memory seems very stable, and the seeking and stream walking seems very solid.

commit 8067cb657a5173267c32747bd3b23f460c865f18
Author: Jonathan Thomas <Jonathan.Oomph at gmail.com>
Date:   Sat Jul 7 00:58:05 2012 -0500

    Fixed a bug when seeking, and not reseting the cache's current frame.  Removed some debug code.

commit e9c243ddeb9c6595269cc70c4060b0f320b81729
Author: Jonathan Thomas <Jonathan.Oomph at gmail.com>
Date:   Fri Jul 6 16:52:13 2012 -0500

    Audio optimizations and some debug code for seeking

commit 21aa4d6b01df89df4ea9bba2967c9eec07f27e76
Author: Jonathan Thomas <Jonathan.Oomph at gmail.com>
Date:   Fri Jul 6 15:17:57 2012 -0500

    Replaced last_video_frame and last_audio_frame with a single last_frame variable, and refactored some related code.  This fixes a big audio seeking bug.

commit 457df5b2ffb874bdabc03fa28022c3a7ab745d79
Author: Jonathan Thomas <Jonathan.Oomph at gmail.com>
Date:   Fri Jul 6 02:34:18 2012 -0500

    Changed the method of determining if a frame is completed or not.

commit c7b9795c2ab4edb98e2d516eac493532399869ab
Author: Jonathan Thomas <Jonathan.Oomph at gmail.com>
Date:   Thu Jul 5 02:31:13 2012 -0500

    Updated project plan

commit e610d343f4dffaba3e0704e9a165368571784a6a
Author: Jonathan Thomas <Jonathan.Oomph at gmail.com>
Date:   Thu Jul 5 02:29:43 2012 -0500

    Added some debug messages about when a frame is "complete"

commit 25b3d70a9abf13ccfde4c234cbf45bc47b603547
Author: Jonathan Thomas <Jonathan.Oomph at gmail.com>
Date:   Thu Jul 5 00:01:42 2012 -0500

    Refactored the cache class to only apply the max frames against "previous" frames, and allow unlimited number of future frames, to account for different types of files (some which have hundreds of tiny frames, which need large future cache).

commit 53e16efd63a49299bd9828bc0d85dc3347feea8f
Author: Jonathan Thomas <Jonathan.Oomph at gmail.com>
Date:   Wed Jul 4 04:01:59 2012 -0500

    Fixed a small audio buffer issue, and removed more debug code.

commit 34a07b8d8248e5dbfa1950152c1b67f463e6fe7e
Author: Jonathan Thomas <Jonathan.Oomph at gmail.com>
Date:   Wed Jul 4 03:07:26 2012 -0500

    All known memory leaks are now fixed, and the memory seems to hold steady when looping through frames for many many minutes at a time.  Fixed a bug with av_free_packet, which was breaking after an audio decode.  Removed lots of debug statements.

commit e8d9dba8ceba01cf306f0d49fe49a0f0cf7b15e3
Author: Jonathan Thomas <Jonathan.Oomph at gmail.com>
Date:   Tue Jul 3 16:58:07 2012 -0500

    Started adding clean up code, to reduce memory footprint

commit 6553f49874fc0b8831c3849b0aa14af46530cd66
Author: Jonathan Thomas <Jonathan.Oomph at gmail.com>
Date:   Tue Jul 3 02:59:38 2012 -0500

    Made CheckSeek() threadsafe

commit a662abcfd7106f06c010f50baf30fcb1021390db
Author: Jonathan Thomas <Jonathan.Oomph at gmail.com>
Date:   Tue Jul 3 02:42:47 2012 -0500

    Fixed many bugs, including an audio crackle between packets, and fixed many multi-threading issues.

commit b87a58d816010605affe099a128be953562974d8
Merge: efe96c8 eea7b0c
Author: Jonathan Thomas <Jonathan.Oomph at gmail.com>
Date:   Mon Jul 2 19:33:08 2012 -0500

    merged branches, forgot to push

commit eea7b0c0765f6666bfec25740d3b93cc3a511f5d
Author: Jonathan Thomas <Jonathan.Oomph at gmail.com>
Date:   Mon Jul 2 17:25:07 2012 -0500

    Protected audio decoding in a omp_critical, and removed some debug code

commit efe96c88d97f6a3670292daa6dc8b1b0b20ab404
Author: Jonathan Thomas <Jonathan.Oomph at gmail.com>
Date:   Mon Jul 2 01:38:52 2012 -0500

    Added a omp critical section around the audio decoding (for now)

commit ed6b50709ddf271feb404a2b41898af1b66b5578
Author: Jonathan Thomas <Jonathan.Oomph at gmail.com>
Date:   Mon Jul 2 01:25:32 2012 -0500

    More OpenMP debug code

commit fde25cec5a544204d16122dba84334d85c2270ce
Author: Jonathan Thomas <Jonathan.Oomph at gmail.com>
Date:   Mon Jul 2 00:51:10 2012 -0500

    Lots of experimental changes with the FFmpegReader, and caching of packets.

commit 815204d235241ea9627df102e13ab4c95e01fa62
Author: Jonathan Thomas <Jonathan.Oomph at gmail.com>
Date:   Sun Jul 1 01:43:06 2012 -0500

    1) Successfully got OpenMP working with the video processing method.
    2) Added new "processing" flag, to help determine if a frame is being worked on in a thread
    3) Added a new cache Display() method, for debugging reasons

commit 311c04de233e937fefe77009b30322c25a0e7ed9
Author: Jonathan Thomas <Jonathan.Oomph at gmail.com>
Date:   Fri Jun 29 02:32:19 2012 -0500

    Another openmp tweak

commit 40680f72014d67941436892db9a01b1727f0e35c
Author: Jonathan Thomas <Jonathan.Oomph at gmail.com>
Date:   Fri Jun 29 02:02:12 2012 -0500

    Fixed a few openmp bugs in the FFmpegReader, but there are still many issues

commit d2e328509901f8de5ad8d0eb6d57bd3331632e35
Author: Jonathan Thomas <Jonathan.Oomph at gmail.com>
Date:   Thu Jun 28 15:58:39 2012 -0500

    Fixed cmake dependency for JUCE on Windows

commit bae7226481db16212629a3b478f169789e2d7444
Author: Jonathan Thomas <Jonathan.Oomph at gmail.com>
Date:   Thu Jun 28 03:49:30 2012 -0500

    Updated project plan

commit c6c011a5b914764f6457514c6a058ed90b78d110
Author: Jonathan Thomas <Jonathan.Oomph at gmail.com>
Date:   Fri Jun 22 00:26:01 2012 -0500

    Make SDL method private, so Python bindings still work

commit 361653c70330182b61e1f4ecf2fe5a3f56192faf
Author: Jonathan Thomas <Jonathan.Oomph at gmail.com>
Date:   Wed Jun 20 01:26:30 2012 -0500

    Added project plan for libOpenShot, to help schedule my time

commit 62df1bc7ac27cb4d6b0993b31000587a0c45bf08
Author: Jonathan Thomas <Jonathan.Oomph at gmail.com>
Date:   Mon Jun 18 09:26:14 2012 -0500

    openmp changes

commit e9e1b86f5ca276c5246b9b2287fa78619e05164e
Author: Jonathan Thomas <Jonathan.Oomph at gmail.com>
Date:   Sun Jun 17 23:15:47 2012 -0500

    Fixed audio code to work with the newest version of JUCE (v2.0), and removed sample programs

commit b775fff325b50e81030952aefaff88407ee37fd9
Author: Jonathan Thomas <Jonathan.Oomph at gmail.com>
Date:   Sat Jun 16 02:12:48 2012 -0500

    Got ffmpeg and juce compiling and mostly everything working again. FFmpeg is the newest version, and so is JUCE.

commit 57520f0ba3071cc117aa9fb28f249865cd89a3bf
Author: Jonathan Thomas <Jonathan.Oomph at gmail.com>
Date:   Fri Jun 15 17:46:13 2012 -0500

    Removed juce files to their own library

commit 87da6faa9247210fdd336d436978cd42d1db42ad
Author: Jonathan Thomas <Jonathan.Oomph at gmail.com>
Date:   Fri Jun 15 10:25:28 2012 -0500

    Added initial juce source code (generated from Introjucer)

commit 063c1481bdb1dbf733d89b746a656eae8ac7a830
Author: Jonathan Thomas <Jonathan.Oomph at gmail.com>
Date:   Sun Feb 26 17:22:24 2012 -0600

    Fixed a bug calculating # of samples per frame, to use FPS instead of video time base.

commit eae0c0bbfb3a1963a41f40b1c5a238f2bfdc94e8
Author: Jonathan Thomas <Jonathan.Oomph at gmail.com>
Date:   Sun Feb 26 16:45:50 2012 -0600

    FIxed a bug related to the CheckFPS method, if a video is too short to use this method, it needed to exit the function, and seek back to frame 1.

commit 403c7e512eb01c3424d9130668319b953d41f294
Author: Jonathan Thomas <Jonathan.Oomph at gmail.com>
Date:   Sun Feb 26 16:40:53 2012 -0600

    Fixed 2 bugs related to audio samples.  Each frame can now determine it's own # of samples, due to some sample rates not being divisible evenly into some frame rates.  Also, a bug was fixed that injected a bad sample into a frame's samples, when a frame received samples from multiple audio packets.

commit ba0245ac821f9abaa0bde6b6f1de5a61a520a9cb
Author: Jonathan Thomas <Jonathan.Oomph at gmail.com>
Date:   Wed Dec 21 16:49:33 2011 -0600

    fixed a bug where resampled audio was not completly copied into the audio buffer.

commit da289f93bf373f857c6463f4de69814265bfb814
Author: Jonathan Thomas <Jonathan.Oomph at gmail.com>
Date:   Sun Dec 18 02:29:34 2011 -0600

    Fixed a bug where audio was not being resampled to the correct sample format.  Also fixed a bug where the audio buffer was not being incremented correctly, and it was duplicating audio samples.   There are still a few audio bugs, but it's mostly working now.

commit b4c7a6ce81d93f6fe01f91d5e02f3a79f8b80bb9
Author: Jonathan Thomas <Jonathan.Oomph at gmail.com>
Date:   Sat Dec 17 16:16:59 2011 -0600

    Removed some invalid code to handle interlaced frames.  Improved the CheckFPS() algorithm to check for 1/2 the detected frame rate first, and then fallback to the "average frame rate".

commit f00c4206be6e3dce8c1f71ca3d876c2d8fc55987
Author: Jonathan Thomas <Jonathan.Oomph at gmail.com>
Date:   Thu Dec 15 16:11:48 2011 -0600

    Added a method to get the average # of frames over the initial 5 seconds of video, and adjust an invalid framerate, which sometimes FFmpeg detects.  Also, a Reader only initializes it's default values 1 time, and only checks frame rate 1 time, regardless of how many times your Open() and Close() the reader.

commit ade29c7d68bb554986a66f73ae54f8b83b70822c
Author: Jonathan Thomas <Jonathan.Oomph at gmail.com>
Date:   Sun Dec 11 20:42:50 2011 -0600

    Fixed tons of issues related to video timebase being different than the video framerate.  Also, added new properties for interlaced video, correctly detect pixel ratio, and fixed Display() to adjust for pixel ratio.  Also added sample_rate to a frame, so it can playback audio at the correct rate.  Refactored FFmpegReader to make most methods private, and only expose the important methods publicly.

commit e911c8cc00d23f1c0f3a59e619a01bac15612a05
Author: Jonathan Thomas <Jonathan.Oomph at gmail.com>
Date:   Mon Nov 7 17:12:25 2011 -0600

    Adjusting the FFmpegReader to correctly handle video timebase's that are different than the inverse framerate.

commit dccc01494113492a1cc12b168fc35032be943802
Author: Jonathan Thomas <Jonathan.Oomph at gmail.com>
Date:   Thu Oct 27 15:37:20 2011 -0500

    Fixed a bug with seeking the audio stream, to avoid missing samples on the first 2 frames returned.

commit 44ed83b25c64a88462e769c46a97673740908164
Author: Jonathan Thomas <Jonathan.Oomph at gmail.com>
Date:   Thu Oct 27 11:38:58 2011 -0500

    Fixed bug in Display() method for audio only files (i.e. files with no images)

commit bfc05d507d3071aec9c397e347085dae28fdc302
Author: Jonathan Thomas <Jonathan.Oomph at gmail.com>
Date:   Thu Oct 27 11:27:44 2011 -0500

    Fixed bug on Image processing, with no video or audio present.  Play() and DisplayWaveform() methods now handle not having any audio samples.

commit 28b9fbabd139616ecd4ee77cf9a86b53b5a8c893
Author: Jonathan Thomas <Jonathan.Oomph at gmail.com>
Date:   Thu Oct 27 09:40:03 2011 -0500

    Fixed some bugs related to audio only files.  Now audio only files are correctly divided into frames (30 fps), and seek correctly.

commit 324887e38113093a5ea4844c0da318f807914a06
Author: Jonathan Thomas <Jonathan.Oomph at gmail.com>
Date:   Wed Oct 26 16:52:22 2011 -0500

    Added additional unit tests for the Cache object, to verify it's cleaning up old items correctly.

commit 26083f27b7763fd297ad5d5cc83ebf5509b1b90f
Author: Jonathan Thomas <Jonathan.Oomph at gmail.com>
Date:   Wed Oct 26 14:34:14 2011 -0500

    Fixed a rounding error on mapping audio samples to frames.  Also adjusted the sample rate on the frame.Play() method to 48khz.

commit e4f95d8a997fe46e8040f9802a9b51bf20add177
Author: Jonathan Thomas <Jonathan.Oomph at gmail.com>
Date:   Wed Oct 26 00:34:48 2011 -0500

    Reworked the cache object to use a double sided queue, so I can iterate through it to find the smallest frame, and remove specific frames from the cache.  Also, fixed some additional audio bugs, and I finally have the audio being correctly distributed between frame objects.

commit fa62b307c3a6c6f9afe4c5265811e3015305a058
Author: Jonathan Thomas <Jonathan.Oomph at gmail.com>
Date:   Tue Oct 25 17:07:51 2011 -0500

    Fixed more audio bugs related to dividing samples between frames.

commit 7db9136efbdf81fb7696fcd24fe739664e575762
Author: Jonathan Thomas <Jonathan.Oomph at gmail.com>
Date:   Tue Oct 25 00:20:26 2011 -0500

    Fixed some bugs in the audio decoding.

commit 81941041e3edfd8d4e740623ff788084cd5ac8f2
Author: Jonathan Thomas <Jonathan.Oomph at gmail.com>
Date:   Mon Oct 24 17:32:26 2011 -0500

    Added a DisplayWaveform method on a frame, to help debug audio issues.  It uses ImageMagick to draw each channel and all samples in each channel.

commit 43fd6c33d0fcc535a32aed165d15da2286c07073
Author: Jonathan Thomas <Jonathan.Oomph at gmail.com>
Date:   Mon Oct 24 08:22:21 2011 -0500

    Some major refactoing of the FFmpegReader, to allow for audio and video packets that are out of order.

commit 1faa168fb35c60db66a4f5a18ffea7151ce32d94
Author: Jonathan Thomas <Jonathan.Oomph at gmail.com>
Date:   Fri Oct 14 09:47:05 2011 -0500

    Began to refactor the FFmpegReader to correctly save the audio samples with the correct frame.

commit 4646aea99f60b899315df494c1ebfadc72bc57f8
Author: Jonathan Thomas <Jonathan.Oomph at gmail.com>
Date:   Tue Oct 11 23:20:26 2011 -0500

    Fixed a bug with the SDL YUV420p color conversion.  Locally scoped Image was going out of scope, before I could get the colors completly out of it.  Race condition.

commit 161e8923afad20bae00fcdcea571af3d67301b8d
Author: Jonathan Thomas <Jonathan.Oomph at gmail.com>
Date:   Tue Oct 11 08:44:27 2011 -0500

    Initial check-in of OpenShot Library

-----------------------------------------------------------------------

-- 
libopenshot packaging



More information about the pkg-multimedia-commits mailing list