Commit Graph

59 Commits

Author SHA1 Message Date
Kostya Shishkov 56d061ce9d metasound: add last missing modes (8kHz @ 6kbps per channel)
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2013-11-26 08:29:42 +01:00
Kostya Shishkov 669fe50595 twinvq: consume block_align+1 packets as full ones
They can be produced by VQF.

Signed-off-by: Diego Biurrun <diego@biurrun.de>
2013-11-14 13:38:10 +01:00
Kostya Shishkov 1afa8a7568 twinvq: support multiple frames per packet
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2013-11-14 13:38:10 +01:00
Kostya Shishkov 9e7b62f0fb twinvq: set block align for codecs and use it in size checks
This both allows factoring out size check for both MetaSound and TwinVQ-VQF
decoders and fixes the situation when there are several MetaSound frames
stuffed together (that happens in 8kHz @ 8kbps MetaSound in ASF for example).
2013-08-26 09:23:39 +02:00
Kostya Shishkov 3e5898782d Voxware MetaSound decoder 2013-08-08 10:52:44 +02:00
Kostya Shishkov 86f4c59bd6 twinvq: Split VQF-specific part from common TwinVQ decoder core
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2013-08-05 20:59:23 +02:00
Diego Biurrun 4d8d16b596 twinvq: Prefix enums and defines shared with VoxWare MetaSound 2013-08-05 20:19:11 +02:00
Kostya Shishkov bc909626b0 twinvq: move all bitstream reading into single place
This is required for the future addition of VoxWare MetaSound decoder, for its
functions are mostly the same but bitstream reader is completely different
and bitstream format is slightly different too.

Signed-off-by: Diego Biurrun <diego@biurrun.de>
2013-08-05 19:37:47 +02:00
Diego Biurrun 9ea24e927e twinvq: Add proper twinvq prefixes to identifiers 2013-08-01 12:44:05 +02:00
Diego Biurrun 03039f4c8c miscellaneous typo fixes 2013-07-25 19:43:32 +02:00
Diego Biurrun 4a2ef39442 cosmetics: Add '0' to float constants ending in '.'. 2013-07-25 11:33:23 +02:00
Diego Biurrun 6c145ecf78 twinvq: K&R formatting cosmetics 2013-07-25 11:17:06 +02:00
Anton Khirnov 759001c534 lavc decoders: work with refcounted frames. 2013-03-08 07:38:30 +01:00
Diego Biurrun c242bbd8b6 Remove unnecessary dsputil.h #includes 2013-02-26 00:51:34 +01:00
Justin Ruggles 3b7d43383f twinvq: decode directly to the user-provided AVFrame 2013-02-12 12:22:39 -05:00
Ronald S. Bultje 5959bfaca3 floatdsp: move butterflies_float from dsputil to avfloatdsp.
This makes wmadec/enc, twinvq and mpegaudiodec (i.e. mp2/mp3)
independent of dsputil.
2013-01-22 11:55:42 -08:00
Justin Ruggles e034cc6c60 lavc: Move vector_fmul_window to AVFloatDSPContext
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-01-16 10:45:45 +01:00
Anton Khirnov 594d4d5df3 lavc: add a wrapper for AVCodecContext.get_buffer().
It will be useful in the upcoming transition to refcounted AVFrames.
2012-12-04 21:41:59 +01:00
Justin Ruggles a903f8f087 Include libavutil/channel_layout.h instead of libavutil/audioconvert.h
Also reorder some other #include when applicable.
2012-11-11 13:35:12 -05:00
Justin Ruggles b5f628e227 twinvq: validate sample rate code
A large invalid value could cause undefined behavior when left-shifted
by 8 later in the function.
2012-11-01 11:29:19 -04:00
Justin Ruggles 335826cf5f twinvq: set channel layout 2012-11-01 11:29:19 -04:00
Justin Ruggles 8cc72ce5a0 twinvq: validate that channels is not <= 0
This could occur due to integer overflow when reading the channel count from
the extradata.
2012-11-01 11:29:19 -04:00
Justin Ruggles 1478a3601e twinvq: use planar sample format 2012-10-01 13:42:44 -04:00
Anton Khirnov 36ef5369ee Replace all CODEC_ID_* with AV_CODEC_ID_* 2012-08-07 16:00:24 +02:00
Justin Ruggles d5a7229ba4 Add a float DSP framework to libavutil
Move vector_fmul() from DSPContext to AVFloatDSPContext.
2012-06-08 13:14:38 -04:00
Mans Rullgard 4bf2e7c5f1 twinvq: fix out of bounds array access
ModeTab.fmode has only 3 elements, so indexing it with ftype
in the initialier for 'size' is invalid when ftype == FT_PPC.

