1
0
mirror of https://github.com/FFmpeg/FFmpeg.git synced 2024-11-21 10:55:51 +02:00
Commit Graph

132 Commits

Author SHA1 Message Date
Justin Ruggles
0eea212943 Add avcodec_decode_audio4().
Deprecate avcodec_decode_audio3().
Implement audio support in avcodec_default_get_buffer().
Implement the new audio decoder API in all audio decoders.
2011-12-02 17:40:40 -05:00
Alex Converse
999e7ebd23 dca: Replace oversized unused get_bits() with skip_bits_long(). 2011-11-27 15:57:38 -08:00
Mans Rullgard
cc276c85d1 Make channel layout masks unsigned
It makes more sense for a bit mask to use an unsigned type.
The change should be source and binary compatible on all
supported systems, hence micro version bump.

Fixes a few invalid shifts.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-11-25 13:19:54 +00:00
Mans Rullgard
00a856e3f9 dca: ARMv6 optimised decode_blockcode()
This is a hand-tuned version of the code with impossible parts of
the FASTDIV function ommitted.

2-5% faster overall on Cortex-A8.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-11-25 13:19:53 +00:00
Justin Ruggles
272fcc32bb dca: handle errors from dca_decode_block()
Return error if core block decoding fails.
Do not enable XCh if XCh extension block decoding fails.
2011-10-29 16:04:07 -04:00
Justin Ruggles
aae6eead6a dca: return error if the frame header is invalid 2011-10-29 16:04:07 -04:00
Justin Ruggles
f44059d260 dca: return proper error codes instead of -1 2011-10-29 16:04:06 -04:00
Mans Rullgard
559c244d42 dca: fix signed overflow in shift
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-10-08 20:03:55 +01:00
Mans Rullgard
bf5d46d8e6 dca: NEON optimised high freq VQ decoding
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-09-30 19:01:23 +01:00
Mans Rullgard
bf00a73ace dca: clear inactive subbands only once in qmf_32_subbands()
Writing zeros to the high entries in the array need only be
done once as the cutoff position is constant throughout the
loop.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-09-29 12:34:17 +01:00
Mans Rullgard
a92a1b93b4 dca: use vector_fmac_scalar from dsputil
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-09-28 15:56:09 +01:00
John Stebbins
49c7006c7e dca: set AVCodecContext frame_size for DTS audio
Set the frame size when decoding DTS audio.

This has the side effect of fixing the computation of timestamps for DTS-HD in compute_pkt_fields.  Since frame_size is
not currently set, the duration of a frame is being guessed based on the streams bitrate.  But for DTS-HD, the bitrate
currently used is the rate of the DTS core which is much different than the whole DTS-HD stream and leads to a wildly
inaccurate frame duration estimate.

Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-07-04 10:18:14 -07:00
Diego Biurrun
be73d76b34 cosmetics: fix some then/than typos 2011-06-30 22:56:11 +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
Mans Rullgard
e65ab9d94f Remove unused variables 2011-06-02 20:06:00 +01: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
Vitor Sessak
9d35fa520e Add AVX FFT implementation.
Signed-off-by: Reinhard Tartler <siretart@tauware.de>
2011-04-26 18:25:24 +02:00
Diego Biurrun
43fb279f56 Replace more FFmpeg instances by Libav or ffmpeg. 2011-04-23 19:12:23 +02: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
Anssi Hannula
7e06e0ede3 dca: use EXT_AUDIO_ID field to determine core extensions
This avoids the core substream extensions scan when the EXT_AUDIO_ID
field indicates no extensions or only unsupported extensions. The scan
is done only if the value of EXT_AUDIO_ID is unknown or indicates a
present XCh extension which we can decode.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-02-24 21:22:37 +00:00
Reinhard Tartler
737eb5976f Merge libavcore into libavutil
It is pretty hopeless that other considerable projects will adopt
libavutil alone in other projects. Projects that need small footprint
are better off with more specialized libraries such as gnulib or rather
just copy the necessary parts that they need. With this in mind, nobody
is helped by having libavutil and libavcore split. In order to ease
maintenance inside and around FFmpeg and to reduce confusion where to
put common code, avcore's functionality is merged (back) to avutil.

Signed-off-by: Reinhard Tartler <siretart@tauware.de>
2011-02-15 16:18:21 +01:00
Anton Khirnov
c2fcd0a7a4 Replace remaining occurrences of deprecated CH_* with AV_CH_*
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-02-06 08:26:12 -05: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
Gianluigi Tiesi
e86e858111 dca: avoid C99 declaration in for() expression
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-02-01 12:38:30 +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
Anssi Hannula
f4096bf6ee dca: add profile names
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-01-21 23:11:24 +00:00
Anssi Hannula
8f4a5d225c dca: consider a stream with XXCh/X96 in ExSS as DTS-HD HRA
DTS-HD HRA streams do not always have an XBR extension in the extension
substream. Instead they can have only XXCh and X96 extensions in
there and still be considered DTS-HD HRA.

