Commit Graph

138 Commits

Author SHA1 Message Date
Justin Ruggles
e1b8d88d52 mlpdec: remove unnecessary wrapper function 2011-10-13 15:13:02 -04:00
Justin Ruggles
37b67f1bff mlpdec: only calculate output size once 2011-10-13 15:13:02 -04:00
Justin Ruggles
caa845851d mlpdec: validate that the reported channel count matches the actual output
channel count
2011-10-13 15:13:02 -04:00
Michael Niedermayer
faba79e080 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  mxfdec: Include FF_INPUT_BUFFER_PADDING_SIZE when allocating extradata.
  H.264: tweak some other x86 asm for Atom
  probe: Fix insane flow control.
  mpegts: remove invalid error check
  s302m: use nondeprecated audio sample format API
  lavc: use designated initialisers for all codecs.
  x86: cabac: add operand size suffixes missing from 6c32576

Conflicts:
	libavcodec/ac3enc_float.c
	libavcodec/flacenc.c
	libavcodec/frwu.c
	libavcodec/pictordec.c
	libavcodec/qtrleenc.c
	libavcodec/v210enc.c
	libavcodec/wmv2dec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-07-30 06:46:08 +02: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
Carl Eugen Hoyos
0753721ed1 Do not ask for samples if a specific channel layout was requested. 2011-05-23 01:23:33 +02:00
Carl Eugen Hoyos
0aac0403c5 Map mlp surround channels to FFmpeg rear channels.
This allows more 3rd party applications to correctly read
the resulting wav files.
2011-05-13 00:22:05 +02:00
Carl Eugen Hoyos
d3f126df4b Also set the MLP/TrueHD channel layout in the decoder.
Applications might not use the parser,
2011-04-19 03:18:08 +02:00
Carl Eugen Hoyos
6daf513cf2 Fix channel order for 7.1 TrueHD samples. 2011-04-14 03:43:58 +02:00
Carl Eugen Hoyos
939a12e25d Fix channel order for some MLP samples. 2011-04-14 03:33:10 +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
Johan Andersson
21de920472 Update the url to the site website and change ffmpeg-devel to libav-devel
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-03-13 18:45:29 -04:00
Diego Elio Pettenò
e7e2df27f8 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>
(cherry picked from commit d36beb3f69)
2011-01-28 03:15:34 +01: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
Måns Rullgård
49bd8e4b84 Fix grammar errors in documentation
Originally committed as revision 23904 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-06-30 15:38:06 +00:00
Nick Brereton
857c30ecba mlpdec: Comment channel_params field in struct SubStream.
Patch by Nick Brereton <nick at nbrereton dot net>

Originally committed as revision 23085 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-05-11 01:46:13 +00:00
Nick Brereton
22fb814c2f mlpdec: Allocate channel decoding parameters for each substream. Some file
was encountered with a channel range that overlapped the previous substreams,
and the code assumed no such overlap was possible.
Patch by Nick Brereton <nick at nbrereton dot net>

Originally committed as revision 23084 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-05-11 01:44:52 +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
Reimar Döffinger
d780511b94 Reduce log level of "Extracting .. channel downmix" to AV_LOG_DEBUG, the
message is pointless to ordinary users and is printed once per frame.

Originally committed as revision 21486 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-27 20:02:18 +00:00
Reimar Döffinger
0b882b4009 Fix crash in MLP decoder due to integer overflow.
Probably only DoS, init_get_bits sets buffer to NULL, thus causing a
NULL-dereference directly after.

Originally committed as revision 21426 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-24 18:07:29 +00:00
Diego Biurrun
547fc46ca7 Remove pointless CONFIG_MLP_DECODER preprocessor check.
The file is only ever compiled if the MLP decoder is enabled.

Originally committed as revision 20968 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-29 17:20:19 +00:00
Ramiro Polla
52ae1e869b mlp: Indent.
Originally committed as revision 20255 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-16 16:12:04 +00:00
Ramiro Polla
7fd8806924 mlp: Only initialize VLC tables once. This caused a crash when multiple
instances of the decoder were started at different times.
Bug reported by Maxim Anisiutkin.

Originally committed as revision 20254 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-16 16:10:00 +00:00
Ramiro Polla
13bd2044d3 mlp: Simplify adressing of state and coeffs arrays for both filters by making
the arrays sequential.

Originally committed as revision 18841 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-15 15:34:22 +00:00
Ramiro Polla
e282272667 mlpdec: Fix possible writing out of array bounds introduced by being
under-paranoid in r18651.

Originally committed as revision 18763 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-06 16:01:28 +00:00
Ramiro Polla
e8d341ce19 mlpdec: Split sync word error and MLP sync word check.
The previous code would print the wrong error message for MLP streams with
TrueHD noise type.

