Andreas Rheinhardt
790f793844
avutil/common: Don't auto-include mem.h
...
There are lots of files that don't need it: The number of object
files that actually need it went down from 2011 to 884 here.
Keep it for external users in order to not cause breakages.
Also improve the other headers a bit while just at it.
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
10 months ago
Andreas Rheinhardt
e559f8428f
avcodec: Remove unnecessary fft, dct inclusions
...
Also remove some internal.h inclusions which have been
unnecessarily added recently.
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
2 years ago
Lynne
7af43a46d9
twinvq: convert to lavu/tx
2 years ago
Andreas Rheinhardt
6856cabd13
avcodec/metasound_data: Move data shared with twinvq into a new file
...
Namely into a header metasound_twinvq_data.h included
in twinvq.c (the common file of MetaSound and TwinVQ).
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
2 years ago
Andreas Rheinhardt
66b691f99f
avcodec/internal: Move ff_get_buffer() to decode.h
...
Only used by decoders (encoders have ff_encode_alloc_frame()).
Also clean up the other headers a bit while removing now redundant
internal.h inclusions.
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
2 years ago
Andreas Rheinhardt
ce7dbd0481
avcodec/codec_internal: Make FFCodec.decode use AVFrame*
...
This increases type-safety by avoiding conversions from/through void*.
It also avoids the boilerplate "AVFrame *frame = data;" line
for non-subtitle decoders.
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
3 years ago
Vittorio Giovara
9386ca98b6
twinvq: convert to new channel layout API
...
Signed-off-by: James Almer <jamrial@gmail.com>
3 years ago
Andreas Rheinhardt
f5d6c78a88
avcodec/metasound, twinvqdec: Cleanup generically upon init failure
...
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
3 years ago
Limin Wang
afaaf27fc4
avcodec/twinvq: remove FF_ALLOCZ_ARRAY_OR_GOTO and gotos label
...
Signed-off-by: Limin Wang <lance.lmwang@gmail.com>
5 years ago
Michael Niedermayer
97f778e9c5
avcodec/twinvq: Check block_align
...
Fixes: signed integer overflow: 538976288 * 8 cannot be represented in type 'int'
Fixes: 18348/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_METASOUND_fuzzer-6681325716635648
Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
5 years ago
Vittorio Giovara
7c6eb0a1b7
lavc: AV-prefix all codec flags
...
Convert doxygen to multiline and express bitfields more simply.
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
10 years ago
Michael Niedermayer
fc9ced41e4
avcodec/twinvq: Use avpriv_float_dsp_alloc()
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
10 years ago
Michael Niedermayer
4ffec6d933
avcodec/twinvq: Use av_freep() to avoid leaving stale pointers in memory
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
10 years ago
Michael Niedermayer
6f48c60956
avcodec/twinvq: Use FF_ALLOC_ARRAY_OR_GOTO()
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
11 years ago
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
13 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