Commit Graph

168 Commits

Author SHA1 Message Date
Justin Ruggles 2ac1737583 alac: clean up and update comments leftover from reverse-engineering 2012-07-19 13:26:45 -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
Ronald S. Bultje c3bbd0b53b alac: convert extradata reading to bytestream2. 2012-03-25 13:35:05 -07:00
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.
2012-01-03 13:15:24 -05:00
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.
2012-01-03 13:15:23 -05: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 30f3e7b524 alacdec: remove unneeded NULL or zero-size packet checks.
This is already done in avcodec_decode_audio3()
2011-10-26 11:50:17 -04:00
Justin Ruggles 68f7e9cd8e alacdec: simplify buffer allocation by using FF_ALLOC_OR_GOTO() 2011-10-26 11:50:17 -04:00
Justin Ruggles b316af7a7c alacdec: ask for a sample for unsupported sample depths.
Also return AVERROR_PATCHWELCOME.
2011-10-26 11:50:17 -04:00
Justin Ruggles 63cf54df7a alacdec: cosmetics: use 'ch' instead of 'chan' to iterate channels 2011-10-26 11:50:17 -04:00
Justin Ruggles 01200f1283 alacdec: move some declarations to the top of the function 2011-10-26 11:50:17 -04:00
Justin Ruggles c3a92412c0 alacdec: always use get_sbits_long() for uncompressed samples 2011-10-26 11:50:17 -04:00
Justin Ruggles b46e58f741 alacdec: remove unneeded local variable 2011-10-26 11:50:17 -04:00
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.
2011-10-26 11:50:17 -04:00
Justin Ruggles cb50329fc5 alacdec: rename 2 functions.
Now they only do stereo interleaving.
2011-10-26 11:50:16 -04:00
Justin Ruggles c39bddd392 alacdec: move appending of extra_bits to a separate function.
This should also fix decoding of mono 24-bit.
2011-10-26 11:50:16 -04:00
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.
2011-10-26 11:50:16 -04:00
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.
2011-10-26 11:50:16 -04:00
Justin Ruggles dbbb9262ca alacdec: remove unneeded numsamples checks 2011-10-26 11:50:16 -04:00
Justin Ruggles 53df079a73 alacdec: check for buffer allocation failure.
Also rearranges some functions for easier cleanup on failure.
2011-10-26 11:50:16 -04:00
Justin Ruggles e5e4f92b5c alacdec: allocate per-channel buffers based on channel count.
reduces memory usage when the stream has fewer than MAX_CHANNELS
2011-10-26 11:50:16 -04:00
Justin Ruggles dcaa83a0fc alacdec: read/validate number of channels from the extradata.
check frame header channel count against header/container channel count.
2011-10-26 11:50:16 -04:00
Justin Ruggles 47e9c75b36 alacdec: remove unneeded validation of setinfo_sample_size.
It is already done when using it to set sample_fmt.
2011-10-26 11:50:16 -04:00
Justin Ruggles 0f26f3d5c4 alacdec: set sample_fmt in alac_decode_init() 2011-10-26 11:50:16 -04:00
Justin Ruggles aec8383348 alacdec: set bytespersample using av_get_bytes_per_sample() 2011-10-26 11:50:15 -04:00
Anton Khirnov ec6402b7c5 lavc: use designated initialisers for all codecs.
It's more readable and less prone to breakage.
2011-07-29 08:42:34 +02:00
Diego Biurrun 8b587fa292 alac: Remove unused dummy code. 2011-07-16 01:21:17 +02:00
Diego Biurrun ad4cd0c2a4 doxygen: use Doxygen markup for authors and web links where appropriate 2011-07-15 02:01:21 +02:00
Mans Rullgard 2912e87a6c Replace FFmpeg with Libav in licence headers
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-03-19 13:33:20 +00:00
Diego Elio Pettenò d36beb3f69 Add ff_ prefix to data symbols of encoders, decoders, hwaccel, parsers, bsf.
None of these symbols should be accessed directly, so declare them as
hidden.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-01-26 16:08:45 +00:00
Stefano Sabatini 5d6e4c160a Replace deprecated symbols SAMPLE_FMT_* with AV_SAMPLE_FMT_*, and enum
SampleFormat with AVSampleFormat.

