Jonathan Thomas
a42e257521
Many small improvements, bug fixes, and build system fixes for newer systems that have both qt4 and qt5.
2013-09-08 16:08:56 -05:00
Jonathan Thomas
6cac382773
Fixed most build warnings on Mac OS X
2013-06-09 01:08:23 -05:00
Jonathan Thomas
6171abfe1a
Added a Sleep.h header, which defines an OS specific sleep metho.
2013-06-06 12:12:08 -05:00
Jonathan Thomas
c07b97d52a
Experimenting with image sequence performance (using Tif images)
2013-02-13 02:46:55 -06:00
Jonathan Thomas
d0556bc33f
Fixed a big audio regression, with a buggy isnear() function, which did not take into account the amount of frames between the sample locations.
2013-01-25 02:24:18 -06:00
Jonathan Thomas
b8d4b0b73d
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.
2013-01-12 12:45:55 -06:00
Jonathan Thomas
e264d4fcab
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. =)
2012-12-03 04:51:17 -06:00
Jonathan Thomas
495ca9dc9e
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.
2012-11-20 16:22:50 -06:00
Jonathan Thomas
7e51c204f9
Lots of debug code with some experimental audio PTS code, to adjust for small gaps in timestamps.
2012-11-20 10:15:39 -06:00
Jonathan Thomas
170b73a595
Added a new method of getting the Frame* pointer from SWIG
2012-10-31 01:17:12 -05:00
Jonathan Thomas
612bb25f5f
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.
2012-10-22 17:05:34 -05:00
Jonathan Thomas
48bef6b566
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.
2012-10-14 21:09:22 -05:00
Jonathan Thomas
617088cebf
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. =)
2012-10-14 03:43:52 -05:00
Jonathan Thomas
eace9f5efd
Fixed a regression with disabling seek on the FFmpegReader. It runs slower than seeking, but has no artifacts of seeking, and is frame accurate.
2012-10-12 20:50:28 -05:00
Jonathan Thomas
a601bcef2d
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.
2012-10-12 00:54:53 -05:00
Jonathan Thomas
cebf9728c8
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.
2012-10-10 17:27:46 -05:00
Jonathan Thomas
60e645da61
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.
2012-10-10 01:07:47 -05:00
Jonathan Thomas
1d89fd140a
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.
2012-10-09 01:45:34 -05:00
Jonathan Thomas
8518071890
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.
2012-10-08 15:02:52 -05:00
Jonathan Thomas
d1af1b5fef
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.
2012-08-15 17:27:14 -05:00
Jonathan Thomas
461212c4b2
Fixed doxygen param bug, and updated project plan progress
2012-07-13 16:56:39 -05:00
Jonathan Thomas
1e5cffd6db
Added the initial API of the FFmpegWriter class, and tweaked the build scripts and reader class.
2012-07-12 15:55:41 -05:00
Jonathan Thomas
0e233be34e
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.
2012-07-09 01:44:36 -05:00
Jonathan Thomas
dfae7825ca
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.
2012-07-08 23:26:44 -05:00
Jonathan Thomas
21aa4d6b01
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.
2012-07-06 15:17:57 -05:00