Jonathan Thomas
470853e34d
Updated compatibility with the latest LibAV API
2015-02-05 16:00:18 -06:00
Jonathan Thomas
ff60450f4f
Completely rewrote audio encoding API (old one was depreciated)
...
Integrated new debug output, which makes troubleshooting issues much easier
Simplified the Writer API calls (some methods now get automatically called if needed). Now a few simple methods can write an entire video file.
2015-02-05 00:06:07 -06:00
Jonathan Thomas
cc7a0f41e8
Added new debug methods, and refactored the ReaderBase and WriterBase to better utilize the base class constructor. Also fixed some FFMpegReader issues related to seeking and determining when frames are actually ready.
2014-08-27 09:44:27 -05:00
Jonathan Thomas
e135eb5738
Changed license to LGPLv3 for all libopenshot code.
2014-07-11 16:52:14 -05:00
Jonathan Thomas
352e5904d8
Switched my simple bitshifting to use the ImageMagick ScaleQuantumToChar() method, which handles all the different bit depths and data types that ImageMagick can be compiled with.
2014-07-03 22:41:01 -05:00
Jonathan Thomas
77f4586f21
Fixed a bug with bitshifting float color values. ImageMagick can be built with different types of Quantum color values, and Im trying to make libopenshot work seemlessl with them.
2014-07-03 17:52:16 -05:00
Jonathan Thomas
b224d7d8fa
Adjusted ImageMagick code to dynamically calculate the quantum depth, and bitshift between that depth and the 8bit colors for FFmpeg.
2014-07-03 12:26:02 -05:00
Jonathan Thomas
6bdc12f6a2
Fixed build errors on newer versions of libAV and FFmpeg
2014-06-20 14:41:19 -05:00
Jonathan Thomas
e073ad89f5
Fixed many issues with the QtPlayer and related classes. Now the VideoRenderer can be passed through SWIG and connected to a PyQt application and handle display signals for each frame. Also, refactored some OpenMP settings into its own header.
2014-04-02 16:48:27 -05:00
Jonathan Thomas
5010f6252a
Replaced all copyright and licensing to reflect AGPLv3 license. Also, added a bad ass version header, which is now integrated into CMake as well. A single place to indicate version and ABI/API compatibility.
2014-03-29 18:49:22 -05:00
Jonathan Thomas
bc4e58c601
1) Reduced all openmp to use /2 the available CPUs (for performance reasons)
...
2) Improved detection of pixel format (enabled GIF support.. although it is still flawed a bit)
3) Improved error reporting when video encoding issues happen
2014-03-29 15:39:43 -05:00
Jonathan Thomas
4ee7ef9b6e
Added experimental AudioBufferSource and refactored lots of audio code.
2014-01-28 17:17:38 -06:00
Jonathan Thomas
58090ef5fc
Added license and copyright to all files. Improved many examples and documentation. Refactored the Coordinate() object, to move a few properties to methods.
2013-09-12 17:52:10 -05:00
Jonathan Thomas
cbed47ea5f
Changed / Refactored many enums and structs, to better standardize the naming of everything. Improved some more descriptions and briefs.
2013-09-10 12:59:06 -05:00
Jonathan Thomas
c244657a11
Renamed FileReaderBase and FileWriterBase to ReaderBase and WriterBase, since they are not specifically related to files.
2013-09-08 16:40:57 -05:00
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
a8fa5a91d2
libavcodec version 54 requires a different formula for nb_samples, used in audio encoding. So, I've added in conditional code, so audio works on the newest version of FFmpeg.
2012-12-03 13:03:04 -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
d3ef1fac13
Refactored the audio waveform generation into the Timeline class. Added the ability to set the volume, and the ability to mix layers of audio samples together. Also, made the waveform's have a transparent background, so they can be layered on top of other layers.
2012-11-29 16:32:48 -06:00
Jonathan Thomas
547a0dbc63
Improved the flush_encoders method to not raise errors if it encounters errors encoding NULL AVFrames.
2012-11-18 10:45:16 -06:00
Jonathan Thomas
4a96a3b745
Fixed an invalid audio alignment settings on avcodec_fill_audio_frame, which was crashing everything on newer versions of ffmpeg.
2012-11-17 16:10:01 -06:00
Jonathan Thomas
bf05afbfa7
Fixed the flush_encoders method to support older versions of FFmpeg
2012-11-17 03:13:00 -06:00
Jonathan Thomas
dbeb8d1c14
Only use avcodec_encode_video2 if FFmpeg major version is 54
2012-11-17 02:47:48 -06:00