Commit Graph

75 Commits

Author SHA1 Message Date
Alex Converse
401a995085 In the event of a mismatch, do not follow the sample rate index in an AAC PCE.
This matches the behavior the reference decoder and fixes issue 1072.

Originally committed as revision 18957 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-26 21:34:56 +00:00
Siarhei Siamashka
7d485f165f 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.

Originally committed as revision 18855 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-16 14:17:08 +00:00
Alex Converse
90350d73f8 Allow parsing and decoding of ADTS AAC files with channel config = 0
Originally committed as revision 18815 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-13 17:57:58 +00:00
Robert Swain
7bbd2fb126 Remove redundant assignment. err is assigned in every switch case anyway. Issue
found by CSA.

Originally committed as revision 18641 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-21 12:29:36 +00:00
Robert Swain
5967e1413e Remove unnecessary assignment, found by CSA.
Originally committed as revision 18617 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-19 00:55:46 +00:00
Stefano Sabatini
9106a698e7 Rename bitstream.h to get_bits.h.
Originally committed as revision 18494 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-13 16:20:26 +00:00
Thilo Borgmann
7a00bbad21 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.

Patch by Thilo Borgmann thilo.borgmann googlemail com, see also the thread
"Google Summer of Code participation" on the mailinglist.

Originally committed as revision 18351 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-07 15:59:50 +00:00
Alex Converse
04964ee8bb AAC: Ignore cc_domain for independent (time domain) coupling.
Originally committed as revision 18169 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-23 05:13:26 +00:00
Alex Converse
4a39ccb403 AAC: IEEE-754 type punning for 16-bit floating point rounding.
Originally committed as revision 18015 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-16 16:11:27 +00:00
Alex Converse
7d87e2ceac Re-indent after last commit.
Originally committed as revision 17861 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-06 22:37:21 +00:00
Alex Converse
51741a82c3 If we get an error from ff_aac_parse_header() we should not trust the header info that it provides.
Originally committed as revision 17860 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-06 22:36:24 +00:00
Alex Converse
bb5c0988ea Fix the channel allocation bug/assumption (issue 800).
Approved by Rob on IRC.

Originally committed as revision 17856 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-06 19:47:01 +00:00
Alex Converse
cfd937b081 AAC: hoist dependent gain lookup out of the loop
Originally committed as revision 17835 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-05 23:10:22 +00:00
Alex Converse
9ef88afac3 AAC: Make the CPE function more consistent with the functions for other channel elements.
Originally committed as revision 17672 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-01 00:23:05 +00:00
Alex Converse
e8d5c07bcc Re-indent after last commit.
Originally committed as revision 17600 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-02-26 01:54:16 +00:00
Alex Converse
21e8c46cde Refactor AAC unsigned band type decoding for a modest speedup.
Originally committed as revision 17599 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-02-26 01:51:34 +00:00
Alex Converse
039821a838 Use const to better allow the compiler to optimize AAC independent coupling.
Originally committed as revision 17598 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-02-26 01:50:00 +00:00
Alex Converse
03b127477f Re-indent after last commit.
Originally committed as revision 17211 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-02-13 16:07:20 +00:00
Alex Converse
f1ade11e33 Make set coup.gain[c][0] aand only coup.gain[c][0] is set for a independently switched CCE.
Discussed/OKed at http://lists.mplayerhq.hu/pipermail/ffmpeg-devel/2009-February/062219.html

Originally committed as revision 17210 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-02-13 16:06:22 +00:00
Robert Swain
5f401ee03c AAC: Cosmetic alterations after the last commit
Originally committed as revision 17182 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-02-12 13:49:59 +00:00
Alex Converse
b2d9d4a531 Give an error message when returning due to an unallocated channel element
Patch by Alex Converse ( alex converse gmail com )

Originally committed as revision 17181 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-02-12 13:47:21 +00:00
Alex Converse
30272450f9 Add support for sample rate index 12, 7350 Hz
Patch by Alex Converse ( alex converse gmail com )

Originally committed as revision 17180 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-02-12 13:31:43 +00:00
Alex Converse
ff587009ae Remove bogus coupling_point assignment for non-CCE as this value is not checked
in this case

Patch by Alex Converse ( alex converse gmail com )

Originally committed as revision 17179 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-02-12 13:22:41 +00:00
Jai Menon
f418b86151 Check sampling index validity for AAC decoding
Patch by Jai Menon ( jmenon86 gmail com )

Originally committed as revision 17131 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-02-10 13:47:50 +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
Aurelien Jacobs
b250f9c66d Change semantic of CONFIG_*, HAVE_* and ARCH_*.
They are now always defined to either 0 or 1.

Originally committed as revision 16590 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-01-13 23:44:16 +00:00
Robert Swain
158b39126d Support ADTS AAC files in the ffaac decoder (limited to streams containing one
raw_data_block() per ADTS frame)