Originally committed as revision 18762 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-06 15:46:10 +00:00
Ramiro Polla
aff42ee0ff mlpdec: Fix indentation that got mangled from copy&paste.
Originally committed as revision 18761 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-06 15:37:25 +00:00
Ramiro Polla
bf4f19dc65 mlpdec: Move MLP's filter_channel() to dsputils.
Originally committed as revision 18721 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-30 12:30:05 +00:00
Ramiro Polla
77b12f809b mlpdec: Simplify filtering code by using only one counter variable.
Originally committed as revision 18695 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-26 20:37:40 +00:00
Ramiro Polla
420df93037 mlpdec: Don't overallocate buffers.
Now that max channels and primitive matrices are properly validated, there is
no need to be paranoid that random data will be overwritten.
As a bonus this makes matrix_coeff 16-byte aligned between matrices.

Originally committed as revision 18651 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-21 22:53:46 +00:00
Ramiro Polla
309616b249 mlpdec: Validate num_primitive_matrices.
Originally committed as revision 18650 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-21 22:32:50 +00:00
Ramiro Polla
868170c4da mlpdec: Validate max_channel and max_matrix_channel.
Originally committed as revision 18649 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-21 22:12:30 +00:00
Ramiro Polla
46958efe97 mlpdec: Restart header sync must be 0x31ea for MLP.
Originally committed as revision 18648 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-21 21:57:23 +00:00
Ramiro Polla
a256445ec3 mlpdec: Read context variable to local variable to make code cleaner.
Originally committed as revision 18615 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-18 20:23:13 +00:00
Ramiro Polla
f95f6ab91e mlpdec: {}- and whitespace-related cosmetics.
Originally committed as revision 18614 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-18 19:52:52 +00:00
Ramiro Polla
63ad832dd6 mlpdec: Use some context arrays with local variables in rematrix_channels().
Originally committed as revision 18613 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-18 19:46:41 +00:00
Ramiro Polla
15e6748b72 truehd: Simplify rematrix_channels() as per Michael's original review.
Originally committed as revision 18612 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-18 19:39:07 +00:00
Ramiro Polla
95c14b1eea mlpdec: Make read_matrix_params() take unsigned int substr for consistency.
Originally committed as revision 18611 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-18 18:54:30 +00:00
Ramiro Polla
5d9e4eaa6d mlpdec: Check for {matrix,filter}_changed as soon as they are incremented.
Originally committed as revision 18610 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-18 18:51:43 +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
Ramiro Polla
75428fa447 mlpdec: Filters and matrices may change only once per substream per access unit.
Originally committed as revision 18338 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-06 00:58:03 +00:00
Ramiro Polla
89e39be3b6 mlpdec: There must be no extraword for MLP.
Originally committed as revision 18337 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-05 20:54:19 +00:00
Ramiro Polla
cc9c512638 mlpdec: Validate non-restart bit from the substream header.
Originally committed as revision 18336 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-05 20:46:53 +00:00
Ramiro Polla
0091d8a164 mlpdec: matrix_out_ch must not be greater than max_matrix_channel, and not max_channel.
Originally committed as revision 18335 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-05 20:11:40 +00:00
Ramiro Polla
ab79fa44f1 mlpdec: Simplify check for substream_parity_present.
Originally committed as revision 18240 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-30 03:46:52 +00:00
Ramiro Polla
01aaf09274 mlpdec: Simplify no restart header seen error.
Originally committed as revision 18239 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-30 03:44:20 +00:00
Ramiro Polla
d7952be311 mlpdec: Simplify substream length mismatch error.
Originally committed as revision 18238 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-30 03:42:40 +00:00
Ramiro Polla
d544dcdf38 mlpdec: Prettify substream parity check.
Originally committed as revision 18237 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-30 03:37:19 +00:00
Ramiro Polla
7b18e13a7c mlpdec: Cleaner and better termination word check.
Originally committed as revision 18236 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-30 03:34:15 +00:00
Ramiro Polla
125cf771f6 mlpdec: More validation for read_channel_params()
Originally committed as revision 18235 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-30 03:20:01 +00:00
Ramiro Polla
06e34be88f mlpdec: whitespace cosmetics.
Originally committed as revision 18234 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-30 03:12:39 +00:00
Ramiro Polla
a44b9f9574 mlpdec: Simplify &foo[0] to foo and use index (which has just been initialized
to MAX_BLOCKSIZE) instead of MAX_BLOCKSIZE, so both copies to/from state data
look alike.

