Commit Graph

65 Commits

Author SHA1 Message Date
Jonathan Thomas 97b2717744 Fixed many bugs on the multi-threaded FFmpegWriter. Added audio multi-threading, and it mostly works... with a few bugs remaining. 2012-08-20 02:59: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 1bbfa060cf Fixed a huge regression with PTS, that caused all sorts of issues with encoded videos, especially webm. 2012-08-11 20:28:05 -05:00
Jonathan Thomas 1b1b84dde8 Added 2 additional options for SetOption, and split the preparing of streams and the writing header into separate methods. 2012-08-11 03:19:52 -05:00
Jonathan Thomas 67dba0cd67 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.
2012-08-05 15:17:37 -05:00
Jonathan Thomas 41fe027f6d Cleaned up the encoder code quite a bit, optimized lots of things, and fixed tons of memory leaks. 2012-08-04 01:11:12 -05:00
Jonathan Thomas 1f1540f7b6 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! 2012-08-03 03:23:10 -05:00
Jonathan Thomas 566295d46f 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. 2012-08-02 17:19:55 -05:00
Jonathan Thomas 506aa19017 Fixed many audio encoding / resampling bugs... 2012-07-27 02:35:43 -05:00
Jonathan Thomas 7125b26357 checking stuff in. 2012-07-24 12:50:17 -05:00
Jonathan Thomas 0248a60e99 Replaced printf commands with custom exceptions, refactored the exceptions, and did some more testing. 2012-07-20 00:13:16 -05:00
Jonathan Thomas cac43bdc17 Added the ability to include either audio or video streams (or both), and refactored a bit. 2012-07-19 17:10:40 -05:00
Jonathan Thomas f5bd9ed1bf Added the initial encoder files, still not working though. 2012-07-19 15:03:55 -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