Commit Graph

128 Commits

Author SHA1 Message Date
Måns Rullgård
2bb29da602 DCA: indent
Originally committed as revision 22872 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-13 10:15:05 +00:00
Måns Rullgård
69e171364e DCA: optimise dca_subsubframe()
8% faster overall on Cortex-A8.

Originally committed as revision 22871 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-13 10:15:00 +00:00
Måns Rullgård
309d16a4a0 DCA: break out lfe_interpolation_fir() inner loops to a function
This enables SIMD optimisations of this function.

Originally committed as revision 22861 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-12 20:45:25 +00:00
Måns Rullgård
843c7aa8fb DCA: use FASTDIV in decode_blockcode()
Originally committed as revision 22855 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-12 16:05:10 +00:00
Måns Rullgård
766fefe8e2 DCA: simplify lfe_interpolation_fir()
This reorders the lfe_fir tables, and drops the mirrored half,
such that the loops in lfe_interpolation_fir() can be simplified.
The new loop structure should be easier to implement with SIMD.
Static data size is reduced by 2kB.
3% faster on Cortex-A8.

Originally committed as revision 22849 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-12 11:14:55 +00:00
Måns Rullgård
b92d483bac DCA: use a local variable for loop boundary
This prevents gcc reloading the value from memory on each iteration
of the loop.

Originally committed as revision 22848 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-12 11:14:51 +00:00
Måns Rullgård
0dc7df28dd DCA: use some type-punning in qmf_32_subbands()
Originally committed as revision 22847 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-12 11:14:48 +00:00
Måns Rullgård
f462ed1f82 Make synth_filter a function pointer
Originally committed as revision 22827 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-10 16:27:53 +00:00
Måns Rullgård
38d52f3ea3 DCA: align some arrays
Optimised implementations of the synth filter will require these
arrays 16-byte aligned.

Originally committed as revision 22826 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-10 16:27:47 +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
Måns Rullgård
1429224b04 Move FFT parts from dsputil.h to fft.h
Originally committed as revision 22235 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-06 14:34:46 +00:00
Måns Rullgård
84dc2d8afa Remove DECLARE_ALIGNED_{8,16} macros
These macros are redundant.  All uses are replaced with the generic
DECLARE_ALIGNED macro instead.

Originally committed as revision 22233 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-06 14:24:59 +00:00
Laurent Aimar
4e06acbde4 Fixed a segfault in the DCA decoder with corrupted streams.
It happens when the number of channels defined by DCAContext:acmod is lower
than DCAContext:prim_channels. In this case, dca_subsubframe() will call
qmf_32_subbands() using s->channel_order_tab[] entries equal to -1.

Originally committed as revision 22083 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-26 18:50:01 +00:00
Måns Rullgård
c67278098d Move array specifiers outside DECLARE_ALIGNED() invocations
Originally committed as revision 21377 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-22 03:25:11 +00:00
Michael Niedermayer
d49dded591 Remove unused variable j.
Originally committed as revision 20398 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-28 14:40:05 +00:00
Michael Niedermayer
4f99c31c39 Split synth filter out of dca.c.
Originally committed as revision 20396 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-28 10:51:51 +00:00
Reimar Döffinger
268fcbe2c8 Fix 100l incorrect bitmask check.
Originally committed as revision 20197 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-10 08:49:57 +00:00
David Conrad
144fec83b3 dca and aac decoders use float_to_int16_interleave, so check for
the C version of that rather than float_to_int16.
Fixes output on ARM/VFP

Originally committed as revision 20192 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-08 14:40:14 +00:00
Måns Rullgård
01b2214758 Merge FFTContext and MDCTContext
Originally committed as revision 19931 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-20 17:30:20 +00:00
Måns Rullgård
6d9d289e76 DCA: move an aligned array from stack to context
Originally committed as revision 19805 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-10 08:49:59 +00:00
Siarhei Siamashka
7d485f165f Support for getting (i)MDCT output multiplied by a constant scaling factor.
Scaling (i)MDCT output has no runtime overhead and can be used to improve
performance of audio codecs. All the changes are only needed in
'ff_mdct_init' function and slow down initialization a bit.

Originally committed as revision 18855 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-16 14:17:08 +00:00
Kostya Shishkov
0cfa85dd9f Make VLC tables in DCA decoder use INIT_VLC_USE_NEW_STATIC
Originally committed as revision 18643 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-21 17:37:03 +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
Stefano Sabatini
b275500706 Split bitstream.h, put the bitstream writer stuff in the new file
put_bits.h.

