Reimar Döffinger
636ee66f1c
Fix data_size handling for AC3 and dca decoders.
...
They use now code identical to the AAC decoder.
The AC3 decoder previously did not check the data_size and
the dca decoder checked against and set wrong values for float.
14 years ago
Reimar Döffinger
4c7ad768e1
ac3dec: allow selecting float output at runtime.
14 years ago
Justin Ruggles
4c64c8e95a
ac3dec: fix processing of delta bit allocation information.
...
The number of dba segments is the coded value + 1.
The coupling dba offset starts at the first coupling band, not at zero.
14 years ago
Reimar Döffinger
6e075dcaf8
ac3dec: avoid pointless alloc and indirection for input_buffer
...
Since we now always allocate it, it can simply be made part of the context
instead.
14 years ago
clsid2
0e09997fa4
Libavcodec AC3/E-AC3/DTS decoders now output floating point data.
...
git-svn-id: https://ffdshow-tryout.svn.sourceforge.net/svnroot/ffdshow-tryout@3769 3b938f2f-1a1a-0410-8054-a526ea5ff92c
14 years ago
Mans Rullgard
6d9f52b2cd
ac3: move ff_ac3_bit_alloc_calc_bap to ac3dsp
...
Signed-off-by: Mans Rullgard <mans@mansr.com>
14 years ago
Justin Ruggles
991f3de1bb
ac3enc: Add codec-specific options for writing AC-3 metadata.
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
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.
14 years ago
Justin Ruggles
40728b5169
cosmetics: indentation
14 years ago
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>
14 years ago
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>
14 years ago
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>
14 years ago
Mans Rullgard
2912e87a6c
Replace FFmpeg with Libav in licence headers
...
Signed-off-by: Mans Rullgard <mans@mansr.com>
14 years ago
Reimar Döffinger
6820008a5c
Fix compiler warnings due to missing casts.
14 years ago
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.
14 years ago
Justin Ruggles
fe2ff6d247
Separate format conversion DSP functions from DSPContext.
...
This will be beneficial for use with the audio conversion API without
requiring it to depend on all of dsputil.
Signed-off-by: Mans Rullgard <mans@mansr.com>
(cherry picked from commit c73d99e672
)
14 years ago
Justin Ruggles
c73d99e672
Separate format conversion DSP functions from DSPContext.
...
This will be beneficial for use with the audio conversion API without
requiring it to depend on all of dsputil.
Signed-off-by: Mans Rullgard <mans@mansr.com>
14 years ago
Justin Ruggles
a8ae4e0e7b
Remove unneeded add bias from 3 functions.
...
DSPContext.vector_fmul_window()
DCADSPContext.lfe_fir()
SynthFilterContext.synth_filter_float()
Signed-off-by: Mans Rullgard <mans@mansr.com>
(cherry picked from commit 80ba1ddb58
)
14 years ago
Justin Ruggles
80ba1ddb58
Remove unneeded add bias from 3 functions.
...
DSPContext.vector_fmul_window()
DCADSPContext.lfe_fir()
SynthFilterContext.synth_filter_float()
Signed-off-by: Mans Rullgard <mans@mansr.com>
14 years ago
Justin Ruggles
79ce107847
cosmetics: indentation and spacing
...
(cherry picked from commit b5ec638343
)
14 years ago
Justin Ruggles
733dbe7d18
Remove the add bias hack for the C version of DSPContext.float_to_int16_*().
...
(cherry picked from commit 9d06d7bce3
)
14 years ago
Diego Elio Pettenò
e7e2df27f8
Add ff_ prefix to data symbols of encoders, decoders, hwaccel, parsers, bsf.
...
None of these symbols should be accessed directly, so declare them as
hidden.
Signed-off-by: Mans Rullgard <mans@mansr.com>
(cherry picked from commit d36beb3f69
)
14 years ago
Justin Ruggles
dff80041e3
Add ff_ prefix to ac3_common_init().
...
Signed-off-by: Mans Rullgard <mans@mansr.com>
(cherry picked from commit 4c57cde942
)
14 years ago
Justin Ruggles
b5ec638343
cosmetics: indentation and spacing
14 years ago
Justin Ruggles
9d06d7bce3
Remove the add bias hack for the C version of DSPContext.float_to_int16_*().
14 years ago
Diego Elio Pettenò
d36beb3f69
Add ff_ prefix to data symbols of encoders, decoders, hwaccel, parsers, bsf.
...
None of these symbols should be accessed directly, so declare them as
hidden.
Signed-off-by: Mans Rullgard <mans@mansr.com>
14 years ago
Justin Ruggles
4c57cde942
Add ff_ prefix to ac3_common_init().
...
Signed-off-by: Mans Rullgard <mans@mansr.com>
14 years ago
Stefano Sabatini
5d6e4c160a
Replace deprecated symbols SAMPLE_FMT_* with AV_SAMPLE_FMT_*, and enum
...
SampleFormat with AVSampleFormat.
Originally committed as revision 25730 to svn://svn.ffmpeg.org/ffmpeg/trunk
14 years ago
Carl Eugen Hoyos
eb0a4d3222
Fix compilation of AC3 decoder if E-AC3 decoder was disabled.
...
Originally committed as revision 23131 to svn://svn.ffmpeg.org/ffmpeg/trunk
15 years ago
Justin Ruggles
cc8538ff93
ac3dec: return smaller of buf_size and frame_size instead of always returning
...
frame_size.
Originally committed as revision 22950 to svn://svn.ffmpeg.org/ffmpeg/trunk
15 years ago
Stefano Sabatini
2874c81cc8
Replace all remaining occurrences of AVERROR_NOMEM with
...
AVERROR(ENOMEM).
AVERROR_NOMEM is deprecated and will be dropped at the next libavutil
major bump.
Originally committed as revision 22791 to svn://svn.ffmpeg.org/ffmpeg/trunk
15 years ago
Stefano Sabatini
72415b2adb
Define AVMediaType enum, and use it instead of enum CodecType, which
...
is deprecated and will be dropped at the next major bump.
Originally committed as revision 22735 to svn://svn.ffmpeg.org/ffmpeg/trunk
15 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
Justin Ruggles
2c2cdc0bfb
Simplify error handling by processing header errors separate from CRC and
...
buffer size vs. frame size errors.
Originally committed as revision 21519 to svn://svn.ffmpeg.org/ffmpeg/trunk
15 years ago
Justin Ruggles
008f872f61
Only check frame size if the header is valid.
...
Originally committed as revision 21439 to svn://svn.ffmpeg.org/ffmpeg/trunk
15 years ago
Reimar Döffinger
1460c79097
Use MULH instead of 64x64 multiplication, around 5% overall speedup on Intel Atom.
...
Patch by myself and Yuriy Kaminskiy [yumkam mail ru]
Originally committed as revision 21175 to svn://svn.ffmpeg.org/ffmpeg/trunk
15 years ago
Justin Ruggles
7934cbb3be
ac3dec: apply dynamic range compression to correct channels in dual-mono mode.
...
Originally committed as revision 20533 to svn://svn.ffmpeg.org/ffmpeg/trunk
15 years ago
Justin Ruggles
187bc061e4
ac3dec: revert r20089. The change was just wrong. 10l for me.
...
Originally committed as revision 20473 to svn://svn.ffmpeg.org/ffmpeg/trunk
15 years ago
Justin Ruggles
535497f193
Change an error to a warning to support broken AC-3 files known to exist.
...
Fixes Issue 1426.
Originally committed as revision 20110 to svn://svn.ffmpeg.org/ffmpeg/trunk
15 years ago
Justin Ruggles
3fdccca091
10l: wrong operation in stereo rematrixing
...
Originally committed as revision 20106 to svn://svn.ffmpeg.org/ffmpeg/trunk
15 years ago
Justin Ruggles
2ed4439658
Simplify stereo rematrixing by only using one temporary variable. It is also
...
about 1.8% faster on my system.
Originally committed as revision 20090 to svn://svn.ffmpeg.org/ffmpeg/trunk
15 years ago
Justin Ruggles
16c91d2b23
remove unneeded assignment in inner loop. rematrixing bands are contiguous.
...
Originally committed as revision 20089 to svn://svn.ffmpeg.org/ffmpeg/trunk
15 years ago
Justin Ruggles
8b11b44ea7
Rearrange loop structure for approx. 35-50% faster calc_transform_coeffs_cpl()
...
depending on content.
Originally committed as revision 20055 to svn://svn.ffmpeg.org/ffmpeg/trunk
15 years ago
Justin Ruggles
3b6c5ad2f6
Move variable declaration to inside of loop.
...
Originally committed as revision 20053 to svn://svn.ffmpeg.org/ffmpeg/trunk
15 years ago
Justin Ruggles
025873738f
Cosmetics: Rename some variables.
...
Originally committed as revision 20052 to svn://svn.ffmpeg.org/ffmpeg/trunk
15 years ago
Justin Ruggles
b5f4639b13
Simplify coupling band loop.
...
Originally committed as revision 20051 to svn://svn.ffmpeg.org/ffmpeg/trunk
15 years ago
Justin Ruggles
a521aadfe8
cosmetics: reindent after last commit
...
Originally committed as revision 19589 to svn://svn.ffmpeg.org/ffmpeg/trunk
16 years ago
Justin Ruggles
25dcd1823c
ac3dec: simplify zero-bit mantissa dithering by calculating it
...
conditionally during mantissa decoding, then only removing it from the
coupling range for coupled channels which do not use dithering.
Originally committed as revision 19588 to svn://svn.ffmpeg.org/ffmpeg/trunk
16 years ago
Justin Ruggles
b972c06a8f
cosmetics: indentation and line wrap
...
Originally committed as revision 19587 to svn://svn.ffmpeg.org/ffmpeg/trunk
16 years ago