Commit Graph

40 Commits

Author SHA1 Message Date
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
Vitor Sessak
419b2be813 Make sorting function used in TwinVQ a shared function
Originally committed as revision 20584 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-22 22:25:58 +00:00
Carl Eugen Hoyos
adadf26bb9 Use enum FrameType as parameter to construct_perm_table().
Originally committed as revision 20480 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-08 23:37:59 +00:00
Måns Rullgård
01b2214758 Merge FFTContext and MDCTContext
Originally committed as revision 19931 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-20 17:30:20 +00:00
Vitor Sessak
6776061b04 Add two more sizes to ff_sine_windows[] and also pad it with NULLs so
that FF_ELEMS(ff_sine_windows[x]) == 1 << x.

Fix issue 1384.

Originally committed as revision 19862 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-15 16:18:16 +00:00
Vitor Sessak
bf8202f352 Formatting K&R fixes
Originally committed as revision 19732 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-08-27 16:38:57 +00:00
Vitor Sessak
d3b60aa685 100l, revision 19728 added a bug that broke twinvq decoding. I forgot to
multiply the buffer size by the number of channels.

Originally committed as revision 19730 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-08-27 15:49:05 +00:00
Vitor Sessak
0a68cd876e SSE optimized vector_clipf(). 10% faster TwinVQ decoding.
Originally committed as revision 19728 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-08-27 14:49:36 +00:00
Vitor Sessak
ce78113d5a Cosmetics: add some whitespace around operators
Originally committed as revision 19695 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-08-24 17:35:47 +00:00
Vitor Sessak
7bd4733588 TwinVQ decoder
Originally committed as revision 19682 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-08-23 01:55:54 +00:00