Commit Graph

111 Commits

Author SHA1 Message Date
Anton Khirnov fbdcdaee6e Replace remaining occurrences of deprecated CH_* with AV_CH_*
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
(cherry picked from commit c2fcd0a7a4)
2011-02-06 20:31:47 +01:00
Justin Ruggles fe2ff6d247 Separate format conversion DSP functions from DSPContext.
This will be beneficial for use with the audio conversion API without
requiring it to depend on all of dsputil.

Signed-off-by: Mans Rullgard <mans@mansr.com>
(cherry picked from commit c73d99e672)
2011-02-04 03:08:09 +01:00
Gianluigi Tiesi 8a92ec71b3 dca: avoid C99 declaration in for() expression
Signed-off-by: Mans Rullgard <mans@mansr.com>
(cherry picked from commit e86e858111)
2011-02-02 03:40:50 +01:00
Justin Ruggles a8ae4e0e7b Remove unneeded add bias from 3 functions.
DSPContext.vector_fmul_window()
DCADSPContext.lfe_fir()
SynthFilterContext.synth_filter_float()

Signed-off-by: Mans Rullgard <mans@mansr.com>
(cherry picked from commit 80ba1ddb58)
2011-02-02 03:40:48 +01:00
Justin Ruggles 79ce107847 cosmetics: indentation and spacing
(cherry picked from commit b5ec638343)
2011-01-28 03:15:35 +01:00
Justin Ruggles 733dbe7d18 Remove the add bias hack for the C version of DSPContext.float_to_int16_*().
(cherry picked from commit 9d06d7bce3)
2011-01-28 03:15:35 +01: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
Anssi Hannula 6345dfcfd0 dca: add profile names
Signed-off-by: Mans Rullgard <mans@mansr.com>
(cherry picked from commit f4096bf6ee)
2011-01-23 19:32:07 +01:00
Anssi Hannula cf9cb1f99a dca: consider a stream with XXCh/X96 in ExSS as DTS-HD HRA
DTS-HD HRA streams do not always have an XBR extension in the extension
substream. Instead they can have only XXCh and X96 extensions in
there and still be considered DTS-HD HRA.

This is also confirmed with Onkyo TX-SR607 receiver which recognizes
such a stream as HiRes Audio.

Signed-off-by: Mans Rullgard <mans@mansr.com>
(cherry picked from commit 8f4a5d225c)
2011-01-23 19:32:07 +01:00
Justin Ruggles d425a03b59 cosmetics: reindent 2011-01-18 11:40:13 -05:00
Daniel Kang 1360f07e22 Add check for changing number of channels in DCA.
Fixes issue 2505.
2011-01-18 11:30:33 -05:00
Anssi Hannula 39f4d32908 Fix reading over the end of the allocated buffer.
Patch by Anssi Hannula, anssi d hannula a iki d fi

Originally committed as revision 26291 to svn://svn.ffmpeg.org/ffmpeg/trunk
2011-01-09 23:01:01 +00:00
Anssi Hannula f5a2d285f9 Export dca profile information.
Patch by Anssi Hannula anssi d hannula a iki d fi

Originally committed as revision 26250 to svn://svn.ffmpeg.org/ffmpeg/trunk
2011-01-06 22:34:12 +00:00
Anssi Hannula df1c694c58 Verify FSIZE96 when encountering X96 sync code.
Patch by Anssi Hannula, anssi d hannula a iki d fi

Originally committed as revision 26249 to svn://svn.ffmpeg.org/ffmpeg/trunk
2011-01-06 22:24:39 +00:00
Stefano Sabatini 63e8d9760f Use the new libavcore audio channel API.
This also allows to remove a linking dependency of libavfilter on
libavcodec.

Originally committed as revision 25789 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-11-21 20:06:22 +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
Benjamin Larsson 62784e3733 Add the CODEC_CAP_CHANNEL_CONF capability code and add
that flag to the dca codec. This capability when set
will make sure the codec will initialize the channel
configuration instead of trusting the container. This
fixes issue 2137 and issue 850.

Originally committed as revision 25320 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-10-02 22:18:02 +00:00
Nick Brereton ace7f813cd dca: fix dynrange coefficient in xch
Patch by Nick Brereton

Originally committed as revision 24637 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-31 22:15:59 +00:00
Nick Brereton df9844937f DCA: fix multichannel -> 2 channel downmix.
Patch by Nick Brereton

Originally committed as revision 24555 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-27 21:45:43 +00:00
Nick Brereton 08634e7bda Setup correct channel value when downmixing is required.
Patch by Nick Brereton

Originally committed as revision 24554 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-27 21:44:09 +00:00
Christophe Gisquet f2401c214d Use math constant instead of hardcoded rounded value for sqrt(0.5).
Patch by Christophe.Gisquet (gmail)

Originally committed as revision 24213 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-12 12:32:24 +00:00
Nick Brereton b12b16c5d3 Fix side channels when XCh extension is present.
Patch by Nick Brereton $name AT n$surname DOT net

Originally committed as revision 24210 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-12 09:10:53 +00:00
Nick Brereton d0a1885018 Move XCH parameters into context structure.
Patch by Nick Brereton $name AT n$surname DOT net

Originally committed as revision 24209 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-12 09:00:17 +00:00
Måns Rullgård 8fc0162ac4 Add av_ prefix to bswap macros
Originally committed as revision 24170 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-10 22:12:30 +00:00
Nick Brereton 0712c230ae DCA: Occasionally a false XCH sync word can turn up after the core DTS data,
to verify the sync word the extension fsize field should be compared to
the core data length field.

Patch by nick.nbrereton@net

Originally committed as revision 24054 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-05 08:16:43 +00:00
Benjamin Larsson 324a94b022 DCA: *_bits() -> *_bits_long() where needed, half fix for broken bitstream parsing
Originally committed as revision 24051 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-05 01:43:47 +00:00
Nick Brereton d1177cb589 Support DTS-ES extension (XCh) in dca: Cosmetic cleanup
Patch by Nick Brereton, nick at nbrereton dot net

Originally committed as revision 23698 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-06-22 08:35:44 +00:00
Nick Brereton 774e9acfa7 Support DTS-ES extension (XCh) in dca: add code to handle DTS-ES extension
Patch by Nick Brereton, nick at nbrereton dot net

Originally committed as revision 23697 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-06-22 08:34:51 +00:00
Nick Brereton 3d5a9ba1af Support DTS-ES extension (XCh) in dca: update and add channel mapping tables for DTS-ES mappings
Patch by Nick Brereton, nick at nbrereton dot net

Originally committed as revision 23696 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-06-22 08:34:02 +00:00
Nick Brereton 6baef06e8f Support DTS-ES extension (XCh) in dca: move original code around to allow reused by DTS-ES code
Patch by Nick Brereton, nick at nbrereton dot net

Originally committed as revision 23695 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-06-22 08:33:00 +00:00
Nick Brereton 77b4b7c383 Support DTS-ES extension (XCh) in dca: move subband_samples into context structure
Patch by Nick Brereton, nick at nbrereton dot net

Originally committed as revision 23694 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-06-22 08:32:01 +00:00
Nick Brereton 63c3b716d7 Fix typo in macro name.
Patch by Nick Brereton, nick nbrereton net

Originally committed as revision 23668 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-06-20 22:07:32 +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
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