Originally committed as revision 18461 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-12 08:35:26 +00:00
Carl Eugen Hoyos
e161e007be Use INIT_VLC_USE_STATIC and not its value "1".
Originally committed as revision 18430 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-11 11:47:15 +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
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
Kostya Shishkov
d041a59897 Add support for parsing and decoding DCA-HD streams.
Originally committed as revision 15951 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-11-29 10:06:37 +00:00
Benjamin Larsson
92765276fb Proper channel output reordering for the dca decoder.
Originally committed as revision 15832 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-11-15 20:31:03 +00:00
Benjamin Larsson
e22192ecc3 Comment typo
Originally committed as revision 15801 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-11-11 08:46:29 +00:00
Benjamin Larsson
cd027b511e Remove channel layout table that only should be used by encoders.
Originally committed as revision 15800 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-11-11 08:30:32 +00:00
Benjamin Larsson
c6eaba62e8 Change the dca channel layout, S -> SIDE not BACK.
Originally committed as revision 15769 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-11-02 21:51:27 +00:00
Andreas Öman
9d9b9d32e6 Change multichannel API define prefix from "CHANNEL_" to "CH_".
Originally committed as revision 15768 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-11-02 21:04:28 +00:00
Benjamin Larsson
48dc2fb800 Guess channel layout based on the number of channels if a custom layout is specified in amode.
Originally committed as revision 15766 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-11-01 20:49:37 +00:00
Benjamin Larsson
87c3b9bce3 Add channel layouts for dca.
Originally committed as revision 15765 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-11-01 20:27:05 +00:00
Benjamin Larsson
d5b3a86393 Fix compilation, remove stray ;
Originally committed as revision 15735 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-10-28 15:20:52 +00:00
Benjamin Larsson
9ed73b4870 Fix selection of quant step table
Originally committed as revision 15734 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-10-28 14:50:46 +00:00
Benjamin Larsson
ba5fc967f6 Disable codec downmix when not using simd instead of silently produce silence
Originally committed as revision 15715 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-10-26 10:14:16 +00:00
Benjamin Larsson
1402ee721a Fix dca decoder with non simd float2int16 conversion
Originally committed as revision 15714 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-10-26 09:54:53 +00:00
Benjamin Larsson
49c91c34b3 Fix compilation with TRACE
Originally committed as revision 15713 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-10-26 09:50:15 +00:00
Michael Niedermayer
1d8370aad9 Remove the cos_mod table that has become unused after replacing the imdct
by ff_imdct_half().

Originally committed as revision 15050 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-30 11:01:58 +00:00
Michael Niedermayer
89df5e95bb Replace obfuscated mdct in qmf_32_subbands() by ff_imdct_half().
Originally committed as revision 15049 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-30 10:47:13 +00:00
Michael Niedermayer
47f0e05295 Get rid of the 512 sample memmove().
Originally committed as revision 15048 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-30 10:41:53 +00:00
Michael Niedermayer
b854197919 Half the size of subband_fir_noidea and get rid of memmove & memset of it.
Originally committed as revision 15033 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-29 18:37:40 +00:00
Michael Niedermayer
ef8676276d Move t1 and t2 declaration from the QMF code closer to where they are used.
Originally committed as revision 15024 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-29 14:53:07 +00:00
Michael Niedermayer
addafb0e0a Simplify (drop useless intermediate sum and diff arrays).
Originally committed as revision 15023 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-29 14:44:47 +00:00
Andreas Öman
c55ecb9c27 5,1l: samples_chanptr[] should be (const float *)
Originally committed as revision 15022 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-29 10:14:01 +00:00
Andreas Öman
a7bc9d1b71 dca: Set data_size outside block loop.
Originally committed as revision 15021 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-29 10:12:44 +00:00
Andreas Öman
8ed96a5eba dca: Do float -> int16 interleaving in-place using s->dsp.float_to_int16_interleave()
Originally committed as revision 15020 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-29 10:09:51 +00:00
Alexander E. Patrakov
cc09e77e2a Correct scaling factor in DCA decoder synthesis.
Patch by Alexander Patrakov ($lastname at gmail.com)
Thread: dca.c: output scale is a bit off

Originally committed as revision 14937 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-24 05:47:45 +00:00
Michael Niedermayer
56523713e5 Remove redundant FFMIN().
Originally committed as revision 14918 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-23 13:35:12 +00:00
Alexander E. Patrakov
4df7beb368 Increase buffer size to 16384 patch by Alexander E. Patrakov" patrakov gmail
This fixes a (probably not exploitable) buffer overflow (apparently unknown to its author).

