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
Jonathan Thomas
457df5b2ff
Changed the method of determining if a frame is completed or not.
2012-07-06 02:34:18 -05:00
Jonathan Thomas
e610d343f4
Added some debug messages about when a frame is "complete"
2012-07-05 02:29:43 -05:00
Jonathan Thomas
25b3d70a9a
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).
2012-07-05 00:01:42 -05:00
Jonathan Thomas
53e16efd63
Fixed a small audio buffer issue, and removed more debug code.
2012-07-04 04:01:59 -05:00
Jonathan Thomas
34a07b8d82
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.
2012-07-04 03:07:26 -05:00
Jonathan Thomas
e8d9dba8ce
Started adding clean up code, to reduce memory footprint
2012-07-03 16:58:07 -05:00
Jonathan Thomas
6553f49874
Made CheckSeek() threadsafe
2012-07-03 02:59:38 -05:00
Jonathan Thomas
a662abcfd7
Fixed many bugs, including an audio crackle between packets, and fixed many multi-threading issues.
2012-07-03 02:42:47 -05:00
Jonathan Thomas
eea7b0c076
Protected audio decoding in a omp_critical, and removed some debug code
2012-07-02 17:25:07 -05:00
Jonathan Thomas
ed6b50709d
More OpenMP debug code
2012-07-02 01:25:32 -05:00
Jonathan Thomas
fde25cec5a
Lots of experimental changes with the FFmpegReader, and caching of packets.
2012-07-02 00:51:10 -05:00
Jonathan Thomas
815204d235
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
2012-07-01 01:43:06 -05:00
Jonathan Thomas
311c04de23
Another openmp tweak
2012-06-29 02:32:19 -05:00
Jonathan Thomas
40680f7201
Fixed a few openmp bugs in the FFmpegReader, but there are still many issues
2012-06-29 02:02:12 -05:00