This fixes crashes with gcc 4.8.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-05-01 20:17:07 +01:00
Martin Storsjö 9cf0841ef3 dsputil: Add ff_ prefix to the dsputil*_init* functions
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-02-15 22:06:34 +02:00
Justin Ruggles 0eea212943 Add avcodec_decode_audio4().
Deprecate avcodec_decode_audio3().
Implement audio support in avcodec_default_get_buffer().
Implement the new audio decoder API in all audio decoders.
2011-12-02 17:40:40 -05:00
Justin Ruggles 9d06037d48 twinvq: add SSE/AVX optimized sum/difference stereo interleaving 2011-11-11 14:13:58 -05:00
Justin Ruggles 7b966566da vqf/twinvq: pass vqf COMM chunk info in extradata
This is needed because the twinvq decoder cannot rely on bit_rate to be set.
The API documentation says that bit_rate is set by libavcodec, not by the
user.
2011-11-11 14:06:14 -05:00
Justin Ruggles a8a6da4a0e twinvq: check for allocation failure in init_mdct_win() 2011-11-11 14:06:14 -05:00
Justin Ruggles e53eecd0e7 twinvq: check output buffer size before decoding 2011-10-22 15:38:05 -04:00
Justin Ruggles 5ed6817822 twinvq: return an error when the packet size is too small 2011-10-22 15:38:05 -04:00
Diego Biurrun 8671488799 Use explicit struct initializers for AVCodec declarations. 2011-09-24 12:11:19 +02:00
Diego Biurrun adbfc605f6 doxygen: Consistently use '@' instead of '\' for Doxygen markup.
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2011-06-24 00:37:49 +02:00
Diego Biurrun 046f3cb789 vorbis: Rename decoder/encoder files to follow general file naming scheme. 2011-04-23 14:23:20 +02:00
Mans Rullgard 4538729afe Move sine windows to a separate file
These windows do not really belong in fft/mdct files and were
easily confused with the similarly named tables used by rdft.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-03-20 13:25:19 +00:00
Mans Rullgard 26f548bb59 fft: remove inline wrappers for function pointers
This removes the rather pointless wrappers (one not even inline)
for calling the fft_calc and related function pointers.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-03-19 19:49:18 +00:00
Mans Rullgard 2912e87a6c Replace FFmpeg with Libav in licence headers
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-03-19 13:33:20 +00:00
Justin Ruggles 80ba1ddb58 Remove unneeded add bias from 3 functions.
DSPContext.vector_fmul_window()
DCADSPContext.lfe_fir()
SynthFilterContext.synth_filter_float()

Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-01-31 20:28:42 +00:00
Diego Elio Pettenò d36beb3f69 Add ff_ prefix to data symbols of encoders, decoders, hwaccel, parsers, bsf.
None of these symbols should be accessed directly, so declare them as
hidden.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-01-26 16:08:45 +00:00
Justin Ruggles 6eabb0d3ad Change DSPContext.vector_fmul() from dst=dst*src to dest=src0*src1.
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-01-22 17:53:27 +00:00
Stefano Sabatini 5d6e4c160a Replace deprecated symbols SAMPLE_FMT_* with AV_SAMPLE_FMT_*, and enum
SampleFormat with AVSampleFormat.

Originally committed as revision 25730 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-11-12 11:04:40 +00:00
Måns Rullgård 49bd8e4b84 Fix grammar errors in documentation
Originally committed as revision 23904 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-06-30 15:38:06 +00:00
Måns Rullgård becfe99ad5 twinvq: remove VLAs
Originally committed as revision 23775 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-06-25 13:43:55 +00:00
Ronald S. Bultje b1078e9fe6 Move clipping of audio samples (for those codecs outputting float) from decoder
to the audio conversion routines.

Originally committed as revision 22937 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-21 17:57:48 +00:00
Stefano Sabatini 72415b2adb Define AVMediaType enum, and use it instead of enum CodecType, which
is deprecated and will be dropped at the next major bump.

Originally committed as revision 22735 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-30 23:30:55 +00:00
Måns Rullgård 1429224b04 Move FFT parts from dsputil.h to fft.h
Originally committed as revision 22235 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-06 14:34:46 +00:00
Reimar Döffinger 14b8607065 Add support for hard-coded MDCT-related ff_sine_windows tables.
Originally committed as revision 21108 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-09 13:28:04 +00:00
Vitor Sessak 9401357f01 Add missing include. Fix the following compiler warnings:
twinvq.c: In function 'decode_lsp':
twinvq.c:575: warning: implicit declaration of function 'ff_sort_nearly_sorted_floats'

Originally committed as revision 20594 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-23 22:28:45 +00:00