Commit Graph

30729 Commits

Author SHA1 Message Date
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
Justin Ruggles 5c353eb8e3 cook: return AVERROR_PATCHWELCOME instead of ENOTSUP
ENOTSUP is not defined on some systems
2011-10-29 14:32:55 -04:00
Justin Ruggles e34c6c9708 cook: check output buffer size before decoding 2011-10-29 13:43:28 -04:00