Commit Graph

52 Commits

Author SHA1 Message Date
Christophe Gisquet
0c3339f4bd eac3dec: fix scaling
This is the remaining error, the output on the SPX samples,
respectively csi_miami_stereo_128_spx.eac3 and
csi_miami_5.1_256_spx.eac3, goes from:
stddev:    8.71 PSNR: 77.52 MAXDIFF:  235
stddev:24270.51 PSNR: 22.17 MAXDIFF:47166
to:
stddev:    0.12 PSNR:114.12 MAXDIFF:    1
stddev:    0.12 PSNR:114.73 MAXDIFF:    1

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-14 14:05:25 +01:00
Andreas Cadhalpun
7b05b5093e ac3dec_fixed: always use the USE_FIXED=1 variant of the AC3DecodeContext
The AC3DecodeContext has a float (USE_FIXED=0) and an integer
(USE_FIXED=1) variant, both of which can be present in the same binary.
This is not only very confusing, but it also breaks horribly, when one
variant is used by code expecting the other.

This currently happens, because eac3dec.c is only compiled for the float
variant, but also used from ac3dec_fixed.c, which uses the integer
variant.

The result is memory corruption, leading to crashes.

So compile eac3dec.c once for each variant and adapt it, so that it
works with the integer variant.

A loss of precission and scaling bug has been fixed by the committer
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-14 04:27:06 +01:00
Michael Niedermayer
1db87da351 Merge commit '9cd4bc41760f8ad879e248920eacbe1e7757152c'
* commit '9cd4bc41760f8ad879e248920eacbe1e7757152c':
  ac3dec: set AV_FRAME_DATA_DOWNMIX_INFO side data.

Conflicts:
	libavcodec/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-02-16 02:18:58 +01:00
Tim Walker
9cd4bc4176 ac3dec: set AV_FRAME_DATA_DOWNMIX_INFO side data. 2014-02-15 22:25:00 +01:00
Michael Niedermayer
fde2afd9fb Merge remote-tracking branch 'qatar/master'
* qatar/master:
  eac3: cosmetics, re-indent.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-19 21:53:25 +01:00
Michael Niedermayer
10f1ee2f92 Merge commit 'ade75fb811500f3e3f284737f123938d83be728f'
* commit 'ade75fb811500f3e3f284737f123938d83be728f':
  (e)ac3: clip surround mix level indexes.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-19 21:46:32 +01:00
Michael Niedermayer
3a5a039ade Merge commit 'c229f571fd3c7d7b567c27c87b2bbcdaee1b0e9f'
* commit 'c229f571fd3c7d7b567c27c87b2bbcdaee1b0e9f':
  (e)ac3: parse and store the Lt/Rt and LFE mix levels.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-19 21:37:06 +01:00
Michael Niedermayer
c3d1215683 Merge commit '1f604f96ea70503caa642f68a85be6074a5b3f46'
* commit '1f604f96ea70503caa642f68a85be6074a5b3f46':
  ac3: set default matrix encoding modes in parse_frame_header.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-19 21:18:18 +01:00
Tim Walker
0d43b114cc eac3: cosmetics, re-indent. 2014-01-19 19:12:58 +01:00
Tim Walker
ade75fb811 (e)ac3: clip surround mix level indexes.
Values 0-2 are reserved, 3 (-1.5dB) should be used instead.
2014-01-19 19:12:52 +01:00
Tim Walker
c229f571fd (e)ac3: parse and store the Lt/Rt and LFE mix levels. 2014-01-19 19:12:42 +01:00
Tim Walker
1f604f96ea ac3: set default matrix encoding modes in parse_frame_header.
Deduplicates some code.
2014-01-19 19:12:33 +01:00
Michael Niedermayer
7b3c78b5e6 Merge commit '13345fc1f86fc3615789e196d5a339c1c27c9068'
* commit '13345fc1f86fc3615789e196d5a339c1c27c9068':
  (e)ac3: parse and store the Dolby Surround, Surround EX and Headphone mode flags.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-05 23:06:53 +01:00
Tim Walker
13345fc1f8 (e)ac3: parse and store the Dolby Surround, Surround EX and Headphone mode flags. 2014-01-05 16:41:56 +01:00
Michael Niedermayer
cacbf64a76 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  avcodec: av_log_missing_feature(1) ---> avpriv_request_sample()

Conflicts:
	libavcodec/aacsbr.c
	libavcodec/amrnbdec.c
	libavcodec/takdec.c
	libavcodec/tta.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-14 13:07:25 +01:00
Diego Biurrun
12e25ed284 avcodec: av_log_missing_feature(1) ---> avpriv_request_sample() 2013-03-13 21:20:12 +01:00
Diego Biurrun
511cf612ac miscellaneous typo fixes 2012-12-21 00:18:34 +01:00
Michael Niedermayer
35ce42e070 Merge commit '8b8899ac3233b4f7af83ded0dc032fad8902d714'
* commit '8b8899ac3233b4f7af83ded0dc032fad8902d714':
  fate: Declare avcodec/avformat deps in the respective Makefile snippets
  fate: Add dependencies for WMA and WavPack tests
  Improve wording and spelling of av_log_missing_feature messages.
  lavu: remove disabled FF_API_AV_FIFO_PEEK cruft

