Kostya Shishkov
56d061ce9d
metasound: add last missing modes (8kHz @ 6kbps per channel)
...
Signed-off-by: Anton Khirnov <anton@khirnov.net>
11 years ago
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>
11 years ago
Kostya Shishkov
1afa8a7568
twinvq: support multiple frames per packet
...
Signed-off-by: Diego Biurrun <diego@biurrun.de>
11 years ago
Michael Niedermayer
2e7a1fdd6d
avcodec/twinvq: return the actual number of consumed bytes
...
Fixes Ticket2980
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
11 years ago
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).
12 years ago
Kostya Shishkov
3e5898782d
Voxware MetaSound decoder
12 years ago
Kostya Shishkov
86f4c59bd6
twinvq: Split VQF-specific part from common TwinVQ decoder core
...
Signed-off-by: Diego Biurrun <diego@biurrun.de>
12 years ago
Diego Biurrun
4d8d16b596
twinvq: Prefix enums and defines shared with VoxWare MetaSound
12 years ago
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>
12 years ago
Diego Biurrun
9ea24e927e
twinvq: Add proper twinvq prefixes to identifiers
12 years ago
Diego Biurrun
03039f4c8c
miscellaneous typo fixes
12 years ago
Diego Biurrun
4a2ef39442
cosmetics: Add '0' to float constants ending in '.'.
12 years ago
Diego Biurrun
6c145ecf78
twinvq: K&R formatting cosmetics
12 years ago
Clément Bœsch
1ec94b0f06
lavc: factorize ff_{thread_,re,}get_buffer error messages.
...
Coccinelle profile used:
@@
expression r, ctx, f, loglevel, str, flags;
@@
-if ((r = ff_get_buffer(ctx, f, flags)) < 0) {
- av_log(ctx, loglevel, str);
- return r;
-}
+if ((r = ff_get_buffer(ctx, f, flags)) < 0)
+ return r;
@@
expression r, ctx, f, loglevel, str;
@@
-if ((r = ff_reget_buffer(ctx, f)) < 0) {
- av_log(ctx, loglevel, str);
- return r;
-}
+if ((r = ff_reget_buffer(ctx, f)) < 0)
+ return r;
@@
expression r, ctx, f, loglevel, str, flags;
@@
-if ((r = ff_thread_get_buffer(ctx, f, flags)) < 0) {
- av_log(ctx, loglevel, str);
- return r;
-}
+if ((r = ff_thread_get_buffer(ctx, f, flags)) < 0)
+ return r;
...along with some manual patches for the remaining ones.
12 years ago
Anton Khirnov
759001c534
lavc decoders: work with refcounted frames.
12 years ago
Diego Biurrun
c242bbd8b6
Remove unnecessary dsputil.h #includes
12 years ago
Justin Ruggles
3b7d43383f
twinvq: decode directly to the user-provided AVFrame
12 years ago
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.
12 years ago
Justin Ruggles
e034cc6c60
lavc: Move vector_fmul_window to AVFloatDSPContext
...
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
12 years ago
Anton Khirnov
594d4d5df3
lavc: add a wrapper for AVCodecContext.get_buffer().
...
It will be useful in the upcoming transition to refcounted AVFrames.
12 years ago
Justin Ruggles
a903f8f087
Include libavutil/channel_layout.h instead of libavutil/audioconvert.h
...
Also reorder some other #include when applicable.
12 years ago
Michael Niedermayer
98b377004d
twinvq: make ibps check unsigned
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
12 years ago
Michael Niedermayer
b8dc5f8bb3
twinvq: check bitrate for validity avoid division by 0
...
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
12 years ago
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.
12 years ago
Justin Ruggles
335826cf5f
twinvq: set channel layout
12 years ago
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.
12 years ago
Justin Ruggles
1478a3601e
twinvq: use planar sample format
12 years ago
Anton Khirnov
36ef5369ee
Replace all CODEC_ID_* with AV_CODEC_ID_*
13 years ago
Justin Ruggles
d5a7229ba4
Add a float DSP framework to libavutil
...
Move vector_fmul() from DSPContext to AVFloatDSPContext.
13 years ago
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>
13 years ago
Martin Storsjö
9cf0841ef3
dsputil: Add ff_ prefix to the dsputil*_init* functions
...
Signed-off-by: Martin Storsjö <martin@martin.st>
13 years ago
Michael Niedermayer
35f707abe1
twinnvq: remove ;;
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
13 years ago
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.
13 years ago
Justin Ruggles
9d06037d48
twinvq: add SSE/AVX optimized sum/difference stereo interleaving
13 years ago
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.
13 years ago
Justin Ruggles
a8a6da4a0e
twinvq: check for allocation failure in init_mdct_win()
13 years ago
Justin Ruggles
e53eecd0e7
twinvq: check output buffer size before decoding
13 years ago
Justin Ruggles
5ed6817822
twinvq: return an error when the packet size is too small
13 years ago
Diego Biurrun
8671488799
Use explicit struct initializers for AVCodec declarations.
13 years ago
Diego Biurrun
adbfc605f6
doxygen: Consistently use '@' instead of '\' for Doxygen markup.
...
Signed-off-by: Diego Biurrun <diego@biurrun.de>
14 years ago
Diego Biurrun
046f3cb789
vorbis: Rename decoder/encoder files to follow general file naming scheme.
14 years ago
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>
14 years ago
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>
14 years ago
Mans Rullgard
2912e87a6c
Replace FFmpeg with Libav in licence headers
...
Signed-off-by: Mans Rullgard <mans@mansr.com>
14 years ago
Justin Ruggles
a8ae4e0e7b
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>
(cherry picked from commit 80ba1ddb58
)
14 years ago
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>
14 years ago
Diego Elio Pettenò
e7e2df27f8
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>
(cherry picked from commit d36beb3f69
)
14 years ago
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>
14 years ago
Justin Ruggles
015f9f1ad3
Change DSPContext.vector_fmul() from dst=dst*src to dest=src0*src1.
...
Signed-off-by: Mans Rullgard <mans@mansr.com>
(cherry picked from commit 6eabb0d3ad
)
14 years ago
Justin Ruggles
6eabb0d3ad
Change DSPContext.vector_fmul() from dst=dst*src to dest=src0*src1.
...
Signed-off-by: Mans Rullgard <mans@mansr.com>
14 years ago