Commit Graph

53 Commits

Author SHA1 Message Date
Michael Niedermayer
209001073a Merge commit '217e4ff4d1f845b76e44634e29371cd09313d1c2'
* commit '217e4ff4d1f845b76e44634e29371cd09313d1c2':
  dca: Support for XLL (lossless extension)

Conflicts:
	Changelog
	doc/general.texi
	libavcodec/Makefile
	libavcodec/dca.h
	libavcodec/dca_exss.c
	libavcodec/dcadata.h
	libavcodec/dcadec.c
	libavcodec/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-15 22:18:41 +01:00
Niels Möller
217e4ff4d1 dca: Support for XLL (lossless extension)
Cleanup and integration by Diego Biurrun.

Signed-off-by: Diego Biurrun <diego@biurrun.de>
2015-03-15 14:51:36 +01:00
Michael Niedermayer
588361dd26 avcodec/dca: move remaining tables to dcadata
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-20 11:11:33 +01:00
Michael Niedermayer
815daf1607 Merge commit '3a651f599a18b023602370b67a77eb0efa309b20'
* commit '3a651f599a18b023602370b67a77eb0efa309b20':
  dca: Move data tables from a header to an object file

Conflicts:
	libavcodec/Makefile
	libavcodec/dcadata.h
	libavcodec/dcadec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-16 02:49:22 +01:00
Michael Niedermayer
9d4f836627 Merge commit '65df9904ceb5477a63e99e1e8fd8ace9a7cb8bda'
* commit '65df9904ceb5477a63e99e1e8fd8ace9a7cb8bda':
  dca: Add array sizes to array declarations

Conflicts:
	libavcodec/dcadata.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-16 02:29:41 +01:00
Diego Biurrun
3a651f599a dca: Move data tables from a header to an object file
This allows sharing them with the DCA XLL extension w/o duplication.
2015-02-15 13:34:04 -08:00
Diego Biurrun
65df9904ce dca: Add array sizes to array declarations 2015-02-15 13:34:04 -08:00
Michael Niedermayer
8123e19e61 avcodec/dcadec: Move remaining tables to dcadata.h
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-15 11:35:40 +01:00
Michael Niedermayer
d2223ec2bd Merge commit '2a9c6fae927964b5dd0b5d3d9292f5621bd21664'
* commit '2a9c6fae927964b5dd0b5d3d9292f5621bd21664':
  dca: Move all tables into dcadata.h

Conflicts:
	libavcodec/dcadec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-14 22:40:35 +01:00
Diego Biurrun
2a9c6fae92 dca: Move all tables into dcadata.h 2015-02-14 10:13:49 -08:00
Michael Niedermayer
7d43fbe3ae Merge commit '45ff7c93dd84a254cc96acc589e5ac3d7bd16bce'
* commit '45ff7c93dd84a254cc96acc589e5ac3d7bd16bce':
  dca: K&R formatting cosmetics

Conflicts:
	libavcodec/dca_parser.c
	libavcodec/dcadec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-16 20:31:02 +02:00
Gabriel Dume
45ff7c93dd dca: K&R formatting cosmetics
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2014-09-16 04:42:32 -07:00
Michael Niedermayer
c867be03f6 Merge commit '6b7b8585d73548f08b98959df39d80b97677662f'
* commit '6b7b8585d73548f08b98959df39d80b97677662f':
  dca: Convert dca_dmixtable to integers

Conflicts:
	libavcodec/dcadec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-23 19:01:12 +02:00
Niels Möller
6b7b8585d7 dca: Convert dca_dmixtable to integers
Also include zero in the table, eliminating a special case in the
decoder.

Signed-off-by: Niels Möller <nisse@southpole.se>
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2014-05-23 15:07:05 +02:00
Michael Niedermayer
90f674d55b Merge commit '87ec849fe9acba075c843e67bcd01f256f481a18'
* commit '87ec849fe9acba075c843e67bcd01f256f481a18':
  dcadec: remove scaling in lfe_interpolation_fir

Conflicts:
	libavcodec/dcadec.c
	libavcodec/dcadsp.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-02-28 18:14:12 +01:00
Christophe Gisquet
87ec849fe9 dcadec: remove scaling in lfe_interpolation_fir
The scaling factor is constant so it is faster to scale the
FIR coefficients in the tables during compilation.

Signed-off-by: Janne Grunau <janne-libav@jannau.net>
2014-02-28 13:00:47 +01:00
Michael Niedermayer
97468463a2 Merge commit 'aaa44d0299338e3bc90128816c21dbfab06cdb48'
* commit 'aaa44d0299338e3bc90128816c21dbfab06cdb48':
  dca: support mixing LFE in dca_downmix.

Conflicts:
	libavcodec/dcadec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-11-29 04:00:59 +01:00
