Justin Ruggles
7a50ec6799
alac: move the current samples per frame to the ALACContext
...
This will simplify the multi-channel implementation.
13 years ago
Justin Ruggles
46043962ea
alac: avoid using a double-negative when checking if the frame is compressed
13 years ago
Justin Ruggles
9a6c528e08
alac: factor out output_size check in predictor_decompress_fir_adapt()
13 years ago
Justin Ruggles
ebd4c3add1
alac: factor out loading of next decoded sample in LPC prediction
13 years ago
Justin Ruggles
a4ecd41442
alac: use index into buffer_out instead of incrementing the pointer
13 years ago
Justin Ruggles
f2515cd629
alac: simplify lpc coefficient adaptation
13 years ago
Justin Ruggles
abc4376b31
alac: reduce the number of local variables needed in lpc prediction
13 years ago
Justin Ruggles
01880d287b
alac: simplify 1st order prediction and reading of warm-up samples
13 years ago
Justin Ruggles
d0c0bf0d3e
alac: cosmetics: reindent after last commit
13 years ago
Justin Ruggles
79def4c523
alac: remove unneeded conditionals in predictor_decompress_fir_adapt()
13 years ago
Justin Ruggles
4bcd637dcb
alac: use sizeof() instead of hardcoded data sizes
13 years ago
Justin Ruggles
91620a04f1
alac: make block_size signed
...
It does not need to be unsigned.
13 years ago
Justin Ruggles
2fc24b3273
alac: remove a duplicate local variable
13 years ago
Justin Ruggles
5177413d20
alac: conditionally set sign_modifier to 1
...
It is already unconditionally set to 0 prior to this, so we can modify it
only when needed.
13 years ago
Justin Ruggles
7e6593e977
alac: eliminate 2 unneeded local variables in bastardized_rice_decompress()
...
x_modified is just unnecessary, and final_val can be removed by simplifying
the unsigned-to-signed conversion.
13 years ago
Justin Ruggles
6fd8a28b59
alac: adjust conditions for updating entropy decoder history
...
avoids some unnecessary arithmetic in certain situations
13 years ago
Justin Ruggles
a06fdadd97
alac: cosmetics: reindent after last commit
13 years ago
Justin Ruggles
d9837434a9
alac: limit the rice param before passing to decode_scalar()
...
reduces the number of parameters to decode_scalar() and slightly simplifies
the code
13 years ago
Justin Ruggles
6e91f62256
alac: reduce the number of parameters to bastardized_rice_decompress()
...
Use the ALACContext fields directly instead.
13 years ago
Justin Ruggles
836e8b9ba0
alac: cosmetics: rename some ALACContext parameters
13 years ago
Justin Ruggles
2ac1737583
alac: clean up and update comments leftover from reverse-engineering
13 years ago
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>
13 years ago
Ronald S. Bultje
c3bbd0b53b
alac: convert extradata reading to bytestream2.
13 years ago
Baptiste Coudurier
89fc7e36c7
alacdec: support 32 bps
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
13 years ago
Justin Ruggles
e49d21306a
alacdec: implement the 2-pass prediction type.
...
The reference encoder does not generate any streams using this, but the
reference decoder can handle it, so we should as well.
13 years ago
Justin Ruggles
e76c7b856f
alacdec: fill in missing or guessed info about the extradata format.
...
Now that there is official documentation from Apple about this, we don't have
to guess anymore.
13 years ago
Michael Niedermayer
a8469223f6
alac: Check for bitstream overread
...
Fixes Ticket801
Bug found by: Oana Stratulat
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
30f3e7b524
alacdec: remove unneeded NULL or zero-size packet checks.
...
This is already done in avcodec_decode_audio3()
13 years ago
Justin Ruggles
68f7e9cd8e
alacdec: simplify buffer allocation by using FF_ALLOC_OR_GOTO()
13 years ago
Justin Ruggles
b316af7a7c
alacdec: ask for a sample for unsupported sample depths.
...
Also return AVERROR_PATCHWELCOME.
13 years ago
Justin Ruggles
63cf54df7a
alacdec: cosmetics: use 'ch' instead of 'chan' to iterate channels
13 years ago
Justin Ruggles
01200f1283
alacdec: move some declarations to the top of the function
13 years ago
Justin Ruggles
c3a92412c0
alacdec: always use get_sbits_long() for uncompressed samples
13 years ago
Justin Ruggles
b46e58f741
alacdec: remove unneeded local variable
13 years ago
Justin Ruggles
7080533cda
alacdec: remove the numchannels parameter from several functions.
...
They only operate on stereo content, so the extra param is not necessary and
also allows for simplifying the code.
13 years ago
Justin Ruggles
cb50329fc5
alacdec: rename 2 functions.
...
Now they only do stereo interleaving.
13 years ago
Justin Ruggles
c39bddd392
alacdec: move appending of extra_bits to a separate function.
...
This should also fix decoding of mono 24-bit.
13 years ago
Justin Ruggles
e739d35156
alacdec: split stereo decorrelation into a separate function.
...
It is identical for 16-bit and 24-bit, so there is no need to have duplicate
code.
13 years ago
Justin Ruggles
d251c85dce
alacdec: cosmetics: rename 'wasted_bits' to 'extra_bits'.
...
The bits are not wasted, they are additional low bits that are added to the
16-bit decompressed samples to increase the output sample depth.
13 years ago
Justin Ruggles
dbbb9262ca
alacdec: remove unneeded numsamples checks
13 years ago
Justin Ruggles
53df079a73
alacdec: check for buffer allocation failure.
...
Also rearranges some functions for easier cleanup on failure.
13 years ago
Justin Ruggles
e5e4f92b5c
alacdec: allocate per-channel buffers based on channel count.
...
reduces memory usage when the stream has fewer than MAX_CHANNELS
13 years ago
Justin Ruggles
dcaa83a0fc
alacdec: read/validate number of channels from the extradata.
...
check frame header channel count against header/container channel count.
13 years ago
Justin Ruggles
47e9c75b36
alacdec: remove unneeded validation of setinfo_sample_size.
...
It is already done when using it to set sample_fmt.
13 years ago
Justin Ruggles
0f26f3d5c4
alacdec: set sample_fmt in alac_decode_init()
13 years ago
Justin Ruggles
aec8383348
alacdec: set bytespersample using av_get_bytes_per_sample()
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
Diego Biurrun
8b587fa292
alac: Remove unused dummy code.
14 years ago
Diego Biurrun
ad4cd0c2a4
doxygen: use Doxygen markup for authors and web links where appropriate
14 years ago