Andreas Rheinhardt
a688f3c13c
avcodec/internal: Move FF_CODEC_CAP_* to a new header codec_internal.h
...
Also move FF_CODEC_TAGS_END as well as struct AVCodecDefault.
This reduces the amount of files that have to include internal.h
(which comes with quite a lot of indirect inclusions), as e.g.
most encoders don't need it. It is furthemore in preparation
for moving the private part of AVCodec out of the public codec.h.
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
3 years ago
Paul B Mahol
7488d58436
avcodec/eac3dec: remove obsolete comment
6 years ago
Michael Niedermayer
fe315feab5
avcodec/eac3dec: Check that channel_map does not contain more than EAC3_MAX_CHANNELS
...
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
6 years ago
Paul B Mahol
ae92970976
avcodec/eac3: add support for dependent stream
...
Signed-off-by: Paul B Mahol <onemda@gmail.com>
7 years ago
Anton Khirnov
50a1c66cf6
ac3_parser: add a public function for parsing the data required by the demuxer
...
Make the current semi-public avpriv_ac3_parse_header() private to lavc.
Signed-off-by: Diego Biurrun <diego@biurrun.de>
8 years ago
Michael Niedermayer
87eb374970
avcodec/eac3dec: Fix runtime error: left shift of negative value -3
...
Fixes: 672/clusterfuzz-testcase-5595018867769344
Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/targets/ffmpeg
Reviewed-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
8 years ago
Michael Niedermayer
067485b673
avcodec/eac3dec: Fix runtime error: left shift of negative value
...
Fixes: 610/clusterfuzz-testcase-4831030085156864
Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/targets/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
8 years ago
Nikolas Bowe
96cd6f672e
avcodec/(e)ac3: Fix target_level for EAC3.
...
Currently when using target_level with EAC3 it produces silence. This small patch fixes target_level for decoding EAC3.
Example:
ffmpeg -y -i /tmp/test.wav -acodec eac3 -dialnorm -14 -ac 6 -b:a 384000 /tmp/test.m2ts
ffmpeg -y -target_level -24 -i /tmp/test.m2ts -acodec pcm_s16le -f matroska /tmp/out.mkv
ffplay /tmp/out.mkv
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
8 years ago
Tim Walker
fef2147b7a
eac3dec: don't call avpriv_request_sample every frame.
...
These errors neither prevent nor stop successful decoding
of the E-AC-3 stream's "core", causing avpriv_request_sample
to be called for every single frame in the bitstream.
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
9 years ago
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>
10 years ago
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>
10 years ago
Tim Walker
9cd4bc4176
ac3dec: set AV_FRAME_DATA_DOWNMIX_INFO side data.
11 years ago
Tim Walker
0d43b114cc
eac3: cosmetics, re-indent.
11 years ago
Tim Walker
ade75fb811
(e)ac3: clip surround mix level indexes.
...
Values 0-2 are reserved, 3 (-1.5dB) should be used instead.
11 years ago
Tim Walker
c229f571fd
(e)ac3: parse and store the Lt/Rt and LFE mix levels.
11 years ago
Tim Walker
1f604f96ea
ac3: set default matrix encoding modes in parse_frame_header.
...
Deduplicates some code.
11 years ago
Tim Walker
13345fc1f8
(e)ac3: parse and store the Dolby Surround, Surround EX and Headphone mode flags.
11 years ago
Diego Biurrun
12e25ed284
avcodec: av_log_missing_feature(1) ---> avpriv_request_sample()
12 years ago
Diego Biurrun
511cf612ac
miscellaneous typo fixes
12 years ago
Diego Biurrun
8f4c414df6
Improve wording and spelling of av_log_missing_feature messages.
12 years ago
Diego Biurrun
717addecad
Use proper return values in case of missing features
12 years ago
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>
13 years ago
Janne Grunau
c57fe49da8
eac3dec: replace undefined 1<<31 with INT32_MIN in noise generation
13 years ago
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.
14 years ago
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.
14 years ago
Mans Rullgard
2912e87a6c
Replace FFmpeg with Libav in licence headers
...
Signed-off-by: Mans Rullgard <mans@mansr.com>
14 years ago
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
15 years ago
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
16 years ago
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
16 years ago
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
16 years ago
Justin Ruggles
cab4e4e84d
10l: typing mistake in r18888
...
Originally committed as revision 18890 to svn://svn.ffmpeg.org/ffmpeg/trunk
16 years ago
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
16 years ago
Justin Ruggles
9907c7804a
eac3dec: make GAQ dequantization 24-bit
...
Originally committed as revision 18888 to svn://svn.ffmpeg.org/ffmpeg/trunk
16 years ago
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
16 years ago
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
16 years ago
Justin Ruggles
137707e53a
Add documentation about missing E-AC-3 features.
...
Originally committed as revision 18021 to svn://svn.ffmpeg.org/ffmpeg/trunk
16 years ago
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
16 years ago
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
16 years ago
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
16 years ago
Justin Ruggles
3e7aa8fa4c
ac3dec: use skip_bits_long() for block start bits
...
Originally committed as revision 16019 to svn://svn.ffmpeg.org/ffmpeg/trunk
16 years ago
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
16 years ago
Justin Ruggles
0cc51734b2
add support for spectral extension
...
Originally committed as revision 15812 to svn://svn.ffmpeg.org/ffmpeg/trunk
16 years ago
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
16 years ago
Justin Ruggles
9cf8ebe38a
use correct table name
...
Originally committed as revision 15099 to svn://svn.ffmpeg.org/ffmpeg/trunk
16 years ago
Justin Ruggles
1ffbafa02b
skip converter exponent strategy for all channels at once
...
Originally committed as revision 15092 to svn://svn.ffmpeg.org/ffmpeg/trunk
16 years ago
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
16 years ago
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
16 years ago
Justin Ruggles
0c3021eade
change eac3dec.c license to LGPL
...
Originally committed as revision 14936 to svn://svn.ffmpeg.org/ffmpeg/trunk
16 years ago
Justin Ruggles
602031305c
add more OKed parts of the E-AC-3 decoder
...
Originally committed as revision 14912 to svn://svn.ffmpeg.org/ffmpeg/trunk
16 years ago