Michael Niedermayer
7ea9c4a94c Merge commit '149438cfe5d233c46bb18341b7c574fe643dd5f2'
* commit '149438cfe5d233c46bb18341b7c574fe643dd5f2':
  dca: improve default stereo downmix coefficients.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-11-29 03:48:29 +01:00
Michael Niedermayer
43ec456320 Merge commit '44b17d794aa508ae21f438ae80bfe8aaf4b426e1'
* commit '44b17d794aa508ae21f438ae80bfe8aaf4b426e1':
  dca: extract core substream's embedded downmix coeffcient codes, if present.

Conflicts:
	libavcodec/dcadata.h
	libavcodec/dcadec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-11-29 03:28:15 +01:00
Michael Niedermayer
c122e697fa Merge commit '27245b4e1bbb7a863341db321b5bdc5792e427d9'
* commit '27245b4e1bbb7a863341db321b5bdc5792e427d9':
  dca: remove embedded downmix coefficient extraction.

Conflicts:
	libavcodec/dcadata.h
	libavcodec/dcadec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-11-29 01:12:02 +01:00
Michael Niedermayer
a7f8817720 Merge commit 'b6d5e6aa10a2f09351f287e876f7ed4504e1f75d'
* commit 'b6d5e6aa10a2f09351f287e876f7ed4504e1f75d':
  dca: convert dca_default_coeffs to float.

Conflicts:
	libavcodec/dcadata.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-11-29 00:32:14 +01:00
Tim Walker
aaa44d0299 dca: support mixing LFE in dca_downmix.
Embedded downmix coefficients can use this.

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2013-11-28 22:02:53 +01:00
Tim Walker
149438cfe5 dca: improve default stereo downmix coefficients.
Previous coefficients were producing a non-normalized, incorrect Lt/Rt downmix.

The new coefficients produce a standard Lo/Ro downmix with 3dB attenuation.

This should match the typical default coefficients used by DTS encoders.

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2013-11-28 22:02:53 +01:00
Tim Walker
44b17d794a dca: extract core substream's embedded downmix coeffcient codes, if present.
As per ETSI TS 102 114 V1.4.1 specification.

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2013-11-28 22:02:53 +01:00
Tim Walker
27245b4e1b dca: remove embedded downmix coefficient extraction.
It was based on an old, seemingly incorrect specification, so default
coefficients were always used anyway.

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2013-11-28 22:02:50 +01:00
Tim Walker
b6d5e6aa10 dca: convert dca_default_coeffs to float.
Easier to read, modify, and avoids relying on an outdated table.

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2013-11-28 21:38:22 +01:00
Michael Niedermayer
ec7ecb8811 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  dca: Switch dca_sample_rates to avpriv_ prefix; it is used across libs
  ARM: use =const syntax instead of explicit literal pools
  ARM: use standard syntax for all LDRD/STRD instructions
  fft: port FFT/IMDCT 3dnow functions to yasm, and disable on x86-64.
  dct-test: allow to compile without HAVE_INLINE_ASM.
  x86/dsputilenc: bury inline asm under HAVE_INLINE_ASM.
  dca: Move tables used outside of dcadec.c to a separate file.
  dca: Rename dca.c ---> dcadec.c
  x86: h264dsp: Remove unused variable ff_pb_3_1
  apetag: change a forgotten return to return 0

Conflicts:
	libavcodec/Makefile
	libavcodec/dca.c
	libavcodec/x86/fft_3dn.c
	libavcodec/x86/fft_3dn2.c
	libavcodec/x86/fft_mmx.asm

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-01 23:33:06 +02:00
Diego Biurrun
9e4bca16f8 dca: Move tables used outside of dcadec.c to a separate file. 2012-08-01 00:17:17 +02:00
Nick Brereton
cd8bef969a Generate channel layout, reordering for DTS-XXCH extension and, undo embedded downmixes
Reviewed-by: Benjamin Larsson <benjamin@southpole.se>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-28 22:26:15 +02:00
Michael Niedermayer
bf807a5e87 Merge remote-tracking branch 'qatar/master'
* qatar/master: (29 commits)
  sbrdsp.asm: convert all instructions to float/SSE ones.
  dv: cosmetics.
  dv: check buffer size before reading profile.
  Revert "AAC SBR: group some writes."
  udp: Print an error message if bind fails
  cook: extend channel uncoupling tables so the full bit range is covered.
  roqvideo: cosmetics.
  roqvideo: convert to bytestream2 API.
  dca: don't use av_clip_uintp2().
  wmall: fix build with -DDEBUG enabled.
  smc: port to bytestream2 API.
  AAC SBR: group some writes.
  dsputil: remove shift parameter from scalarproduct_int16
  SBR DSP: unroll sum_square
  rv34: remove dead code in intra availability check
  rv34: clean a bit availability checks.
  v4l2: update documentation
  tgq: convert to bytestream2 API.
  parser: remove forward declaration of MpegEncContext
  dca: prevent accessing static arrays with invalid indexes.
  ...

