Commit Graph

64 Commits

Author SHA1 Message Date
Jonathan Thomas
2b5d317123 Fixed a multi-threaded encoding bug with audio-only files. 2012-08-20 22:23:31 -05:00
Jonathan Thomas
b98b8f8968 Fixed many bugs on the multi-threaded encoder, simplified the API, and removed some memory leaks. 2012-08-20 14:26:49 -05:00
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
7cb17bdb5f Some profiling changes to test encoder performance 2012-08-16 00:53:46 -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
be802dafb0 Added experimental AddEffect method to the frame object, to apply image effects 2012-08-11 21:13:05 -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
7eeb8f7c80 Added a few new options 2012-08-11 03:39:00 -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
191d905299 Improved SetOption to recognize a few codecContext variables as well (such as g, qmin, and qmax) 2012-08-11 02:59:03 -05:00
Jonathan Thomas
d380292210 Removed unneeded rescaling, since the codec and stream always have the same frame rate 2012-08-06 20:13:01 -05:00
Jonathan Thomas
74d30cf7ee Fixed cmake files to install headers and binary library file 2012-08-06 16:33:31 -05:00
Jonathan Thomas
72d6553f75 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. 2012-08-05 16:43:09 -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
5d708ecfba Fixed a small rounding bug with the audio resampling 2012-08-03 00:32:56 -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
9b28da8457 More audio refactoring, and resampling issues 2012-08-01 03:17:02 -05:00
Jonathan Thomas
0aac7871a3 Changed AudioBufferSource to only contain a pointer to a buffer, rather than contain it's own copy of the audio samples. 2012-07-30 10:19:35 -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
8387f503a6 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. 2012-07-27 17:44:18 -05:00
Jonathan Thomas
506aa19017 Fixed many audio encoding / resampling bugs... 2012-07-27 02:35:43 -05:00