Originally committed as revision 14917 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-23 13:29:13 +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
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
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
Benjamin Larsson
4a24837e07 Only set channels in the stream if previously unset, fixes resampling crash on broken dca frames
Originally committed as revision 12780 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-04-10 06:15:17 +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
Benjamin Larsson
ebf71dbda5 Don't use unchecked data from the bitstream.
Originally committed as revision 12351 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-03-06 14:22:02 +00:00
Diego Biurrun
5e53486545 typo fix: inited --> initialized
Originally committed as revision 11920 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-02-13 09:26:10 +00:00
Michael Niedermayer
a9f8715854 Fix const qualifer issues found by -Wcast-qual.
Originally committed as revision 11703 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-02-01 01:40:46 +00:00
Justin Ruggles
cfec09e914 check for request_channels in dca init function
Originally committed as revision 11423 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-01-05 21:23:57 +00:00
Benjamin Larsson
9389e63c83 Enable proper output from the LFE channel, based on patch from Mathias Rauen dear dot madshi at net
Originally committed as revision 11407 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-01-04 20:02:10 +00:00
Andreas Öman
79328e9cc7 Make DCA decoder honor avctx->request_channels in a more advisory way.
Originally committed as revision 11221 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-12-15 07:01:33 +00:00
Reimar Döffinger
b639896915 Use the correct "const float *" type for variable instead of casting const away.
Originally committed as revision 11136 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-12-02 21:12:43 +00:00
Limin Wang
75316e1dcc Set data_size to zero when DCA header parse failed
Patch by Limin Wang <lance('\\'>>1)lmwang>(0x24^'D')<gmail>('/' & 0xFE)<com>
Thread [PATCH] set data_size to zero if failed to parse dca header

Originally committed as revision 10423 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-09-06 14:55:13 +00:00
Reimar Döffinger
b1ec601f7f Add request_channels member to AVCodecContext so we now have a proper
way to tell the decoder how many output channels we would like.

Originally committed as revision 10199 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-08-23 20:28:28 +00:00
Sergey Vlasov
32dd6a9c78 fix dca_bitalloc_index decoder init
Patch by Sergey Vlasov (printf("%csu at altlinux%s",'v',".ru");)
Thread [FFmpeg-devel] [PATCH] dca: fix dca_bitalloc_index decoder init

Originally committed as revision 9115 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-05-24 04:08:48 +00:00
Sergey Vlasov
56e4603e67 Fix dca.c compilation with #define TRACE
Patch by Sergey Vlasov (v\0163u at \0141ltlinux.ru)
Thread [FFmpeg-devel] [PATCH] dca: fix compilation with #define TRACE

Originally committed as revision 9114 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-05-24 04:02:47 +00:00
Benjamin Larsson
56fd7cc584 Better error reporting.
Originally committed as revision 9056 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-05-18 10:06:07 +00:00
Diego Biurrun
5a6a6cc7dc Fix multiple "‘inline/static’ is not at beginning of declaration" warnings.
Originally committed as revision 8894 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-05-05 12:18:14 +00:00
Diego Biurrun
98c98e04cc Move dca parser to its own file.
Originally committed as revision 8881 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-05-03 23:50:24 +00:00
Justin Ruggles
6369e6ebc3 cosmetics: indention after last commit
Originally committed as revision 8876 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-05-02 20:42:44 +00:00
Justin Ruggles
c31a76e4ef use downmixing coefficients in dca decoder.
reference:
Subject: [Ffmpeg-devel] [PATCH] DTS multichannel
Date: Wed, 25 Apr 2007 16:25:18 -0400

Originally committed as revision 8875 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-05-02 20:33:32 +00:00
Justin Ruggles
cc82662662 enable multichannel output in dca decoder.
reference:
Subject: [Ffmpeg-devel] [PATCH] DTS multichannel
Date: Wed, 25 Apr 2007 16:25:18 -0400

Originally committed as revision 8874 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-05-02 20:31:32 +00:00
Michael Niedermayer
9f1473b304 fix exploitable buffer overflow
Originally committed as revision 8850 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-04-27 12:41:55 +00:00
Kostya Shishkov
c5d1349242 1000l to myself as used VLC indexes were totally wrong
Originally committed as revision 8800 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-04-24 17:31:39 +00:00
Stefan Huehner
2b100ab2bf changes some function declarations from () to (void) as per ansi c.
Patch by Stefan Huehner % stefan A huehner P org %

Originally committed as revision 8625 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-04-04 11:51:08 +00:00
Kostya Shishkov
01ca9ac334 DCA decoder
Originally committed as revision 8141 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-02-27 06:30:40 +00:00