Conflicts:
	doc/indevs.texi
	libavcodec/Makefile
	libavcodec/dca.c
	libavcodec/dvdata.c
	libavcodec/eatgq.c
	libavcodec/mmvideo.c
	libavcodec/roqvideodec.c
	libavcodec/smc.c
	libswscale/output.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-03-08 02:51:45 +01:00
Ronald S. Bultje
e6ffd997cb dca: prevent accessing static arrays with invalid indexes.
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
2012-03-07 09:37:29 -08:00
Michael Niedermayer
ef74ab20c2 Merge remote-tracking branch 'qatar/master'
* qatar/master: (34 commits)
  dpcm: return error if packet is too small
  dpcm: use smaller data types for static tables
  dpcm: use sol_table_16 directly instead of through the DPCMContext.
  dpcm: replace short with int16_t
  dpcm: check to make sure channels is 1 or 2.
  dpcm: misc pretty-printing
  dpcm: remove unnecessary variable by using bytestream functions.
  dpcm: move codec-specific variable declarations to their corresponding decoding blocks.
  dpcm: consistently use the variable name 'n' for the next input byte.
  dpcm: output AV_SAMPLE_FMT_U8 for Sol DPCM subcodecs 1 and 2.
  dpcm: calculate and check actual output data size prior to decoding.
  dpcm: factor out the stereo flag calculation
  dpcm: cosmetics: rename channel_number to ch
  avserver: Fix a bug where the socket is IPv4, but IPv6 is autoselected for the loopback address.
  lavf: Avoid using av_malloc(0) in av_dump_format
  dxva2_h264: pass the correct 8x8 scaling lists
  dca: NEON optimised high freq VQ decoding
  avcodec: reject audio packets with NULL data and non-zero size
  dxva: Add ability to enable workaround for older ATI cards
  latmenc: Set latmBufferFullness to largest value to indicate it is not used
  ...

Conflicts:
	libavcodec/dxva2_h264.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-10-01 02:54:46 +02:00
Mans Rullgard
bf5d46d8e6 dca: NEON optimised high freq VQ decoding
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-09-30 19:01:23 +01:00
Mans Rullgard
2912e87a6c Replace FFmpeg with Libav in licence headers
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-03-19 13:33:20 +00:00
Mans Rullgard
cafa3edada dca: pretty-print some tables
Signed-off-by: Mans Rullgard <mans@mansr.com>
(cherry picked from commit 2611e52088)
2011-01-21 20:36:01 +01:00
Mans Rullgard
2611e52088 dca: pretty-print some tables
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-01-21 10:37:21 +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
e168a5567a DCA: 16-byte-align lfe_fir tables
Originally committed as revision 22862 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-12 20:45:29 +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
Jai Menon
96561c12c5 DECLARE_ALIGNED usage requires #inclusion of 'mem.h'.
Originally committed as revision 22838 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-11 15:54:45 +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
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
Diego Biurrun
99ed41a808 Fix filenames in Doxygen comments.
Originally committed as revision 16811 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-01-26 22:51:16 +00:00
Stefano Sabatini
987903826b Globally rename the header inclusion guard names.
Consistently apply this rule: the guard name is obtained from the
filename by stripping the leading "lib", converting '/' and '.'  to
'_' and uppercasing the resulting name. Guard names in the root
directory have to be prefixed by "FFMPEG_".

Originally committed as revision 15120 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-31 07:39:47 +00:00
Alexander E. Patrakov
3fc45bdcf0 fir_32bands_perfect[] contents were mixed, restore original order
Patch by Alexander Patrakov ($lastname <whirlpool> gmail.com)
Thread: dcadata.h: fir_32bands_perfect[] is wrong

Originally committed as revision 14964 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-25 06:28:52 +00:00
Reimar Döffinger
77777f0dd8 Some spelling fixes in comments
Originally committed as revision 11138 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-12-02 22:04:21 +00:00
Diego Biurrun
5b21bdabe4 Add FFMPEG_ prefix to all multiple inclusion guards.
Originally committed as revision 10765 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-10-17 09:37:46 +00:00
Guillaume Poirier
efb775777f add a comment to indicate which #endif belong to which #define
Originally committed as revision 9356 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-06-17 18:59:28 +00:00
Måns Rullgård
699b3f99d0 add multiple inclusion guards to headers
Originally committed as revision 9345 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-06-17 00:01:30 +00:00
Måns Rullgård
99545457bf include all prerequisites in header files
Originally committed as revision 9344 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-06-16 22:59:13 +00:00