Commit Graph

69 Commits

Author SHA1 Message Date
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