Originally committed as revision 18233 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-30 03:08:55 +00:00
Ramiro Polla
e71365f427 mlpdec: Split filter_state_buffer into [fi]irbuf and fp to [fi]ir.
Originally committed as revision 18232 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-30 03:05:38 +00:00
Ramiro Polla
0ae59bb01a mlpdec: Unroll copying filter state data and filtering for the two filters.
Originally committed as revision 18231 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-30 02:59:45 +00:00
Ramiro Polla
0c5670a0e5 mlpdec: Max filter orders for FIR and IIR are 8 and 4 respectively.
Originally committed as revision 18230 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-30 02:54:19 +00:00
Ramiro Polla
fa937faba4 mlpdec: Remove few random dprintf()s.
Originally committed as revision 18212 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-28 00:53:52 +00:00
Ramiro Polla
b864098c16 mlpdec: Check for blocksize in proper range.
Originally committed as revision 18211 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-27 23:55:38 +00:00
Ramiro Polla
8e9ee714fc mlpdec: quant_step_size can be any value from 0 to 0xF.
Originally committed as revision 18210 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-27 23:48:08 +00:00
Ramiro Polla
6fae7cbd7f mlpdec: output_shift can be any value from -8 to 7.
Originally committed as revision 18209 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-27 23:47:18 +00:00
Ramiro Polla
af04802640 mlpdec: output_shift is signed
Originally committed as revision 18208 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-27 23:45:52 +00:00
Ramiro Polla
43ee5fe035 mlpdec: Split read_channel_params() into its own function.
Originally committed as revision 18207 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-27 23:42:22 +00:00
Ramiro Polla
f8e6293bde mlpdec: Split read_matrix_params() into its own function.
Originally committed as revision 18206 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-27 23:32:32 +00:00
Ramiro Polla
9731e7f13e mlp, truehd: support non 1:1 channel mapping.
Originally committed as revision 18074 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-20 13:07:09 +00:00
Ramiro Polla
cbf3cf19f3 Support "next parameter flags present" flag.
Originally committed as revision 18073 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-20 13:04:14 +00:00
Ramiro Polla
932cee5d67 truehd: support up to 3 substreams.
Originally committed as revision 18072 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-20 13:02:15 +00:00
Ramiro Polla
9ba4821d93 Split TrueHD decoder from MLP
Originally committed as revision 18045 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-19 21:23:39 +00:00
Diego Biurrun
0ffbc258aa Change a bunch of codec long_names to be more consistent and descriptive.
Originally committed as revision 17716 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-02 05:18:33 +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
Diego Biurrun
dc8a7c93d3 Add missing void keyword to parameterless function declarations.
Originally committed as revision 16860 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-01-30 18:38:25 +00:00
Diego Biurrun
0fa5f24c3b Change mplayerhq.hu references to ffmpeg.org where appropriate.
Originally committed as revision 16310 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-12-25 15:49:50 +00:00
Ramiro Polla
c687643c68 mlp: cosmetics: remove {}s over one-lined if.
Originally committed as revision 16027 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-12-07 00:58:41 +00:00
Ramiro Polla
ee1a8f6290 mlp: support bit-depths greater than 16 by default.
Originally committed as revision 16026 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-12-07 00:57:26 +00:00
Mathieu Velten
97679e6e38 mlp: Fix compilation under CONFIG_AUDIO_NONSHORT.
Patch by Mathieu Velten < matmaul at gmail dot com >

Originally committed as revision 16021 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-12-06 16:28:48 +00:00
Ramiro Polla
1e8bd10c57 mlp: Define End-of-Stream code in common header file and use it in decoder.
Originally committed as revision 14763 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-14 19:38:39 +00:00
Ramiro Polla
a7cc783d71 mlp: split simple inline function that xors 4 bytes into one.
Originally committed as revision 14747 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-14 03:58:05 +00:00
Ramiro Polla
ce15710f55 mlp: Split common code from parser and decoder to be used by encoder.
Originally committed as revision 14733 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-13 18:47:03 +00:00
Ramiro Polla
5dae0dd22c mlpdec: Put some doxy comments to the right of vars instead of interleaved.
Originally committed as revision 14721 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-13 01:41:06 +00:00
Ramiro Polla
f53acb7b17 mlpdec: Split channel parameters from context into their own struct.
Originally committed as revision 14720 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-13 01:36:01 +00:00
Ramiro Polla
db01fa131b mlpdec: whitespace and line-breaking cosmetics.
Originally committed as revision 14717 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-12 18:05:58 +00:00
Ramiro Polla
d6aa052dc5 mlpdec: Split filter parameters from context into their own struct.
Originally committed as revision 14716 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-12 17:53:59 +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
Ramiro Polla
eb2cd99c73 mlpdec: Check for bits left before each read of End-of-Stream indicator and
Substream parity check independently. This allows decoding of streams that
have EOS but don't have Substream parity check.

Originally committed as revision 14206 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-07-13 14:59:39 +00:00
Diego Biurrun
0e74e1ff3c Add required stdint.h header #include.
Originally committed as revision 14077 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-07-05 10:16:27 +00:00
Diego Biurrun
9906a2be76 spelling cosmetics
Originally committed as revision 14076 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-07-05 10:11:42 +00:00
Ramiro Polla
b517af05b9 MLP/TrueHD decoder.
Originally committed as revision 14067 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-07-04 15:44:13 +00:00