summaryrefslogtreecommitdiff
path: root/libavcodec/alac.c
Commit message (Collapse)AuthorAge
* cosmetics: Fix spelling mistakesVittorio Giovara2016-05-04
| | | | Signed-off-by: Diego Biurrun <diego@biurrun.de>
* lavc: AV-prefix all codec capabilitiesVittorio Giovara2015-07-27
| | | | | | Express bitfields more simply. Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
* alac: Reject rice_limit 0 if compression is usedAndreas Cadhalpun2015-05-08
| | | | | | | | | | | If in compression mode rice_limit = 0 leads to call `show_bits(gb, k)` in `decode_scalar` with k = 0. Request a sample in case it is valid and it should be accepted. Signed-off-by: Luca Barbato <lu_zero@gentoo.org> CC: libav-stable@libav.org
* avcodec: Don't anonymously typedef structsDiego Biurrun2015-02-14
|
* avcodec: more correct printf specifiersDiego Biurrun2014-03-22
|
* cosmetics: Group .name and .long_name together in codec/format declarationsDiego Biurrun2013-10-03
|
* alac: Do bounds checking of lpc_order read from the bitstreamMartin Storsjö2013-09-29
| | | | | | | | | In lpc_prediction(), we write up to array element 'lpc_order' in an array allocated to hold 'max_samples_per_frame' elements. Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind CC: libav-stable@libav.org Signed-off-by: Martin Storsjö <martin@martin.st>
* alac: Check that the channels fit at the given offsetMartin Storsjö2013-09-03
| | | | | | | | | | | | | The code tries to decode a number of channels at the offset given by the ff_alac_channel_layout_offsets table. Even if the number of channels decoded so far doesn't exceed the total number of channels, we need to check that we actually can decode that number of channels at this offset as well. Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind CC: libav-stable@libav.org Signed-off-by: Martin Storsjö <martin@martin.st>
* alac: Limit max_samples_per_frameMartin Storsjö2013-09-03
| | | | | | | | | | Otherwise buffer size calculations in allocate_buffers could overflow later, making the code think a large enough buffer actually was allocated. Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind CC: libav-stable@libav.org Signed-off-by: Martin Storsjö <martin@martin.st>
* avcodec: av_log_ask_for_sample() ---> avpriv_request_sample()Diego Biurrun2013-03-13
|
* lavc decoders: work with refcounted frames.Anton Khirnov2013-03-08
|
* alac: decode directly to the user-provided AVFrameJustin Ruggles2013-02-12
|
* alacdec: do not be too strict about the extradata sizeJustin Ruggles2012-12-22
| | | | | | | Sometimes the extradata has duplicate atoms, but that shouldn't prevent decoding. Just ensure that it is at least 36 bytes as a sanity check. CC: libav-stable@libav.org
* alacenc: add support for multi-channel encodingJustin Ruggles2012-12-05
|
* lavc: add a wrapper for AVCodecContext.get_buffer().Anton Khirnov2012-12-04
| | | | It will be useful in the upcoming transition to refcounted AVFrames.
* Include libavutil/channel_layout.h instead of libavutil/audioconvert.hJustin Ruggles2012-11-11
| | | | Also reorder some other #include when applicable.
* alacdec: set bits_per_raw_sampleJustin Ruggles2012-10-21
|
* Replace all CODEC_ID_* with AV_CODEC_ID_*Anton Khirnov2012-08-07
|
* alac: check for truncated packetsJustin Ruggles2012-07-27
| | | | | This will give a clearer error message when the error is caused by a truncated packet.
* alac: reverse lpc coeff order, simplify filterJustin Ruggles2012-07-27
| | | | Reversing the lpc coefficient order simplifies indexing in the filter.
* alac: fix channel pointer assignment for 24 and 32-bitJustin Ruggles2012-07-19
| | | | Needs to be done separately for each element.
* alac: cosmetics: general pretty-printing and comment clean upJustin Ruggles2012-07-19
|
* alac: calculate buffer size outside the loop in allocate_buffers()Justin Ruggles2012-07-19
|
* alac: change some data types to plain intJustin Ruggles2012-07-19
|
* alac: cosmetics: rename some variables and function namesJustin Ruggles2012-07-19
|
* alac: multi-channel decoding supportAndrew D'Addesio2012-07-19
| | | | Signed-off-by: Justin Ruggles <justin.ruggles@gmail.com>
* alac: split element parsing into a separate functionJustin Ruggles2012-07-19
| | | | | This will make multi-channel implementation simpler. Based partially on a patch by Andrew D'Addesio <modchipv12@gmail.com>.
* alac: support a read sample size of up to 32Justin Ruggles2012-07-19
| | | | | Use get_bits_long() in decode_scalar(). Use unsigned int for decoded value.
* alac: output in planar sample formatJustin Ruggles2012-07-19
| | | | | Avoids unneeded interleaving and allows for reusing the AVFrame output buffer as the internal buffer for 24-bit and 32-bit sample size.
* alac: add 32-bit decoding supportJustin Ruggles2012-07-19
|
* alac: simplify channel interleavingAndrew D'Addesio2012-07-19
| | | | Signed-off-by: Justin Ruggles <justin.ruggles@gmail.com>
* alac: use AVPacket fields directly in alac_decode_frame()Justin Ruggles2012-07-19
|
* alac: fix check for valid max_samples_per_frameJustin Ruggles2012-07-19
|
* alac: use get_sbits() to read LPC coefficients instead of castingJustin Ruggles2012-07-19
|
* alac: move the current samples per frame to the ALACContextJustin Ruggles2012-07-19
| | | | This will simplify the multi-channel implementation.
* alac: avoid using a double-negative when checking if the frame is compressedJustin Ruggles2012-07-19
|
* alac: factor out output_size check in predictor_decompress_fir_adapt()Justin Ruggles2012-07-19
|
* alac: factor out loading of next decoded sample in LPC predictionJustin Ruggles2012-07-19
|
* alac: use index into buffer_out instead of incrementing the pointerJustin Ruggles2012-07-19
|
* alac: simplify lpc coefficient adaptationJustin Ruggles2012-07-19
|
* alac: reduce the number of local variables needed in lpc predictionJustin Ruggles2012-07-19
|
* alac: simplify 1st order prediction and reading of warm-up samplesJustin Ruggles2012-07-19
|
* alac: cosmetics: reindent after last commitJustin Ruggles2012-07-19
|
* alac: remove unneeded conditionals in predictor_decompress_fir_adapt()Justin Ruggles2012-07-19
|
* alac: use sizeof() instead of hardcoded data sizesJustin Ruggles2012-07-19
|
* alac: make block_size signedJustin Ruggles2012-07-19
| | | | It does not need to be unsigned.
* alac: remove a duplicate local variableJustin Ruggles2012-07-19
|
* alac: conditionally set sign_modifier to 1Justin Ruggles2012-07-19
| | | | | It is already unconditionally set to 0 prior to this, so we can modify it only when needed.
* alac: eliminate 2 unneeded local variables in bastardized_rice_decompress()Justin Ruggles2012-07-19
| | | | | x_modified is just unnecessary, and final_val can be removed by simplifying the unsigned-to-signed conversion.
* alac: adjust conditions for updating entropy decoder historyJustin Ruggles2012-07-19
| | | | avoids some unnecessary arithmetic in certain situations