Patch by Alex Converse ( alex converse gmail com) based on a patch by Robert
Swain ( robert swain gmail com )

Originally committed as revision 16485 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-01-07 22:09:21 +00:00
Carl Eugen Hoyos
6735e2c810 Revert r16375: It broke aac decoding.
Originally committed as revision 16376 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-12-28 20:08:39 +00:00
Carl Eugen Hoyos
69b38d4dc3 Reduce number of warnings when compiling with icc by two.
Originally committed as revision 16375 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-12-28 19:48:43 +00:00
Robert Swain
897c1703d0 AAC: Reindent after last commit
Originally committed as revision 16251 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-12-21 05:32:55 +00:00
Alex Converse
aab5413323 AAC: Fix AAC prediction when used in conjunction with the CPE
Patch by Alex Converse (alex converse gmail com)

Originally committed as revision 16250 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-12-21 05:28:14 +00:00
Alex Converse
99665a21f4 AAC: Don't write an illegal sampling_index in a PCE to the MPEG4AudioConfig
member

Patch by Alex Converse (alex converse gmail com)

Originally committed as revision 16249 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-12-21 05:08:32 +00:00
Måns Rullgård
8153f14444 AAC: move scratch array to context to ensure 16-byte alignment
Originally committed as revision 16043 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-12-10 00:50:59 +00:00
Alex Converse
4a904903dc AAC: Use a sign LUT rather than 1-2*get_bits1()
Patch by Alex Converse (alex converse gmail com)

Originally committed as revision 16041 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-12-09 17:14:42 +00:00
Alex Converse
c0893c3abb AAC: Unroll code within decode_spectrum_and_dequant(). Gives 12% net speed gain.
Patch by Alex Converse (alex converse gmail com)

Originally committed as revision 16040 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-12-09 17:08:40 +00:00
Alex Converse
8821210575 AAC: Remove unnecessary fabsf()
Patch by Alex Converse (alex converse gmail com)

Originally committed as revision 16039 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-12-09 11:35:08 +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
Robert Swain
8f5aaa6d2f AAC: Cosmetics after last commit
Originally committed as revision 15920 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-11-24 00:14:33 +00:00
Alex Converse
7633a0415d AAC: Frequency domain prediction and hence Main profile support
Patch by Alex Converse ( alex converse gmail com )

Originally committed as revision 15919 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-11-24 00:13:50 +00:00
Alex Converse
d0ee50216d Fix perceptual noise shaping scaling including an oversight of the offset for
the EIGHT_SHORT window type. Fixes issue 664.

Patch by Alex Converse (alex converse gmail com)

Originally committed as revision 15776 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-11-05 13:59:42 +00:00
Aurelien Jacobs
37d3e0667a uses FF_ARRAY_ELEMS() where appropriate
Originally committed as revision 15662 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-10-21 21:40:24 +00:00
Alex Converse
fbdae895f2 Rename variables to clarify the channel coupling element and corresponding
target channel element.

Patch by Alex Converse (alex converse gmail com)

Originally committed as revision 15575 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-10-06 16:22:11 +00:00
Alex Converse
88de95c2f9 Corrections to channel coupling code to attain conformance for appropriate
streams.

Slightly reworked from a patch by Alex Converse (alex converse gmail com)

Originally committed as revision 15573 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-10-06 16:12:30 +00:00
Robert Swain
341b28c0d2 Zero 'idx' for each iteration of the coupling gain loop and as it is only used
within this loop, we can move its declaration there too. This fixes bitstream
desync when decoding streams containing CCEs.

Based on a patch by Alex Converse (alex converse gmail com)

Originally committed as revision 15364 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-09-18 16:02:51 +00:00
Robert Swain
f80a8ca5cb Cosmetics: missing brackets
Originally committed as revision 15363 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-09-18 15:48:37 +00:00
Alex Converse
c8947a5612 Cast the return value of get_bits() to signed integer such that the subtraction
is conducted as a signed calculation.

Patch by Alex Converse (alex converse gmail com)

Originally committed as revision 15362 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-09-18 15:35:08 +00:00
Alex Converse
aac0eda407 Validate pulse position and error out if an invalid position is encountered.
Patch by Alex Converse (alex converse gmail com)

Originally committed as revision 15340 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-09-16 15:59:43 +00:00
Robert Swain
70735a3f9e Reindent after last commit
Originally committed as revision 15315 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-09-13 20:52:57 +00:00
Alex Converse
5143684891 Apply pulses to unscaled coefficients rather than scaled.
Slight reworking of a patch by Alex Converse (alex converse gmail com)

Originally committed as revision 15314 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-09-13 20:51:36 +00:00
Robert Swain
408992bae2 Operands of '+' are not necessarily evaluated in order so r15311 was pointless.
Splitting the assignment onto two lines should resolve the order issue.

Originally committed as revision 15313 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-09-13 20:22:31 +00:00