14098 Commits

Author SHA1 Message Date
Justin Ruggles
e6e9823488 Add apply_window_int16() to DSPContext with x86-optimized versions and use it
in the ac3_fixed encoder.
2011-03-22 21:08:30 -04:00
Vitor Sessak
ee26abf2a4 Fix an infinite loop when RoQ encoded generated a frame with a size greater than the maximum valid size.
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-03-22 18:26:46 -04:00
Kieran Kunhya
a6d2227bc8 Add kbdwin.o to AC3 decoder
Fixes --disable-everything --enable-decoder=ac3

Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-03-22 22:26:20 +00:00
Michael Niedermayer
d375c10400 Fake-Merge remote-tracking branch 'ffmpeg-mt/master' 2011-03-22 22:36:57 +01:00
Reimar Döffinger
4c886d613d Detect byte-swapped AC-3 and support decoding it directly.
This allows the AC-3 decoder to be used directly with RealMedia
decoders that unlike the libavformat one do not byte-swap automatically.
Since the new code is only used in case we would fail directly otherwise
there should be no risk for regressions.
2011-03-22 15:36:47 -04:00
Justin Ruggles
40728b5169 cosmetics: indentation 2011-03-22 15:36:47 -04:00
Justin Ruggles
67fc8652b9 Always copy input data for AC3 decoder.
Depending on error_recognition is not correct, low values do
certainly not mean it is ok to crash.

Based on a patch by Reimar Döffinger <Reimar.Doeffinger@gmx.de>
2011-03-22 15:36:47 -04:00
Justin Ruggles
85ab290470 ac3enc: make sym_quant() branch-free 2011-03-22 14:36:18 -04:00
Ronald S. Bultje
c47d383502 vc1: make P-frame deblock filter bit-exact. 2011-03-21 21:28:17 -04:00
Ronald S. Bultje
f44d6445b7 vc1: slice support.
Also reset coded_block at each new slice, fixes problems in slice playback.
2011-03-21 10:00:43 -04:00
Ronald S. Bultje
b81a935bd9 vc1: fix up memleaks in the error codepath.
Introduce end: and err: labels at the end of vc1_decode_frame(), which
will clean up allocated memory consistently.
2011-03-21 09:51:16 -04:00
Ronald S. Bultje
72452cc475 vc1: warn for unimplemented pan-scan feature. 2011-03-21 09:43:21 -04:00
Michael Niedermayer
d4a50a2100 Merge remote-tracking branch 'newdev/master'
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-03-21 03:33:28 +01:00
Mans Rullgard
027f60f32b ffv1: allocate correct size for sample buffer
This fixes a typo in the size calculation for the sample buffer
introduced in cbabccc367424.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-03-20 22:17:20 +00:00
Mans Rullgard
e87a6f0dc9 Move ff_dct_init_mmx declaration to dct.h
This was missed in 0aded94.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-03-20 21:12:00 +00:00
Mans Rullgard
8eec00278c dct: remove superflous #include
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-03-20 17:15:41 +00:00
Mans Rullgard
0aded9484d Move dct and rdft definitions to separate files
This leaves fft.h with only the core FFT and MDCT definitions
thus making it more managable.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-03-20 17:15:33 +00:00
Mans Rullgard
4538729afe Move sine windows to a separate file
These windows do not really belong in fft/mdct files and were
easily confused with the similarly named tables used by rdft.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-03-20 13:25:19 +00:00
Mans Rullgard
a45fbda994 Move ff_kbd_window_init() to a separate file
This function is not tightly coupled to mdct, and it's in the way
of making a fixed-point mdct implementation.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-03-19 19:49:27 +00:00
Mans Rullgard
26f548bb59 fft: remove inline wrappers for function pointers
This removes the rather pointless wrappers (one not even inline)
for calling the fft_calc and related function pointers.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-03-19 19:49:18 +00:00
Mans Rullgard
42cfb3835b Remove Sonic experimental audio codec
Since initially committed in 2004, this codec has only been touched
for maintenanance.  Functionally, it contains no novel ideas and
its intended audience is better served by existing mature codecs.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-03-19 15:24:31 +00: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
Reimar Döffinger
6820008a5c Fix compiler warnings due to missing casts. 2011-03-19 12:29:27 +01:00
Reimar Döffinger
c9f6eab184 Detect byte-swapped AC-3 (aka DNET) and support decoding it directly.
This allows the AC-3 decoder to be used directly with RealMedia
decoders that unlike the libavformat one do not byte-swap automatically.
Since the new code is only used in case we would fail directly otherwise
there should be no risk for regressions.
The "buf" pointer needs to be overwritten since otherwise the CRC check fails.
2011-03-19 12:07:14 +01:00
Michael Niedermayer
4eb41d16be Merge remote-tracking branch 'newdev/master'
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-03-18 17:58:58 +01:00
Nathan Caldwell
350785a662 aacenc: 10l, missed a reference when refactoring the psymodel. 2011-03-17 21:01:08 -07:00
Justin Ruggles
0f999cfddb ac3enc: add float_to_fixed24() with x86-optimized versions to AC3DSPContext
and use in scale_coefficients() for the floating-point AC-3 encoder.
2011-03-17 16:46:48 -04:00
Michael Niedermayer
e528cdac8a Revert "replace FFMPEG with LIBAV in FFMPEG_CONFIGURATION"
This reverts commit 29ba091136a5e04574f7bfc1b17536c923958f6f.
2011-03-17 17:26:45 +01:00
Michael Niedermayer
0cb88628fb Revert "use LIBAV_LICENSE and LIBAV_VERSION instead of FFMPEG_*"
This reverts commit a03be6e1ba4cbf9984b0bbdb674704bbb2da6713.
2011-03-17 17:26:45 +01:00
Michael Niedermayer
0fecf2642b Merge remote-tracking branch 'newdev/master'
Conflicts:
	Changelog
	doc/APIchanges
	doc/optimization.txt
	libavformat/avio.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-03-17 17:22:52 +01:00
