Statistics
| Branch: | Revision:

ffmpeg / libavcodec / dca.c @ 80ba1ddb

History | View | Annotate | Download (68.6 KB)

# Date Author Comment
80ba1ddb 01/31/2011 08:28 PM Justin Ruggles

Remove unneeded add bias from 3 functions.

DSPContext.vector_fmul_window()
DCADSPContext.lfe_fir()
SynthFilterContext.synth_filter_float()

Signed-off-by: Mans Rullgard <>

b5ec6383 01/28/2011 12:21 AM Justin Ruggles

cosmetics: indentation and spacing

9d06d7bc 01/28/2011 12:07 AM Justin Ruggles

Remove the add bias hack for the C version of DSPContext.float_to_int16_*().

d36beb3f 01/26/2011 04:08 PM Diego Elio Pettenò

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 <>

f4096bf6 01/21/2011 11:11 PM Anssi Hannula

dca: add profile names

Signed-off-by: Mans Rullgard <>

8f4a5d22 01/21/2011 10:20 PM Anssi Hannula

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...

d425a03b 01/18/2011 04:40 PM Justin Ruggles

cosmetics: reindent

1360f07e 01/18/2011 04:30 PM Daniel Kang

Add check for changing number of channels in DCA.

Fixes issue 2505.

39f4d329 01/09/2011 11:01 PM Anssi Hannula

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

f5a2d285 01/06/2011 10:34 PM Anssi Hannula

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

df1c694c 01/06/2011 10:24 PM Anssi Hannula

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

63e8d976 11/21/2010 08:06 PM Stefano Sabatini

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

5d6e4c16 11/12/2010 11:04 AM Stefano Sabatini

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

62784e37 10/02/2010 10:18 PM Benjamin Larsson

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

ace7f813 07/31/2010 10:15 PM Nick Brereton

dca: fix dynrange coefficient in xch

Patch by Nick Brereton

Originally committed as revision 24637 to svn://svn.ffmpeg.org/ffmpeg/trunk

df984493 07/27/2010 09:45 PM Nick Brereton

DCA: fix multichannel -> 2 channel downmix.

Patch by Nick Brereton

Originally committed as revision 24555 to svn://svn.ffmpeg.org/ffmpeg/trunk

08634e7b 07/27/2010 09:44 PM Nick Brereton

Setup correct channel value when downmixing is required.

Patch by Nick Brereton

Originally committed as revision 24554 to svn://svn.ffmpeg.org/ffmpeg/trunk

f2401c21 07/12/2010 12:32 PM Christophe Gisquet

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

b12b16c5 07/12/2010 09:10 AM Nick Brereton

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

d0a18850 07/12/2010 09:00 AM Nick Brereton

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

8fc0162a 07/10/2010 10:12 PM Måns Rullgård

Add av_ prefix to bswap macros

Originally committed as revision 24170 to svn://svn.ffmpeg.org/ffmpeg/trunk

0712c230 07/05/2010 08:16 AM Nick Brereton

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

324a94b0 07/05/2010 01:43 AM Benjamin Larsson

DCA: *_bits() -> *_bits_long() where needed, half fix for broken bitstream parsing

Originally committed as revision 24051 to svn://svn.ffmpeg.org/ffmpeg/trunk

d1177cb5 06/22/2010 08:35 AM Nick Brereton

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

774e9acf 06/22/2010 08:34 AM Nick Brereton

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

3d5a9ba1 06/22/2010 08:34 AM Nick Brereton

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

6baef06e 06/22/2010 08:33 AM Nick Brereton

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

77b4b7c3 06/22/2010 08:32 AM Nick Brereton

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

63c3b716 06/20/2010 10:07 PM Nick Brereton

Fix typo in macro name.

Patch by Nick Brereton, nick nbrereton net

Originally committed as revision 23668 to svn://svn.ffmpeg.org/ffmpeg/trunk

ba87f080 04/20/2010 02:45 PM Diego Biurrun

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

2bb29da6 04/13/2010 10:15 AM Måns Rullgård

DCA: indent

Originally committed as revision 22872 to svn://svn.ffmpeg.org/ffmpeg/trunk

69e17136 04/13/2010 10:15 AM Måns Rullgård

DCA: optimise dca_subsubframe()

8% faster overall on Cortex-A8.

Originally committed as revision 22871 to svn://svn.ffmpeg.org/ffmpeg/trunk

309d16a4 04/12/2010 08:45 PM Måns Rullgård

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

843c7aa8 04/12/2010 04:05 PM Måns Rullgård

DCA: use FASTDIV in decode_blockcode()

Originally committed as revision 22855 to svn://svn.ffmpeg.org/ffmpeg/trunk

766fefe8 04/12/2010 11:14 AM Måns Rullgård

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....

b92d483b 04/12/2010 11:14 AM Måns Rullgård

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

0dc7df28 04/12/2010 11:14 AM Måns Rullgård

DCA: use some type-punning in qmf_32_subbands()

Originally committed as revision 22847 to svn://svn.ffmpeg.org/ffmpeg/trunk

f462ed1f 04/10/2010 04:27 PM Måns Rullgård