Originally committed as revision 25730 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-11-12 11:04:40 +00:00
Jason Garrett-Glaser 313b52fbff Clean up ALACdec
Do decode init in the init function instead of at the first frame.
Fix some possible crash cases.

Originally committed as revision 25572 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-10-26 07:20:51 +00:00
Måns Rullgård 986f143a38 alac: change VLAs to fixed size
Originally committed as revision 23751 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-06-24 08:26:40 +00:00
Diego Biurrun ba87f0801d Remove explicit filename from Doxygen @file commands.
Passing an explicit filename to this command is only necessary if the
documentation in the @file block refers to a file different from the
one the block resides in.

Originally committed as revision 22921 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-20 14:45:34 +00:00
Stefano Sabatini 72415b2adb Define AVMediaType enum, and use it instead of enum CodecType, which
is deprecated and will be dropped at the next major bump.

Originally committed as revision 22735 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-30 23:30:55 +00:00
Jai Menon f6d2916550 Avoid using an intermediate variable.
Originally committed as revision 21656 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-06 12:52:22 +00:00
Jai Menon b53ae8b6b1 Remove redundant use of numchannels since it is 1 for mono.
Originally committed as revision 21655 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-06 12:48:37 +00:00
Jai Menon e243eee43f alac.c : Use av_freep instead of av_free.
Originally committed as revision 21654 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-06 12:38:42 +00:00
Jai Menon f430c7b6ac Add ALAC 24 bps decoding support.
Originally committed as revision 21637 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-04 16:21:26 +00:00
Stefano Sabatini 9106a698e7 Rename bitstream.h to get_bits.h.
Originally committed as revision 18494 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-13 16:20:26 +00:00
Thilo Borgmann 7a00bbad21 Implement avcodec_decode_video2(), _audio3() and _subtitle2() which takes an
AVPacket argument rather than a const uint8_t *buf + int buf_size. This allows
passing of packet-specific flags from demuxer to decoder, such as the keyframe
flag, which appears necessary to playback corePNG P-frames.

Patch by Thilo Borgmann thilo.borgmann googlemail com, see also the thread
"Google Summer of Code participation" on the mailinglist.

Originally committed as revision 18351 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-07 15:59:50 +00:00
Justin Ruggles 6053da0182 alacdec: Simplify reading of uncompressed samples by using
get_sbits_long().

Originally committed as revision 17744 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-03 04:57:02 +00:00
Måns Rullgård 8858990f07 ALAC: use sign_extend() from mathops.h
Originally committed as revision 17739 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-03 01:53:54 +00:00
Diego Biurrun bad5537e2c Use full internal pathname in doxygen @file directives.
Otherwise doxygen complains about ambiguous filenames when files exist
under the same name in different subdirectories.

Originally committed as revision 16912 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-02-01 02:00:19 +00:00
Baptiste Coudurier 9345ae6f78 alac : fix case where bits_per_sample is not set.
Patch by Baptiste

Originally committed as revision 15275 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-09-08 19:05:46 +00:00
Luca Abeni dd1c8f3e6e Bump Major version, this commit is almost just renaming bits_per_sample to
bits_per_coded_sample but that cannot be done seperately.
Patch by Luca Abeni
Also reset the minor version and fix the forgotton change to libfaad.
Note: The API/ABI should not be considered stable yet, there still may
be a change done here or there if some developer has some cleanup ideas and
patches!

Originally committed as revision 15262 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-09-08 14:24:59 +00:00
Matthieu Castet 95801b6a07 alac : check readsamplesize to ensure get_bits() doesn't
fail. Patch by Matthieu Castet <castet.matthieu AT free fr>

