Commit Graph

314 Commits

Author SHA1 Message Date
Anton Khirnov 6f89efeaa7 lavc: use avpriv_ prefix for ff_ac3_parse_header.
It's used in lavf.
2011-10-20 21:06:58 +02:00
Anton Khirnov 145f741e11 AVOptions: rename FF_OPT_TYPE_* => AV_OPT_TYPE_* 2011-10-12 16:51:16 +02:00
Mans Rullgard 633ddb8519 ac3dec: use get_sbits() instead of manually sign-extending
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-10-09 23:21:31 +01:00
Anton Khirnov a4ea00d021 lavc/lavf: use unique private classes.
This is needed by the new AVOptions API.
2011-10-05 07:52:30 +02:00
Anton Khirnov feedc0754b ac3dec: actually use drc_scale private option 2011-09-21 13:51:53 +02:00
Reimar Döffinger 459fe331e9 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.
2011-09-06 12:43:16 -04:00
Anton Khirnov 9b83919f44 ac3dec: add a drc_scale private option
Deprecate corresponding AVCodecContext option.

This is the first test of decoder private options.
2011-07-10 17:07:12 +02:00
Justin Ruggles e6c52cee54 Replace usages of av_get_bits_per_sample_fmt() with av_get_bytes_per_sample().
av_get_bits_per_sample_fmt() is deprecated.
2011-06-20 18:56:06 -04:00
Justin Ruggles 9aa8193a23 Add floating-point sample format support to the ac3, eac3, dca, aac, and vorbis
decoders.

Based on patches by clsid2 in ffdshow-tryout.
2011-05-18 17:27:06 -04:00
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.
2011-04-17 12:33:41 -04:00
Mans Rullgard 6d9f52b2cd ac3: move ff_ac3_bit_alloc_calc_bap to ac3dsp
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-03-29 19:31:45 +01:00
Justin Ruggles 991f3de1bb ac3enc: Add codec-specific options for writing AC-3 metadata. 2011-03-27 11:30:09 -04: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
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
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 2912e87a6c Replace FFmpeg with Libav in licence headers
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-03-19 13:33:20 +00:00
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>
2011-02-02 02:44:53 +00:00
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>
2011-01-31 20:28:42 +00:00
Justin Ruggles b5ec638343 cosmetics: indentation and spacing 2011-01-28 00:21:46 +00:00
Justin Ruggles 9d06d7bce3 Remove the add bias hack for the C version of DSPContext.float_to_int16_*(). 2011-01-28 00:07:35 +00:00
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>
2011-01-26 16:08:45 +00:00
Justin Ruggles 4c57cde942 Add ff_ prefix to ac3_common_init().
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-01-26 15:35:27 +00:00
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
2010-11-12 11:04:40 +00:00
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
2010-05-13 20:41:36 +00:00
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
2010-04-22 21:43:36 +00:00
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
2010-04-03 14:15:00 +00:00
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
2010-03-30 23:30:55 +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
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
2010-01-28 23:19:33 +00:00
Justin Ruggles 008f872f61 Only check frame size if the header is valid.
Originally committed as revision 21439 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-24 23:55:33 +00:00
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
2010-01-12 23:02:07 +00:00
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
2009-11-14 00:25:48 +00:00
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
2009-11-08 03:06:05 +00:00
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
2009-10-01 00:06:54 +00:00
Justin Ruggles 3fdccca091 10l: wrong operation in stereo rematrixing
Originally committed as revision 20106 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-30 21:51:02 +00:00
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
2009-09-30 01:25:04 +00:00
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
2009-09-30 01:09:57 +00:00
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
2009-09-27 07:16:51 +00:00
Justin Ruggles 3b6c5ad2f6 Move variable declaration to inside of loop.
Originally committed as revision 20053 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-27 06:38:57 +00:00
Justin Ruggles 025873738f Cosmetics: Rename some variables.
Originally committed as revision 20052 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-27 06:38:13 +00:00
Justin Ruggles b5f4639b13 Simplify coupling band loop.
Originally committed as revision 20051 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-27 06:33:23 +00:00
Justin Ruggles a521aadfe8 cosmetics: reindent after last commit
Originally committed as revision 19589 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-08-05 02:31:13 +00:00
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
2009-08-05 02:30:34 +00:00
Justin Ruggles b972c06a8f cosmetics: indentation and line wrap
Originally committed as revision 19587 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-08-05 01:58:28 +00:00
Justin Ruggles c36ea0600c cosmetics after last commit
Originally committed as revision 19586 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-08-05 01:14:28 +00:00
Justin Ruggles 3f93716809 Modify decode_band_structure() so that the actual band structure is only
used within the function.  This removes the need to have the coupling band
structure stored in the AC3DecodeContext.

Originally committed as revision 19585 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-08-05 01:13:42 +00:00
Justin Ruggles 603139022d Use coupling band sizes instead of coupling band structure when
calculating coupling transform coefficients.

Originally committed as revision 19584 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-08-05 01:00:41 +00:00