Conflicts:
	libavcodec/aacsbr.c
	libavutil/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-23 15:00:27 +02:00
Diego Biurrun
8f4c414df6 Improve wording and spelling of av_log_missing_feature messages. 2012-10-23 10:28:40 +02:00
Michael Niedermayer
18884f159b Merge commit '0a7005bebd23ade7bb852bce0401af1a8fdbb723'
* commit '0a7005bebd23ade7bb852bce0401af1a8fdbb723':
  rtpdec_xiph: fix function return type
  smjpeg: fix type of 'ret' variable in smjpeg_read_packet()
  mpegvideo: remove write-only variable
  Use proper return values in case of missing features
  fate: add avstring test
  rangecoder-test: Set error message log level to error, instead of debug

Conflicts:
	libavcodec/aacdec.c
	libavcodec/amrnbdec.c
	libavcodec/mpegvideo.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-13 15:42:49 +02:00
Diego Biurrun
717addecad Use proper return values in case of missing features 2012-10-12 20:56:54 +02:00
Lou Logan
2d38081b4f cosmetics: fix some typos
Patch attached.
From 2d4094fc0dcb4ccd0735eb7e1719e228ebb56bb9 Mon Sep 17 00:00:00 2001
From: Lou Logan <lou@lrcd.com>
Date: Mon, 12 Mar 2012 14:13:44 -0800
Subject: [PATCH] cosmetics: fix some typos

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-03-13 01:14:04 +01:00
Michael Niedermayer
8c6ebab747 Merge remote-tracking branch 'qatar/master'
* qatar/master: (26 commits)
  eac3dec: replace undefined 1<<31 with INT32_MIN in noise generation
  yadif: specify array size outside DECLARE_ALIGNED
  prores: specify array size outside DECLARE_ALIGNED brackets.
  WavPack demuxer: set packet duration
  tta: use skip_bits_long()
  mxfdec: Ignore the last entry in Avid's index table segments
  mxfdec: Sanity-check SampleRate
  mxfdec: Handle small EditUnitByteCount
  mxfdec: Consider OPAtom files that do not have exactly one EC to be OP1a
  mxfdec: Don't crash in mxf_packet_timestamps() if current_edit_unit overflows
  mxfdec: Zero nb_ptses in mxf_compute_ptses_fake_index()
  mxfdec: Sanity check PreviousPartition
  mxfdec: Never seek back in local sets and KLVs
  mxfdec: Move the current_partition check inside mxf_read_header()
  mxfdec: Fix infinite loop in mxf_packet_timestamps()
  mxfdec: Check eof_reached in mxf_read_local_tags()
  mxfdec: Check for NULL component
  mxfdec: Make sure mxf->nb_index_tables > 0 in mxf_packet_timestamps()
  mxfdec: Make sure x < index_table->nb_ptses
  build: Add missing directories to DIRS declarations.
  ...

Conflicts:
	doc/build_system.txt
	doc/fate.texi
	libavfilter/x86/yadif_template.c
	libavformat/mxfdec.c
	libavutil/Makefile
	tests/fate/audio.mak
	tests/fate/prores.mak
	tests/fate/screen.mak
	tests/fate/video.mak
	tests/ref/fate/bethsoft-vid
	tests/ref/fate/cscd
	tests/ref/fate/dfa4
	tests/ref/fate/nuv
	tests/ref/fate/vp8-sign-bias
	tests/ref/fate/wmv8-drm
	tests/ref/lavf/gxf

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-02-10 01:20:07 +01:00
Janne Grunau
c57fe49da8 eac3dec: replace undefined 1<<31 with INT32_MIN in noise generation 2012-02-09 21:28:37 +01:00
Michael Niedermayer
7c6c4cf2fb Merge remote-tracking branch 'qatar/master'
* qatar/master:
  Remove h264_lowres_idct_put/add functions
  Remove snow/dwt test program
  h264: remove some disabled code
  Fix incorrect max_lowres values
  matroskadec: fix integer underflow if header length < probe length.
  cosmetics: indentation
  eac3enc: use frame exponent strategy when applicable.
  cosmetics: rename eac3dec_data.c/h to eac3_data.c/h since the tables will also be used in the E-AC-3 encoder.
  dsputil: fix ff_check_alignment()

Conflicts:
	libavcodec/Makefile
	libavcodec/h264idct_template.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-07-20 18:31:45 +02:00
