Commit Graph

114 Commits

Author SHA1 Message Date
clsid2
0e09997fa4 Libavcodec AC3/E-AC3/DTS decoders now output floating point data.
git-svn-id: https://ffdshow-tryout.svn.sourceforge.net/svnroot/ffdshow-tryout@3769 3b938f2f-1a1a-0410-8054-a526ea5ff92c
2011-04-03 22:52:58 +02:00
Anssi Hannula
853daff682 dca: use EXT_AUDIO_ID field to determine core extensions
This avoids the core substream extensions scan when the EXT_AUDIO_ID
field indicates no extensions or only unsupported extensions. The scan
is done only if the value of EXT_AUDIO_ID is unknown or indicates a
present XCh extension which we can decode.

Signed-off-by: Mans Rullgard <mans@mansr.com>
(cherry picked from commit 7e06e0ede3)
2011-02-26 03:16:04 +01:00
Reinhard Tartler
7ffe76e540 Merge libavcore into libavutil
Done to keep ABI compatible. Otherwise this is just silly
2011-02-16 23:00:30 +01:00
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