Justin Ruggles
615b2a2cf5
g726enc: add private option for setting code size directly.
...
This is an easy alternative to setting bit_rate. This patch also selects the
closest bit_rate to the requested one rather than requiring an exact value.
2011-11-01 21:23:04 -04:00
Justin Ruggles
7abb73d4ba
g726: wrap the decoder functions with a CONFIG_ADPCM_G726_DECODER check
2011-11-01 21:23:04 -04:00
Justin Ruggles
437c11ca16
g726: group the g726_encoder AVCodec with the other encoding functions
2011-11-01 21:23:04 -04:00
Justin Ruggles
50969c0f46
g726: return AVERROR(EINVAL) instead of -1 for invalid channel count
2011-11-01 21:23:03 -04:00
Justin Ruggles
50c466d609
g726enc: use av_assert0() for sample_rate validation
...
This should never happen, but the check avoids a divide-by-zero.
2011-11-01 21:23:03 -04:00
Justin Ruggles
9e78d8cfdf
g726: treat sample rates other than 8kHz as unofficial.
2011-11-01 21:23:03 -04:00
Justin Ruggles
6e8d4a7afb
g726dec: remove the sample_rate validation
2011-11-01 21:23:03 -04:00
Justin Ruggles
6ac34eed54
g726: use bits_per_coded_sample instead of bitrate to determine mode
...
This requires some workarounds in the WAV muxer and demuxer. We need to write
the correct bits_per_coded_sample and block_align in the muxer. In the
demuxer, we cannot rely on the bits_per_coded_sample value, so we use the bit
rate and sample rate to determine the value.
This avoids having the decoder rely on AVCodecContext.bit_rate, which is not
required to be set by the user for decoding according to our API.
2011-11-01 21:23:03 -04:00
Justin Ruggles
d405237bae
g726: split the init function for the encoder and decoder
...
This also allows for not having a decoder close function.
2011-11-01 21:23:03 -04:00
Justin Ruggles
c8d36d254e
g726: pre-calculate the number of output samples.
...
Allows for checking output buffer size and simplification of decoding loop.
2011-11-01 21:23:03 -04:00
Justin Ruggles
e61a670b53
g726: use int16_t instead of short
2011-11-01 21:23:02 -04:00
Martin Storsjö
7b7b220cf7
Enable w32threads automatically unless explicitly disabled
...
Signed-off-by: Martin Storsjö <martin@martin.st>
2011-11-01 16:48:15 +02:00
Martin Storsjö
02170990fd
cmdutils: Rename read_file to cmdutils_read_file
...
This symbol name clashes with a symbol in gnutls, if linking
statically to that library.
Signed-off-by: Martin Storsjö <martin@martin.st>
2011-10-31 16:29:29 +02:00
Diego Biurrun
45235d69c2
libdirac/libschroedinger: Drop unnecessary symbol prefixes.
...
The names used in the libdirac/libschroedinger wrappers are long enough as-is.
Bloating them with unnecessary prefixes makes them even more unwieldy.
2011-10-30 21:40:52 +01:00
Janne Grunau
d94c577d3c
cmdutils: check fread() return value
2011-10-30 15:52:18 +01:00
Justin Ruggles
7d1b17b833
cin audio: use sign_extend() instead of casting to int16_t
2011-10-29 16:43:40 -04:00
Justin Ruggles
405af43104
cin audio: restructure decoding loop to avoid a separate counter variable
...
Also check output buffer size instead of truncating output.
2011-10-29 16:43:40 -04:00
Justin Ruggles
859bdc33e4
cin audio: use local variable for delta value
2011-10-29 16:43:40 -04:00
Justin Ruggles
64e19ba48b
cin audio: remove unneeded cast from void*
2011-10-29 16:43:40 -04:00
Justin Ruggles
03381c12b3
cin audio: validate the channel count
2011-10-29 16:43:40 -04:00
Justin Ruggles
664eb77dc3
cin audio: remove unneeded AVCodecContext pointer from CinAudioContext
2011-10-29 16:43:40 -04:00
Justin Ruggles
44d2a982ac
dsicin: fix several audio-related fields in the CIN demuxer
...
bits_per_coded_sample should be 8.
block_align is calculated incorrectly, but it is not needed anyway.
packet pts should be calculated in samples.
packet duration can be set.
2011-10-29 16:43:40 -04:00
Justin Ruggles
5bd0343bee
flacdec: use av_get_bytes_per_sample() to get sample size
2011-10-29 16:05:25 -04:00
Justin Ruggles
272fcc32bb
dca: handle errors from dca_decode_block()
...
Return error if core block decoding fails.
Do not enable XCh if XCh extension block decoding fails.
2011-10-29 16:04:07 -04:00
Justin Ruggles
aae6eead6a
dca: return error if the frame header is invalid
2011-10-29 16:04:07 -04:00
Justin Ruggles
f44059d260
dca: return proper error codes instead of -1
2011-10-29 16:04:06 -04:00
Kostya Shishkov
46e1af3b0f
utvideo: handle empty Huffman trees
...
If the frame is filled with the same colour, encoder may produce no data
and the fill value is indicated by zero code length (the rest of symbols
will have 0xFF for code length, meaning invalid). So such Huffman trees
should be treated specially.
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2011-10-29 12:54:08 -07:00
Justin Ruggles
425a843505
binkaudio: change short to int16_t
2011-10-29 15:16:54 -04:00
Justin Ruggles
4f4e19480a
binkaudio: only decode one block at a time.
...
This prevents truncating output due to an output buffer that is too small for
all blocks. There is no limit on the number of blocks in a packet.
2011-10-29 15:16:54 -04:00
Justin Ruggles
eaddd29e00
binkaudio: store interleaved overlap samples in BinkAudioContext.
...
This fixes the requirement for the buffer size to be larger than the number of
samples actually decoded.
2011-10-29 15:16:54 -04:00
Justin Ruggles
9f48039a37
binkaudio: pre-calculate quantization factors
2011-10-29 15:16:53 -04:00
Justin Ruggles
101ef19ef4
binkaudio: add some buffer overread checks.
...
This stops decoding before overreads instead of after.
2011-10-29 15:16:53 -04: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
Justin Ruggles
f20dd574f1
atrac1: return appropriate error codes instead of -1
2011-10-29 15:06:31 -04:00
Justin Ruggles
6dc7dd7af4
atrac1: check for ff_mdct_init() failure
2011-10-29 15:06:31 -04:00
Justin Ruggles
21dcecc310
atrac1: use optimized float_interleave() function for stereo interleaving
2011-10-29 15:06:31 -04:00
Justin Ruggles
96b5702efe
atrac1: fix a typo
2011-10-29 15:06:31 -04:00
Justin Ruggles
bff5b2c1ca
atrac1: validate number of channels
2011-10-29 15:06:31 -04:00
Justin Ruggles
9a35ff3841
atrac1: decode mono audio directly to output buffer
...
For stereo we need to use intermediate planar buffers, but mono does not need
to be deinterleaved so the output buffer can be used directly.
2011-10-29 15:06:31 -04:00
Justin Ruggles
33684b9c12
atrac1: check output buffer size before decoding
2011-10-29 15:06:30 -04:00