Commit Graph

171 Commits

Author SHA1 Message Date
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
2012-07-19 13:26:45 -04:00
Justin Ruggles
6e91f62256 alac: reduce the number of parameters to bastardized_rice_decompress()
Use the ALACContext fields directly instead.
2012-07-19 13:26:45 -04:00
Justin Ruggles
836e8b9ba0 alac: cosmetics: rename some ALACContext parameters 2012-07-19 13:26:45 -04:00
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