This is also confirmed with Onkyo TX-SR607 receiver which recognizes
such a stream as HiRes Audio.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-01-21 22:20:20 +00:00
Justin Ruggles
d425a03b59 cosmetics: reindent 2011-01-18 11:40:13 -05:00
Daniel Kang
1360f07e22 Add check for changing number of channels in DCA.
Fixes issue 2505.
2011-01-18 11:30:33 -05:00
Anssi Hannula
39f4d32908 Fix reading over the end of the allocated buffer.
Patch by Anssi Hannula, anssi d hannula a iki d fi

Originally committed as revision 26291 to svn://svn.ffmpeg.org/ffmpeg/trunk
2011-01-09 23:01:01 +00:00
Anssi Hannula
f5a2d285f9 Export dca profile information.
Patch by Anssi Hannula anssi d hannula a iki d fi

Originally committed as revision 26250 to svn://svn.ffmpeg.org/ffmpeg/trunk
2011-01-06 22:34:12 +00:00
Anssi Hannula
df1c694c58 Verify FSIZE96 when encountering X96 sync code.
Patch by Anssi Hannula, anssi d hannula a iki d fi

Originally committed as revision 26249 to svn://svn.ffmpeg.org/ffmpeg/trunk
2011-01-06 22:24:39 +00:00
Stefano Sabatini
63e8d9760f Use the new libavcore audio channel API.
This also allows to remove a linking dependency of libavfilter on
libavcodec.

Originally committed as revision 25789 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-11-21 20:06:22 +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
Benjamin Larsson
62784e3733 Add the CODEC_CAP_CHANNEL_CONF capability code and add
that flag to the dca codec. This capability when set
will make sure the codec will initialize the channel
configuration instead of trusting the container. This
fixes issue 2137 and issue 850.

Originally committed as revision 25320 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-10-02 22:18:02 +00:00
Nick Brereton
ace7f813cd dca: fix dynrange coefficient in xch
Patch by Nick Brereton

Originally committed as revision 24637 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-31 22:15:59 +00:00
Nick Brereton
df9844937f DCA: fix multichannel -> 2 channel downmix.
Patch by Nick Brereton

Originally committed as revision 24555 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-27 21:45:43 +00:00
Nick Brereton
08634e7bda Setup correct channel value when downmixing is required.
Patch by Nick Brereton

Originally committed as revision 24554 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-27 21:44:09 +00:00
Christophe Gisquet
f2401c214d Use math constant instead of hardcoded rounded value for sqrt(0.5).
Patch by Christophe.Gisquet (gmail)

Originally committed as revision 24213 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-12 12:32:24 +00:00
Nick Brereton
b12b16c5d3 Fix side channels when XCh extension is present.
Patch by Nick Brereton $name AT n$surname DOT net

Originally committed as revision 24210 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-12 09:10:53 +00:00
Nick Brereton
d0a1885018 Move XCH parameters into context structure.
Patch by Nick Brereton $name AT n$surname DOT net

Originally committed as revision 24209 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-12 09:00:17 +00:00
Måns Rullgård
8fc0162ac4 Add av_ prefix to bswap macros
Originally committed as revision 24170 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-10 22:12:30 +00:00
Nick Brereton
0712c230ae DCA: Occasionally a false XCH sync word can turn up after the core DTS data,
to verify the sync word the extension fsize field should be compared to
the core data length field.

Patch by nick.nbrereton@net

Originally committed as revision 24054 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-05 08:16:43 +00:00
Benjamin Larsson
324a94b022 DCA: *_bits() -> *_bits_long() where needed, half fix for broken bitstream parsing
Originally committed as revision 24051 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-05 01:43:47 +00:00
Nick Brereton
d1177cb589 Support DTS-ES extension (XCh) in dca: Cosmetic cleanup
Patch by Nick Brereton, nick at nbrereton dot net

Originally committed as revision 23698 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-06-22 08:35:44 +00:00
Nick Brereton
774e9acfa7 Support DTS-ES extension (XCh) in dca: add code to handle DTS-ES extension
Patch by Nick Brereton, nick at nbrereton dot net

Originally committed as revision 23697 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-06-22 08:34:51 +00:00
Nick Brereton
3d5a9ba1af Support DTS-ES extension (XCh) in dca: update and add channel mapping tables for DTS-ES mappings
Patch by Nick Brereton, nick at nbrereton dot net

Originally committed as revision 23696 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-06-22 08:34:02 +00:00