Originally committed as revision 14905 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-22 15:09:20 +00:00
Peter Ross fd76c37fd9 Modify all codecs to report their supported input and output sample format(s).
Originally committed as revision 14482 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-07-31 10:47:31 +00:00
Jai Menon 66b26265f8 fix verbatim mode decoding. patch by Jai Menon (realityman gmx net).
Originally committed as revision 13775 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-06-15 18:01:25 +00:00
Stefano Sabatini fe4bf37455 Make AVCodec long_names definition conditional depending on CONFIG_SMALL.
Originally committed as revision 13759 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-06-12 21:50:13 +00:00
Matthieu Castet 6827f6f216 cosmetics: indent after last commit. patch by matthieu castet <castet matthieu free fr>.
Originally committed as revision 13121 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-05-11 18:14:30 +00:00
Matthieu Castet e5838c90ee simplify decoding of uncompressed samples. patch by matthieu castet <castet matthieu free fr>.
Originally committed as revision 13120 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-05-11 18:13:30 +00:00
Justin Ruggles 59d598b923 fix reading of samples-per-frame
Originally committed as revision 13111 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-05-11 04:25:34 +00:00
Michael Niedermayer f7739f3708 Output buffer overflow.
Originally committed as revision 13052 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-05-03 21:06:55 +00:00
Michael Niedermayer 494e353179 Heap buffer overflow.
Originally committed as revision 13051 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-05-03 21:01:47 +00:00
Michael Niedermayer 83e9a67d7c Fix memset(0) based buffer overflow.
Originally committed as revision 13050 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-05-03 20:56:57 +00:00
Stefano Sabatini d5202e4fda Add long names to many AVCodec declarations.
patch by Stefano Sabatini, stefano.sabatini-lala poste it

Originally committed as revision 13005 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-04-27 10:52:44 +00:00
Matthieu Castet e5ab737950 check alac EOF marker
Patch by Matthieu Castet castet matthieu free fr

Originally committed as revision 12891 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-04-18 08:58:18 +00:00
Vitor Sessak 010db10393 Remove another unneeded var from context
Originally committed as revision 12884 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-04-17 21:03:26 +00:00
Vitor Sessak 4c63c597d8 10l: my last commit broke compilation and introduced warnings
Originally committed as revision 12883 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-04-17 19:48:02 +00:00
Vitor Sessak db08882e74 Remove unneeded variables from context
Originally committed as revision 12882 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-04-17 19:45:14 +00:00
Vitor Sessak 8431603a51 Remove wrapper around av_log2()
Originally committed as revision 12881 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-04-17 18:50:31 +00:00
Michael Niedermayer 1f655c4fe4 indent
Originally committed as revision 12875 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-04-17 03:22:35 +00:00
Michael Niedermayer 5eeba07ec9 Factorize more code.
Originally committed as revision 12874 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-04-17 03:21:15 +00:00
Michael Niedermayer 5a5a27c5de Factorize decode_postfix() out.
Originally committed as revision 12873 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-04-17 03:08:25 +00:00
Michael Niedermayer c49c5e23dc Change k limiting code, i think the code was buggy.
If you have ALAC files TEST them! Mine produce the same md5 but the new
code is not identical if limiting does happen.

Originally committed as revision 12872 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-04-17 03:00:08 +00:00
Michael Niedermayer 59b377ac86 more senseless code
One wonders how such stuff gets past the reviews ...

Originally committed as revision 12871 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-04-17 02:40:50 +00:00
Michael Niedermayer 26df3ba28c senseless code
Originally committed as revision 12870 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-04-17 02:38:41 +00:00
Michael Niedermayer ec04a74e70 useless variable
Originally committed as revision 12869 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-04-17 02:35:00 +00:00
Michael Niedermayer ea3372a256 simplify
Originally committed as revision 12868 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-04-17 02:30:00 +00:00
Zuxy Meng 98a6fff98c Apply 'cold' attribute to init/uninit functions in libavcodec
Originally committed as revision 12525 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-03-21 03:11:20 +00:00
Michael Niedermayer b5777b942d const
Originally committed as revision 11711 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-02-01 03:39:15 +00:00
Vitor Sessak 52b541ad79 spelling
Originally committed as revision 11122 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-12-01 22:21:04 +00:00
Vitor Sessak becc0ef95b Remove reimplementation of get_unary.
Based on a patch by Alex Beregszaszi.

