Luca Barbato
50cf5a7fb7
atrac3: Error on impossible encoding/channel combinations
...
Joint stereo encoded mono is impossible.
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
2013-07-09 10:49:29 +02:00
Luca Barbato
22e76ec635
atrac3: set the getbits context the right buffer_end
...
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
2013-07-09 10:49:29 +02:00
Luca Barbato
874c8a17ac
atrac3: fix error handling
...
decode_tonal_components returns a proper AVERROR.
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
2013-07-09 10:49:29 +02:00
Diego Biurrun
6fee1b90ce
avcodec: Add av_cold attributes to init functions missing them
2013-05-04 21:09:45 +02:00
Xi Wang
eba1ff3130
atrac3: avoid oversized shifting in decode_bytes()
...
When `off' is 0, `0x537F6103 << 32' in the following expression invokes
undefined behavior, the result of which is not necessarily 0.
(0x537F6103 >> (off * 8)) | (0x537F6103 << (32 - (off * 8)))
Avoid oversized shifting.
CC: libav-stable@libav.org
Signed-off-by: Xi Wang <xi.wang@gmail.com>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-03-15 12:51:10 +01:00
Diego Biurrun
6d97484d72
avcodec: av_log_ask_for_sample() ---> avpriv_request_sample()
2013-03-13 21:20:12 +01:00
Anton Khirnov
759001c534
lavc decoders: work with refcounted frames.
2013-03-08 07:38:30 +01:00
Justin Ruggles
9a75ace2b2
atrac3: decode directly to the user-provided AVFrame
2013-02-12 12:21:21 -05:00
Michael Karcher
0e3afacd4d
atrac3: use correct loop variable in add_tonal_components()
...
Signed-off-by: Michael Karcher <ffmpeg@mkarcher.dialup.fu-berlin.de>
Signed-off-by: Justin Ruggles <justin.ruggles@gmail.com>
CC:libav-stable@libav.org
2013-01-25 16:16:24 -05: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
44d854a518
atrac3: return an error if extradata_size is not a specific known size
...
Also fixes 3 compiler warnings about using uninitialized variables.
2012-10-23 14:35:27 -04:00
Justin Ruggles
a1f4cd371a
atrac3: replace a calculation with FFALIGN()
...
This allocates 4 bytes less than the previous code if avctx->block_align is
a multiple of 4, but the extra 4 bytes is not really needed.
2012-10-22 10:10:08 -04:00
Justin Ruggles
808686fc1e
atrac3: remove unused ATRAC3Context field, sample_rate
2012-10-22 10:10:08 -04:00
Justin Ruggles
89a6c32bc1
atrac3: use sizeof(variable) instead of sizeof(type)
2012-10-22 10:10:08 -04:00
Justin Ruggles
327747de15
atrac3: simplify MDCT window calculation
2012-10-22 10:10:08 -04:00
Justin Ruggles
5d1007f74d
atrac3: initialize static tables in AVCodec.init_static_data()
2012-10-22 10:10:08 -04:00
Justin Ruggles
78edce3f19
atrac3: separate window initialization from IMDCT initialization
2012-10-22 10:10:08 -04:00
Justin Ruggles
c51311b907
atrac3: move the 'frame_factor' field from ATRAC3Context to where it is used
2012-10-22 10:10:08 -04:00
Justin Ruggles
7e76f27081
atrac3: remove unused ATRAC3Context field, bit_rate
2012-10-22 10:10:07 -04:00
Justin Ruggles
a2664c91fb
atrac3: move the 'samples_per_frame' field from ATRAC3Context to where it is used
2012-10-22 10:10:07 -04:00
Justin Ruggles
7c1f93afe6
atrac3: remove unused ATRAC3Context field, samples_per_channel
2012-10-22 10:10:07 -04:00
Justin Ruggles
cdd0e0de81
atrac3: use AVCodecContext.block_align instead of keeping a private copy
2012-10-22 10:10:07 -04:00
Justin Ruggles
64ebbb8f89
atrac3: move the 'delay' field from ATRAC3Context to where it is used
2012-10-22 10:10:07 -04:00
Justin Ruggles
56a9d2b44e
atrac3: move the 'version' field from ATRAC3Context to where it is used
2012-10-22 10:10:06 -04:00
Justin Ruggles
5ac673b553
atrac3: use AVCodecContext.channels instead of keeping a private copy
2012-10-22 10:10:06 -04:00
Justin Ruggles
aefdb735c3
atrac3: simplify some loop indexing
2012-10-22 10:10:06 -04:00
Justin Ruggles
e55d53905f
atrac3: cosmetics: pretty-printing and renaming
...
also does some minor refactoring.
2012-10-22 10:10:06 -04:00
Justin Ruggles
9af4eaa8ea
atrac3: use float planar sample format
2012-10-01 13:42:43 -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
Martin Storsjö
00c3b67b8a
cosmetics: Align codec declarations
...
Also break some long lines, remove codec function placeholder comments
and add spaces in sample/pixel format lists.
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-04-06 22:37:38 +03:00
Michael Niedermayer
c509f4f747
atrac3: Fix crash in tonal component decoding.
...
Add a check to avoid writing past the end of the channel_unit.components[]
array.
Bug Found by: cosminamironesei
Fixes CVE-2012-0853
CC: libav-stable@libav.org
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Justin Ruggles <justin.ruggles@gmail.com>
2012-02-16 15:18:45 -05: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
Martin Storsjö
99560a4caa
libavcodec: Add ff_ prefix to some nonstatic symbols
...
Prefix the functions atrac_generate_tables, atrac_iqmf, dct_quantize_c.
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-02-15 22:06:29 +02:00
Diego Biurrun
d4b63054d9
cosmetics: Drop unnecessary parentheses around return values.
2011-12-30 22:18:07 +01:00
Diego Biurrun
ee41963f19
cosmetics: drop some completely pointless parentheses
2011-12-07 15:29:13 +01: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
2073224697
atrac3: support float or int16 output using request_sample_fmt
2011-10-29 15:06:32 -04:00
Justin Ruggles
a047851329
atrac3: add CODEC_CAP_SUBFRAMES capability
...
the decoder can handle multiple frames in a packet
2011-10-29 15:06:32 -04:00
Justin Ruggles
8f98577d4d
atrac3: return appropriate error codes instead of -1
2011-10-29 15:06:32 -04:00
Justin Ruggles
47b617021d
atrac3: make sure all memory is freed on init failure
2011-10-29 15:06:32 -04:00
Justin Ruggles
c91613857d
atrac3: add a couple macro constants
2011-10-29 15:06:31 -04:00
Justin Ruggles
1fead73d7b
atrac3: return error if packet is too small
2011-10-29 15:06:31 -04:00
Justin Ruggles
7e4881a2d0
atrac3: check output buffer size before decoding
2011-10-29 15:06:31 -04:00
Justin Ruggles
6ba7f78bbb
atrac3: use separate pointers for each channel in decodeFrame()
2011-10-29 15:06:31 -04:00
Justin Ruggles
5e76b8bb76
atrac3: use optimized float_interleave() function for stereo interleaving
2011-10-29 15:06:31 -04:00
Justin Ruggles
8af33cb38a
atrac3: decode mono directly to the output buffer
2011-10-29 15:06:31 -04:00
Justin Ruggles
c4a6fde33f
atrac3: decode output to float samples instead of converting to s16
2011-10-29 15:06:31 -04:00
Vitor Sessak
9d35fa520e
Add AVX FFT implementation.
...
Signed-off-by: Reinhard Tartler <siretart@tauware.de>
2011-04-26 18:25:24 +02:00
Diego Biurrun
d9dee728b8
Use av_log_ask_for_sample() to request samples from users.
2011-04-22 20:12:39 +02:00