Make synth_filter a function pointer

Originally committed as revision 22827 to svn://svn.ffmpeg.org/ffmpeg/trunk

38d52f3e 04/10/2010 04:27 PM Måns Rullgård

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

72415b2a 03/30/2010 11:30 PM Stefano Sabatini

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

1429224b 03/06/2010 02:34 PM Måns Rullgård

Move FFT parts from dsputil.h to fft.h

Originally committed as revision 22235 to svn://svn.ffmpeg.org/ffmpeg/trunk

84dc2d8a 03/06/2010 02:24 PM Måns Rullgård

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

4e06acbd 02/26/2010 06:50 PM Laurent Aimar

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....
c6727809 01/22/2010 03:25 AM Måns Rullgård

Move array specifiers outside DECLARE_ALIGNED() invocations

Originally committed as revision 21377 to svn://svn.ffmpeg.org/ffmpeg/trunk

d49dded5 10/28/2009 02:40 PM Michael Niedermayer

Remove unused variable j.

Originally committed as revision 20398 to svn://svn.ffmpeg.org/ffmpeg/trunk

4f99c31c 10/28/2009 10:51 AM Michael Niedermayer

Split synth filter out of dca.c.

Originally committed as revision 20396 to svn://svn.ffmpeg.org/ffmpeg/trunk

268fcbe2 10/10/2009 08:49 AM Reimar Döffinger

Fix 100l incorrect bitmask check.

Originally committed as revision 20197 to svn://svn.ffmpeg.org/ffmpeg/trunk

144fec83 10/08/2009 02:40 PM David Conrad

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

01b22147 09/20/2009 05:30 PM Måns Rullgård

Merge FFTContext and MDCTContext

Originally committed as revision 19931 to svn://svn.ffmpeg.org/ffmpeg/trunk

6d9d289e 09/10/2009 08:49 AM Måns Rullgård

DCA: move an aligned array from stack to context

Originally committed as revision 19805 to svn://svn.ffmpeg.org/ffmpeg/trunk

7d485f16 05/16/2009 02:17 PM Siarhei Siamashka

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....

0cfa85dd 04/21/2009 05:37 PM Kostya Shishkov

Make VLC tables in DCA decoder use INIT_VLC_USE_NEW_STATIC

Originally committed as revision 18643 to svn://svn.ffmpeg.org/ffmpeg/trunk

9106a698 04/13/2009 04:20 PM Stefano Sabatini

Rename bitstream.h to get_bits.h.

Originally committed as revision 18494 to svn://svn.ffmpeg.org/ffmpeg/trunk

b2755007 04/12/2009 08:35 AM Stefano Sabatini

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

e161e007 04/11/2009 11:47 AM Carl Eugen Hoyos

Use INIT_VLC_USE_STATIC and not its value "1".

Originally committed as revision 18430 to svn://svn.ffmpeg.org/ffmpeg/trunk

7a00bbad 04/07/2009 03:59 PM Thilo Borgmann

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....

bad5537e 02/01/2009 02:00 AM Diego Biurrun

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

d041a598 11/29/2008 10:06 AM Kostya Shishkov

Add support for parsing and decoding DCA-HD streams.

Originally committed as revision 15951 to svn://svn.ffmpeg.org/ffmpeg/trunk

92765276 11/15/2008 08:31 PM Benjamin Larsson

Proper channel output reordering for the dca decoder.

Originally committed as revision 15832 to svn://svn.ffmpeg.org/ffmpeg/trunk

e22192ec 11/11/2008 08:46 AM Benjamin Larsson

Comment typo

Originally committed as revision 15801 to svn://svn.ffmpeg.org/ffmpeg/trunk

cd027b51 11/11/2008 08:30 AM Benjamin Larsson

Remove channel layout table that only should be used by encoders.

Originally committed as revision 15800 to svn://svn.ffmpeg.org/ffmpeg/trunk

c6eaba62 11/02/2008 09:51 PM Benjamin Larsson

Change the dca channel layout, S -> SIDE not BACK.

Originally committed as revision 15769 to svn://svn.ffmpeg.org/ffmpeg/trunk

9d9b9d32 11/02/2008 09:04 PM Andreas Öman

Change multichannel API define prefix from "CHANNEL_" to "CH_".

Originally committed as revision 15768 to svn://svn.ffmpeg.org/ffmpeg/trunk

48dc2fb8 11/01/2008 08:49 PM Benjamin Larsson

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

87c3b9bc 11/01/2008 08:27 PM Benjamin Larsson

Add channel layouts for dca.

Originally committed as revision 15765 to svn://svn.ffmpeg.org/ffmpeg/trunk

d5b3a863 10/28/2008 03:20 PM Benjamin Larsson

Fix compilation, remove stray ;

Originally committed as revision 15735 to svn://svn.ffmpeg.org/ffmpeg/trunk

9ed73b48 10/28/2008 02:50 PM Benjamin Larsson

Fix selection of quant step table

Originally committed as revision 15734 to svn://svn.ffmpeg.org/ffmpeg/trunk

ba5fc967 10/26/2008 10:14 AM Benjamin Larsson

