Michael Niedermayer
34f5a59ad5
avcodec: Set AV_CODEC_CAP_CHANNEL_CONF in more decoders
...
Suggested-by: Paul B Mahol <onemda@gmail.com>
See: [FFmpeg-devel] [PATCH 1/3] avcodec/fastaudio: Check channels
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
4 years ago
Paul B Mahol
92396cee60
avformat: add CRI AAX demuxer
4 years ago
Andreas Rheinhardt
340e6b0185
avcodec/adxdec: Remove unnecessary left-shift
...
Replace "(a * (1 << shift) * b + c) >> shift" by "a * b + (c >> shift)".
It is equivalent to the old code because a is in the range of uint16_t,
shift is 12 and b is effectively a signed 4-bit number, so that no
overflow/truncation of high bits happens during the multiplication
(overflow would be undefined anyway).
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
5 years ago
Michael Niedermayer
d23727e042
avcodec/adxdec: Fix runtime error: left shift of negative value -1
...
Fixes: 705/clusterfuzz-testcase-5129572590813184
Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/targets/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
8 years ago
Diego Biurrun
a25dac976a
Use bitstream_init8() where appropriate
8 years ago
Alexandra Hájková
4e25051031
adx: Convert to the new bitstream reader
8 years ago
Vittorio Giovara
def97856de
lavc: AV-prefix all codec capabilities
...
Express bitfields more simply.
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
10 years ago
Anton Khirnov
d5cf5afabb
adxdec: get rid of an avpriv function
...
The only thing the demuxer needs is the sample rate to set the timebase,
which can be simply read with AV_RB32.
11 years ago
Michael Niedermayer
8aead3ffa8
avformat/adxdec: dont return random data on EOF
...
Fixes use of uninitialized memory
Partly fixes; msan_uninit-mem_7fb7d24780d0_2744_R03T.CAK
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
11 years ago
Diego Biurrun
b2bed9325d
cosmetics: Group .name and .long_name together in codec/format declarations
11 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
Justin Ruggles
0588935e64
adx: decode directly to the user-provided AVFrame
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
cbcd497f38
adxdec: use planar sample format
12 years ago
Anton Khirnov
36ef5369ee
Replace all CODEC_ID_* with AV_CODEC_ID_*
13 years ago
Michael Niedermayer
8dfb13ea59
adxdec: Check available space before decoding block.
...
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
13 years ago
Justin Ruggles
730280f90d
adxdec: clear eof flag and channel states when seeking
13 years ago
Michael Niedermayer
4f1a787744
adxdec: Do not require extradata.
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Justin Ruggles <justin.ruggles@gmail.com>
13 years ago
Michael Niedermayer
6b6b84ae16
adxdec: Fix division by zero
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
13 years ago
Michael Niedermayer
bdd62a615a
adxdec: Do not require extradata.
...
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
9d2dd356c2
adx: rename ff_adx_decode_header() to avpriv_adx_decode_header()
...
It is used by the ADX decoder, and therefore needs to be exported in order to
work with shared libs.
13 years ago
Justin Ruggles
27360ccc5e
adx: add an ADX parser.
...
This simplifies the decoder so it doesn't have to process an in-packet header
or handle arbitrary-sized packets. It also fixes decoding of files with large
headers.
13 years ago
Justin Ruggles
d8cec2d7fc
adx: move header decoding to ADX common code
13 years ago
Justin Ruggles
7ff55d9bdb
adx: calculate the number of blocks in a packet
13 years ago
Justin Ruggles
05c1f11b56
adx: define and use 2 new macro constants BLOCK_SIZE and BLOCK_SAMPLES
13 years ago
Justin Ruggles
d1745619db
adx: check for unsupported ADX formats
13 years ago
Justin Ruggles
b237248e29
adx: calculate correct LPC coeffs
...
Instead of using fixed coefficients, the correct way is to calculate the
coefficients using the highpass cutoff frequency from the ADX stream header
and the sample rate.
13 years ago
Justin Ruggles
954d94dd5e
adx: use 12-bit coefficients instead of 14-bit to avoid integer overflow
13 years ago
Justin Ruggles
c52ddc6024
adx: simplify adx_decode() by using get_sbits() to read residual samples
13 years ago
Justin Ruggles
ca9e4727ba
adx: fix the data offset parsing in adx_decode_header()
...
first 2 bytes are 0x80, 0x00. offset is only 16-bit.
this is according to format descriptions on multimedia wiki and wikipedia.
13 years ago
Justin Ruggles
837bbd19eb
adx: remove unneeded post-decode channel interleaving
...
instead interleave channels while decoding
13 years ago
Justin Ruggles
e2d1eace00
adx: validate header values
13 years ago
Justin Ruggles
8db67610c0
adx: cosmetics: general pretty-printing and comment clean-up
13 years ago
Justin Ruggles
fbc79a9101
adx: remove useless comments
13 years ago
Justin Ruggles
e0722d7fb7
adx: change short to int16_t
13 years ago
Justin Ruggles
dd1b9f7cd9
adx: rename struct PREV to ADXChannelState
13 years ago
Anton Khirnov
ec6402b7c5
lavc: use designated initialisers for all codecs.
...
It's more readable and less prone to breakage.
14 years ago
Mans Rullgard
2912e87a6c
Replace FFmpeg with Libav in licence headers
...
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
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
14 years ago
Diego Biurrun
ba87f0801d
Remove explicit filename from Doxygen @file commands.
...
Passing an explicit filename to this command is only necessary if the
documentation in the @file block refers to a file different from the
one the block resides in.
Originally committed as revision 22921 to svn://svn.ffmpeg.org/ffmpeg/trunk
15 years ago
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
15 years ago
Thilo Borgmann
7a00bbad21
Implement avcodec_decode_video2(), _audio3() and _subtitle2() which takes an
...
AVPacket argument rather than a const uint8_t *buf + int buf_size. This allows
passing of packet-specific flags from demuxer to decoder, such as the keyframe
flag, which appears necessary to playback corePNG P-frames.
Patch by Thilo Borgmann thilo.borgmann googlemail com, see also the thread
"Google Summer of Code participation" on the mailinglist.
Originally committed as revision 18351 to svn://svn.ffmpeg.org/ffmpeg/trunk
16 years ago
Diego Biurrun
0ffbc258aa
Change a bunch of codec long_names to be more consistent and descriptive.
...
Originally committed as revision 17716 to svn://svn.ffmpeg.org/ffmpeg/trunk
16 years ago
Diego Biurrun
bad5537e2c
Use full internal pathname in doxygen @file directives.
...
Otherwise doxygen complains about ambiguous filenames when files exist
under the same name in different subdirectories.
Originally committed as revision 16912 to svn://svn.ffmpeg.org/ffmpeg/trunk
16 years ago
Diego Biurrun
99ed41a808
Fix filenames in Doxygen comments.
...
Originally committed as revision 16811 to svn://svn.ffmpeg.org/ffmpeg/trunk
16 years ago
Diego Biurrun
6a5d31ac25
Fix build: Add intreadwrite.h and bswap.h #includes where necessary.
...
Originally committed as revision 16556 to svn://svn.ffmpeg.org/ffmpeg/trunk
16 years ago