Justin Ruggles
31b69928e5 cosmetics: rename eac3dec_data.c/h to eac3_data.c/h since the tables will also
be used in the E-AC-3 encoder.
2011-07-19 14:15:00 -04:00
Michael Niedermayer
27ef7b1bcd Merge remote-tracking branch 'newdev/master'
* newdev/master:
  mov: set audio service type for AC-3 from bitstream mode in the 'dac3' atom.
  Get audio_service_type for AC-3 based on bitstream mode in the AC-3 parser and decoder, and vice-versa for the AC-3 encoder.
  Use audio_service_type to set stream disposition.
  Add APIchanges entry for audio_service_type.
  Add audio_service_type field to AVCodecContext for encoding and reporting of the service type in the audio bitstream.
  configure: in check_ld, place new -l flags before existing ones
  support @heading, @subheading, @subsubheading, and @subsubsection in texi2pod.pl
  doc: update build system documentation
  aacenc: indentation
  aacenc: fix the side calculation in search_for_ms
  vp8.c: rename EDGE_* to VP8_EDGE_*.

Conflicts:
	doc/APIchanges
	libavcodec/avcodec.h
	libavcodec/version.h
	libavcodec/vp8.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-03-26 03:06:30 +01:00
Justin Ruggles
be18738801 Get audio_service_type for AC-3 based on bitstream mode in the AC-3 parser
and decoder, and vice-versa for the AC-3 encoder.
2011-03-25 16:59:00 -04: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
Carl Eugen Hoyos
ca6e7708b4 Add spectral extension to the E-AC-3 decoder.
Original patch by Justin, updated and resubmitted by
Christophe Gisquet, christophe D gisquet A gmail

Originally committed as revision 22734 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-30 22:09:14 +00:00
Diego Biurrun
d15153244f refactoring: properly separate AC-3 and E-AC-3 code
Originally committed as revision 19501 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-07-23 02:33:25 +00:00
Ronald S. Bultje
ce863d7f36 Rename ff_log_missing_feature() to av_log_missing_feature().
Originally committed as revision 19294 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-06-29 19:07:04 +00:00
Justin Ruggles
724b8f6ac7 eac3dec: get rid of unnecessary left shifts in 16-bit * 24-bit
multiplication in GAQ mantissa ramapping.

Originally committed as revision 18941 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-25 16:12:51 +00:00
Justin Ruggles
cab4e4e84d 10l: typing mistake in r18888
Originally committed as revision 18890 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-21 00:28:23 +00:00
Justin Ruggles
37a1cc4834 eac3dec: fix bug in GAQ dequantization. large mantissas should only be
decoded when the gain value is 2 or 4.

Originally committed as revision 18889 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-21 00:15:44 +00:00
Justin Ruggles
9907c7804a eac3dec: make GAQ dequantization 24-bit
Originally committed as revision 18888 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-21 00:15:03 +00:00
Justin Ruggles
ae04de316f eac3dec: revert commit r18860. keep the AHT IDCT 24-bit. will make AHT GAQ
dequantization 24-bit in a separate commit.

Originally committed as revision 18887 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-21 00:09:23 +00:00
Justin Ruggles
9a7a71ed4c eac3dec: use 16-bit pre-mantissas instead of 24-bit in AHT decoding. it is
simpler and also fixes a bug in GAQ dequantization.

Originally committed as revision 18860 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-17 06:53:24 +00:00
Justin Ruggles
137707e53a Add documentation about missing E-AC-3 features.
Originally committed as revision 18021 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-17 01:43:01 +00:00
Alex Converse
11d6f38cc9 Factorise enum of AC3 error types to be usable by AAC in the ADTS patch that
will follow

Patch by Alex Converse ( alex converse gmail com )

Originally committed as revision 16479 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-01-07 18:10:10 +00:00
Stefano Sabatini
dbbec0c2f2 Make av_log_missing_feature an internal function, and change its name
to ff_log_missing_feature.

Originally committed as revision 16037 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-12-08 21:21:38 +00:00
Justin Ruggles
d98d70d697 ac3dec: add missing feature log message for block start info
Originally committed as revision 16020 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-12-06 16:19:44 +00:00
Justin Ruggles
3e7aa8fa4c ac3dec: use skip_bits_long() for block start bits
Originally committed as revision 16019 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-12-06 16:18:10 +00:00
Justin Ruggles
e202cc2580 revert r15812 (E-AC-3 Spectral Extension) pending further review
Originally committed as revision 15818 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-11-13 22:38:38 +00:00
Justin Ruggles
0cc51734b2 add support for spectral extension
Originally committed as revision 15812 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-11-13 03:18:13 +00:00
Justin Ruggles
f07fe6e78a simplify code and comment regarding determination whether or not AHT is used.
Originally committed as revision 15101 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-31 03:01:56 +00:00
Justin Ruggles
9cf8ebe38a use correct table name
Originally committed as revision 15099 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-31 02:58:21 +00:00
Justin Ruggles
1ffbafa02b skip converter exponent strategy for all channels at once
Originally committed as revision 15092 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-31 02:38:38 +00:00
Justin Ruggles
e1747bfa4e merge declaration and init. variable is not used outside the loop.
Originally committed as revision 15090 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-31 02:35:58 +00:00
Justin Ruggles
d82bdf684b commit more OKed parts of the E-AC-3 decoder
Originally committed as revision 15067 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-30 23:13:10 +00:00