Disable codec downmix when not using simd instead of silently produce silence

Originally committed as revision 15715 to svn://svn.ffmpeg.org/ffmpeg/trunk

1402ee72 10/26/2008 09:54 AM Benjamin Larsson

Fix dca decoder with non simd float2int16 conversion

Originally committed as revision 15714 to svn://svn.ffmpeg.org/ffmpeg/trunk

49c91c34 10/26/2008 09:50 AM Benjamin Larsson

Fix compilation with TRACE

Originally committed as revision 15713 to svn://svn.ffmpeg.org/ffmpeg/trunk

1d8370aa 08/30/2008 11:01 AM Michael Niedermayer

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

89df5e95 08/30/2008 10:47 AM Michael Niedermayer

Replace obfuscated mdct in qmf_32_subbands() by ff_imdct_half().

Originally committed as revision 15049 to svn://svn.ffmpeg.org/ffmpeg/trunk

47f0e052 08/30/2008 10:41 AM Michael Niedermayer

Get rid of the 512 sample memmove().

Originally committed as revision 15048 to svn://svn.ffmpeg.org/ffmpeg/trunk

b8541979 08/29/2008 06:37 PM Michael Niedermayer

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

ef867627 08/29/2008 02:53 PM Michael Niedermayer

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

addafb0e 08/29/2008 02:44 PM Michael Niedermayer

Simplify (drop useless intermediate sum and diff arrays).

Originally committed as revision 15023 to svn://svn.ffmpeg.org/ffmpeg/trunk

c55ecb9c 08/29/2008 10:14 AM Andreas Öman

5,1l: samples_chanptr[] should be (const float *)

Originally committed as revision 15022 to svn://svn.ffmpeg.org/ffmpeg/trunk

a7bc9d1b 08/29/2008 10:12 AM Andreas Öman

dca: Set data_size outside block loop.

Originally committed as revision 15021 to svn://svn.ffmpeg.org/ffmpeg/trunk

8ed96a5e 08/29/2008 10:09 AM Andreas Öman

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

cc09e77e 08/24/2008 05:47 AM Alexander E. Patrakov

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

56523713 08/23/2008 01:35 PM Michael Niedermayer

Remove redundant FFMIN.

Originally committed as revision 14918 to svn://svn.ffmpeg.org/ffmpeg/trunk

4df7beb3 08/23/2008 01:29 PM Alexander E. Patrakov

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

fd76c37f 07/31/2008 10:47 AM Peter Ross

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

fe4bf374 06/12/2008 09:50 PM Stefano Sabatini

Make AVCodec long_names definition conditional depending on CONFIG_SMALL.

Originally committed as revision 13759 to svn://svn.ffmpeg.org/ffmpeg/trunk

d5202e4f 04/27/2008 10:52 AM Stefano Sabatini

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

4a24837e 04/10/2008 06:15 AM Benjamin Larsson

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

98a6fff9 03/21/2008 03:11 AM Zuxy Meng

Apply 'cold' attribute to init/uninit functions in libavcodec

Originally committed as revision 12525 to svn://svn.ffmpeg.org/ffmpeg/trunk

ebf71dbd 03/06/2008 02:22 PM Benjamin Larsson

Don't use unchecked data from the bitstream.

Originally committed as revision 12351 to svn://svn.ffmpeg.org/ffmpeg/trunk

5e534865 02/13/2008 09:26 AM Diego Biurrun

typo fix: inited --> initialized

Originally committed as revision 11920 to svn://svn.ffmpeg.org/ffmpeg/trunk

a9f87158 02/01/2008 01:40 AM Michael Niedermayer

Fix const qualifer issues found by -Wcast-qual.

Originally committed as revision 11703 to svn://svn.ffmpeg.org/ffmpeg/trunk

cfec09e9 01/05/2008 09:23 PM Justin Ruggles

check for request_channels in dca init function

Originally committed as revision 11423 to svn://svn.ffmpeg.org/ffmpeg/trunk

9389e63c 01/04/2008 08:02 PM Benjamin Larsson

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

79328e9c 12/15/2007 07:01 AM Andreas Öman

Make DCA decoder honor avctx->request_channels in a more advisory way.

Originally committed as revision 11221 to svn://svn.ffmpeg.org/ffmpeg/trunk

b6398969 12/02/2007 09:12 PM Reimar Döffinger

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

75316e1d 09/06/2007 02:55 PM Limin Wang

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

b1ec601f 08/23/2007 08:28 PM Reimar Döffinger

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

32dd6a9c 05/24/2007 04:08 AM Sergey Vlasov

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

56e4603e 05/24/2007 04:02 AM Sergey Vlasov

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

56fd7cc5 05/18/2007 10:06 AM Benjamin Larsson

Better error reporting.

Originally committed as revision 9056 to svn://svn.ffmpeg.org/ffmpeg/trunk

5a6a6cc7 05/05/2007 12:18 PM Diego Biurrun

Fix multiple "‘inline/static’ is not at beginning of declaration" warnings.

Originally committed as revision 8894 to svn://svn.ffmpeg.org/ffmpeg/trunk