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
|
b7792b04d8
|
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.
|
2012-10-10 15:21:33 -05:00 |
|
Jonathan Thomas
|
9966f3571d
|
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. =)
|
2012-10-10 14:49:33 -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
|
d840297572
|
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.
|
2012-10-09 10:41:07 -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
|
a23e32874e
|
Tweaked the number of FFmpeg threads, to optimize codec performance.
|
2012-08-31 15:19:17 -05:00 |
|
Jonathan Thomas
|
8831dd0c49
|
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.
|
2012-08-28 22:53:12 -05:00 |
|
Jonathan Thomas
|
0f3758bc29
|
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".
|
2012-08-28 15:53:18 -05:00 |
|
Jonathan Thomas
|
c564a15ced
|
Improved the multi-threaded code, by requiring a minimum of 8 frames to be processed by the reader.
|
2012-08-26 02:44:05 -05:00 |
|
Jonathan Thomas
|
27d2cf629d
|
Added a minimum # of packets to read in the FFmpegReader, which really helps utilize the multiple threads... and improved performance by 27% overall.
|
2012-08-24 17:03:23 -05:00 |
|
Jonathan Thomas
|
b4873d566f
|
Refactored to allocate less memory when not resampling audio during encoding
|
2012-08-21 21:51:00 -05:00 |
|
Jonathan Thomas
|
87db694fcf
|
Moved audio decoding outside of OMP task, and fixed all audio pops and crackles!
|
2012-08-21 15:31:52 -05:00 |
|
Jonathan Thomas
|
0e235b0efb
|
Refactored some of the FFmpegReader audio class, trying to locate the pops and cracks in the audio.
|
2012-08-21 02:12:35 -05:00 |
|
Jonathan Thomas
|
3f2855735e
|
Added experimental multi-threaded features to the FFmpegWriter
|
2012-08-20 00:02:09 -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
|
9b6d4dc4a1
|
Added some additional "duration" checks, to fix bugs with reading webm files.
|
2012-08-12 02:14:15 -05:00 |
|
Jonathan Thomas
|
efb38cc9d8
|
Added in JUCE audio resampling, and have lots of resampling debug code still in place.
|
2012-07-30 02:37:19 -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
|
0c2008461a
|
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.
|
2012-07-09 00:41:17 -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
|
8067cb657a
|
Fixed a bug when seeking, and not reseting the cache's current frame. Removed some debug code.
|
2012-07-07 00:58:05 -05:00 |
|
Jonathan Thomas
|
e9c243ddeb
|
Audio optimizations and some debug code for seeking
|
2012-07-06 16:52:13 -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 |
|