Originally committed as revision 10279 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-09-01 21:03:17 +00:00
Vitor Sessak 11f81e6a07 Cosmetical: Empty line removal
Originally committed as revision 10275 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-08-31 18:51:22 +00:00
Vitor Sessak 63ecfc1fe4 Comment about unsupported sample size
Originally committed as revision 10273 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-08-31 15:05:40 +00:00
Vitor Sessak aa33d8096a Rename function
Originally committed as revision 10265 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-08-30 16:40:51 +00:00
Vitor Sessak 321c313836 Replace two #define's by inline functions
Originally committed as revision 10264 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-08-30 16:04:00 +00:00
Alex Beregszaszi 7ae7300ee3 use skip_bits where appropriate
Originally committed as revision 10004 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-08-09 00:57:36 +00:00
Alex Beregszaszi 5fc32c275e use get_bits1(..) instead get_bits(.., 1)
Originally committed as revision 9999 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-08-09 00:13:31 +00:00
Vitor Sessak 92df891001 More indentation
Originally committed as revision 9979 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-08-07 12:53:22 +00:00
Vitor Sessak db695867eb Cosmetics: indentation
Originally committed as revision 9978 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-08-07 12:50:41 +00:00
Vitor Sessak 4a5e6389fe Rename function
Originally committed as revision 9977 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-08-07 12:44:23 +00:00
Vitor Sessak d58d7ade78 Minor cosmetics
Originally committed as revision 9791 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-07-24 18:21:40 +00:00
Vitor Sessak 9c8d9f251e Another minor simplification
Originally committed as revision 9744 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-07-18 20:23:43 +00:00
Vitor Sessak c9128d569a Make deinterlace_16 receive an array as a parameter and not two separated vars
Originally committed as revision 9739 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-07-18 14:45:01 +00:00
Vitor Sessak b37bce6b61 Minor simplification
Originally committed as revision 9738 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-07-18 14:37:39 +00:00
Vitor Sessak 60c4a31c6a Yet more cosmetics
Originally committed as revision 9737 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-07-18 14:36:30 +00:00
Vitor Sessak 10024d443a More cosmetics
Originally committed as revision 9736 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-07-18 14:29:14 +00:00
Vitor Sessak d0da802049 Remove reimplementation of av_log2
Originally committed as revision 9735 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-07-18 14:15:14 +00:00
Vitor Sessak f175201004 Test for supported number of channels
Originally committed as revision 9730 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-07-18 06:45:47 +00:00
Vitor Sessak 586e5bd902 Cosmetics: indentation
Originally committed as revision 9729 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-07-18 06:27:37 +00:00
Vitor Sessak a1301f2934 Cosmetics: alignment
Originally committed as revision 9728 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-07-18 06:17:20 +00:00
Vitor Sessak 10fb5763cc Remove more code duplication. Based on a patch by Matthieu Castet.
Originally committed as revision 9727 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-07-18 06:06:21 +00:00
Vitor Sessak d562ba238e Move var. declaration to allow further clean up
Originally committed as revision 9726 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-07-17 23:51:34 +00:00
Vitor Sessak 7f26801668 Remove code duplication. Based on a patch by Matthieu Castet.
Originally committed as revision 9724 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-07-17 22:05:33 +00:00
Vitor Sessak e3be5693c3 Make "channels" variable mean the number of channels, not the number of
channels minus one

Originally committed as revision 9617 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-07-13 00:06:46 +00:00
Diego Biurrun 3e582fbbc5 license header consistency: Remove redundant "all rights reserved" statement
that is rendered meaningless by subsequent grant of rights through the LGPL.

Originally committed as revision 9606 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-07-12 00:23:53 +00:00
Vitor Sessak f79488d426 Use proper bytestream functions
Originally committed as revision 9580 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-07-10 17:50:44 +00:00
Vitor Sessak 153696a663 Prepare to remove more duplicated code
Based on a patch by Matthieu Castet

Originally committed as revision 9576 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-07-10 14:30:57 +00:00