Philip Langdale
969eb21ba2 CrystalHD: Use doxygen compatible comments where relevant.
Signed-off-by: Philip Langdale <philipl@overt.org>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-03-17 13:02:23 +01:00
Nathan Caldwell
4afedfd8e5 aacenc: cosmetics, indentation, and comment clarification
Correct bad indentation in aaccoder
Clarify and correct comments in 3GPP psymodel, other cosmetics.
2011-03-16 23:35:39 -04:00
Nathan Caldwell
b7c96769c5 aacenc: Refactor the parts of the AAC psymodel.
3GPP:
Remove ffac from and move min_snr out of AacPsyBand.
Rearrange AacPsyCoeffs to make it easier to implement energy spreading.
Rename the band[] array to bands[]
Copy energies and thresholds at the end of analysis.

LAME:
Use a loop instead of an if chain in LAME windowing.
2011-03-16 23:34:12 -04:00
Young Han Lee
f578854efc aaccoder: Change FFMAX for allzero flag to OR bit operation
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-03-16 23:12:43 -04:00
Ramiro Polla
cbf5d22d24 Remove occurrences of my old email address
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-03-16 23:19:40 +00:00
Mans Rullgard
381d37fda9 dsputil: add bswap16_buf()
There are several places where a buffer is byte-swapped in 16-bit units.
This allows them to share code which can be optimised for various
architectures.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-03-16 23:19:40 +00:00
Janne Grunau
a03be6e1ba use LIBAV_LICENSE and LIBAV_VERSION instead of FFMPEG_* 2011-03-16 21:54:39 +01:00
Janne Grunau
29ba091136 replace FFMPEG with LIBAV in FFMPEG_CONFIGURATION
also update the multiple inclusion guards in config.h|mak
2011-03-16 21:54:39 +01:00
Ramiro Polla
57149a92f8 Remove occurrences of my old email address.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-03-16 20:07:38 +01:00
Justin Ruggles
79414257e2 mathops: fix MULL() when the compiler does not inline the function.
If the function is not inlined, an immmediate cannot be used for the
shift parameter, so the %cl register must be used instead in that case.

This fixes compilation for x86-32 using gcc with --disable-optimizations.
2011-03-15 20:49:37 -04:00
Justin Ruggles
aaff3b312e mathops: change "g" constraint to "rm" in x86-32 version of MUL64().
The 1-arg imul instruction cannot take an immediate argument, only a register
or memory argument.
2011-03-15 13:43:47 -04:00
Justin Ruggles
b181b8fb96 mathops: convert MULL/MULH/MUL64 to inline functions rather than macros.
This fixes unexpected name collisions that were occurring with variables
declared within the macros.
It also fixes the fate-acodec-ac3_fixed regression test on x86-32.
2011-03-15 13:43:47 -04:00
Michael Niedermayer
6947b0c42e Merge remote-tracking branch 'newdev/master'
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-03-15 16:48:42 +01:00
Michael Niedermayer
27293b840c Revert "ac3enc: shift coefficients to 24-bit following MDCT rather than using an exponent offset."
This reverts commit 7e0a284b9f1967d46603711e85e0be01e084eadf.
revert at authors request due to better impementation

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-03-15 15:12:17 +01:00
Michael Niedermayer
f7a5e7791d Revert "ac3enc: add SIMD-optimized shifting functions for use with the fixed-point AC3 encoder"
This reverts commit cc4d3dd3e2171f63cd4297292349b58788fff260.
revert at authors request due to better impementation being available

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-03-15 15:11:22 +01:00
Philip Langdale
025225d7ee h264_mp4toannexb_bsf: Fix spurious warning when stream has SPS and PPS units.
Signed-off-by: Philip Langdale <philipl@overt.org>
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-03-15 07:20:44 -04:00
Justin Ruggles
f1efbca5e9 ac3enc: add SIMD-optimized shifting functions for use with the fixed-point AC3 encoder. 2011-03-14 08:45:31 -04:00
Justin
323e6fead0 ac3enc: do not right-shift fixed-point coefficients in the final MDCT stage.
This increases the accuracy of coefficients, leading to improved quality.
Rescaling of the coefficients to full 25-bit accuracy is done rather than
offsetting the exponent values. This requires coefficient scaling to be done
before determining the rematrixing strategy. Also, the rematrixing strategy
calculation must use 64-bit math to prevent overflow due to the higher
precision coefficients.
2011-03-14 08:45:26 -04:00
Peter Ross
6e7cf13b6b mm decoder: move buffer allocation from decode_init() to decode_frame()
This permits playback in ffplay when libavfilter is enabled.

Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-03-14 08:07:29 -04:00
Peter Ross
0697440c1e Bitmap Brothers JV video decoder
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-03-14 08:05:01 -04:00