Justin Ruggles
acd9948e74
lavr: x86: fix ff_conv_fltp_to_flt_6ch function prototypes
...
Changed to match the number of parameters in conv_func_interleave(), which is
how they are called. The change isn't strictly necessary because the 4th
parameter is not used, but the code is clearer if they match.
2012-06-26 12:29:35 -04:00
Justin Ruggles
14a34d90ad
lavr: x86: merge some branches
2012-06-25 13:49:18 -04:00
Justin Ruggles
ae46fbee1d
af_amix: allow float planar sample format as input
2012-06-18 18:01:14 -04:00
Justin Ruggles
f0ece49e74
af_amix: use AVFloatDSPContext.vector_fmac_scalar()
2012-06-18 18:01:14 -04:00
Justin Ruggles
82b2df9790
float_dsp: add x86-optimized functions for vector_fmac_scalar()
2012-06-18 18:01:14 -04:00
Justin Ruggles
cb5042d02c
float_dsp: Move vector_fmac_scalar() from libavcodec to libavutil
2012-06-18 18:01:14 -04:00
Justin Ruggles
4e4dd71730
lavr: Add x86-optimized function for flt to s32 conversion
2012-06-18 16:16:59 -04:00
Justin Ruggles
6c63cbfe7a
lavr: Add x86-optimized function for flt to s16 conversion
2012-06-18 16:16:59 -04:00
Justin Ruggles
97ce1ba867
lavr: Add x86-optimized functions for s32 to flt conversion
2012-06-18 16:16:59 -04:00
Justin Ruggles
5904f25b9f
lavr: Add x86-optimized functions for s32 to s16 conversion
2012-06-18 16:16:59 -04:00
Justin Ruggles
d721f67d0a
lavr: Add x86-optimized functions for s16 to flt conversion
2012-06-18 16:16:59 -04:00
Justin Ruggles
1168e29df1
lavr: Add x86-optimized function for s16 to s32 conversion
2012-06-18 16:16:59 -04:00
Justin Ruggles
f61ce90caa
lavr: add x86-optimized functions for mixing 1-to-2 s16p with flt coeffs
2012-06-18 11:24:10 -04:00
Justin Ruggles
29f7490c46
lavr: add x86-optimized functions for mixing 1-to-2 fltp with flt coeffs
2012-06-18 11:24:10 -04:00
Justin Ruggles
4795362660
golomb: check remaining bits during unary decoding in get_ur_golomb_jpegls()
...
Fixes infinite loop in FLAC decoding in case of a truncated bitstream due to
the safe bitstream reader returning 0's at the end.
Fixes Bug 310.
CC:libav-stable@libav.org
2012-06-12 14:33:39 -04:00
Justin Ruggles
03e098e7a0
lavu: change versioning script to include all av* prefixed symbols
...
Needed to properly export avpriv_* symbols.
2012-06-08 15:47:59 -04:00
Justin Ruggles
3b81a18ba3
float_dsp: ppc: add a separate header for Altivec function prototypes
...
Also include config.h so that HAVE_ALTIVEC will be defined.
Fixes compilation on PPC with Altivec enabled.
2012-06-08 14:52:01 -04:00
Justin Ruggles
d5a7229ba4
Add a float DSP framework to libavutil
...
Move vector_fmul() from DSPContext to AVFloatDSPContext.
2012-06-08 13:14:38 -04:00
Justin Ruggles
98db4e2a4e
PPC: Move types_altivec.h and util_altivec.h from libavcodec to libavutil
...
This will allow for easier implementation of Altivec functions in libraries
other than libavcodec.
2012-06-08 13:14:38 -04:00
Justin Ruggles
94d2b0d2fd
ARM: Move asm.S from libavcodec to libavutil
...
This will allow for easier implementation of ARM-optimized functions in
libraries other than libavcodec.
2012-06-08 13:14:38 -04:00
Justin Ruggles
c7bd556d48
lavfi: amix: check active input count before calling request_samples
...
fixes use of the amix filter with only 1 input
2012-05-30 16:20:03 -04:00
Justin Ruggles
b75726cb79
lavr: add x86-optimized function for mixing 2 to 1 s16p with q8 coeffs
2012-05-29 15:33:25 -04:00
Justin Ruggles
c140fb2cbc
lavr: add x86-optimized functions for mixing 2 to 1 s16p with float coeffs
2012-05-29 15:33:18 -04:00
Justin Ruggles
8dfc122719
lavr: add C functions for mixing 2 to 1 channels with s16p format
2012-05-29 15:16:20 -04:00
Justin Ruggles
c7448c182a
lavfi: add audio mix filter
2012-05-23 16:37:34 -04:00
Justin Ruggles and Diego Biurrun
713548cbad
x86: lavc: use %if HAVE_AVX guards around AVX functions in yasm code.
...
This is needed for older versions of yasm/nasm that do not support AVX.
Signed-off-by: Diego Biurrun <diego@biurrun.de >
2012-05-22 20:46:02 +02:00
Justin Ruggles
e0d8427dce
af_resample: remove an extra space in the log output
2012-05-21 18:26:51 -04:00
Justin Ruggles
afeb3590fc
lavfi: add an audio split filter
...
Based on current version of the asplit filter in FFmpeg written by
Stefano Sabatini and others.
2012-05-21 14:49:52 -04:00
Justin Ruggles
cc30080b3f
lavfi: rename vf_split.c to split.c
...
This is in preparation for adding an audio split filter.
2012-05-21 14:49:52 -04:00
Justin Ruggles
95a98ab3f0
ac3dsp: simplify x86 versions of ac3_max_msb_abs_int16
...
Simplifies the code by using cpuflags and a new macro.
Also fixes the invalid use of the MMX2 pshufw operation in the MMX-only
function.
2012-05-15 15:23:59 -04:00
Justin Ruggles
5cc6d5244d
lavr: replace the SSE version of ff_conv_fltp_to_flt_6ch() with SSE4 and AVX
...
The current SSE version is slower than the MMX version on Athlon64 and Sandy
Bridge, but the SSE4 and AVX versions are faster on Sandy Bridge.
2012-05-09 16:17:59 -04:00
Justin Ruggles
85e5b866dc
avplay: properly close/reopen AVAudioResampleContext on channel layout change
...
fixes Bug#280
2012-05-07 12:42:32 -04:00
Justin Ruggles
f132248028
avcodec: do not needlessly set packet size to 0 in avcodec_encode_audio2()
...
It is already set to 0 by av_free_packet()
2012-05-07 12:14:05 -04:00
Justin Ruggles
74e10b6204
avcodec: for audio encoding, reset output packet when it is not valid
2012-05-07 12:14:05 -04:00
Justin Ruggles
fa0319b4fd
avcodec: refactor avcodec_encode_audio2() to merge common branches
2012-05-07 12:14:05 -04:00
Justin Ruggles
b461cd4deb
avcodec: remove fallbacks for AVCodec.encode() in avcodec_encode_audio2()
...
We no longer have any audio encoders using AVCodec.encode().
2012-05-07 12:14:04 -04:00
Justin Ruggles
e5356ebf22
cosmetics: indentation
2012-05-03 16:28:08 -04:00
Justin Ruggles
8916f1fbcb
avformat: only fill-in interpolated timestamps if duration is non-zero
...
This avoids returning duplicate timestamps for multiple packets when the
demuxer does not provide all timestamps and packet duration is not known.
2012-05-03 16:28:08 -04:00
Justin Ruggles
ff499157a1
avformat: remove a workaround for broken timestamps
...
This modifies pts in situations other than what was intended, leading to
invalid timestamps.
Reverts commit 90bb394dcc
2012-05-03 16:28:08 -04:00
Justin Ruggles
4010d724e1
lavr: use 8.8 instead of 10.6 as the 16-bit fixed-point mixing coeff type
2012-05-01 13:52:59 -04:00
Justin Ruggles
f1ffb01ee9
avplay: use libavresample for sample format conversion and channel mixing
...
SDL only supports s16 sample format and a limited number of channel layouts.
Some versions of SDL on some systems support 4-channel and 6-channel output,
but it's safer overall to downmix any layout with more than 2 channels to
stereo.
2012-05-01 13:38:23 -04:00
Justin Ruggles
f7ff099997
APIchanges: fill in some dates and commit hashes
2012-04-30 13:51:41 -04:00
Justin Ruggles
394dbde548
FATE: use updated reference for aac-latm_stereo_to_51
...
This uses correct stereo to 5.1 upmixing via libavresample.
2012-04-24 23:38:54 -04:00
Justin Ruggles
bcb82fe1f4
avconv: use libavresample
2012-04-24 23:38:54 -04:00
Justin Ruggles
c8af852b97
Add libavresample
...
This is a new library for audio sample format, channel layout, and sample rate
conversion.
2012-04-24 21:28:27 -04:00
Justin Ruggles
c5671aeb77
FATE: avoid channel mixing in lavf-dv_fmt
...
This partially reverts acb1730218
which would only have needed to change the checksums if channel mixing had
been properly avoided. This changes the output file size reference and the
seek test reference back to the previous values.
2012-04-24 15:55:45 -04:00
Justin Ruggles
83b26046fc
avutil: change default buffer size alignment for sample buffer functions
...
Aligning nb_samples will give both correct plane pointer alignment and enough
padding for SIMD-optimized functions.
2012-04-23 14:06:45 -04:00
Justin Ruggles
b0e9edc44f
avcodec: add a cook parser to get subpacket duration
...
Fixes jittery video playback of rm files with cook audio.
2012-04-20 12:11:20 -04:00
Justin Ruggles
acb1730218
FATE: allow lavf tests to alter input parameters
...
Change some lavf tests to avoid resampling and channel mixing.
2012-04-20 10:23:57 -04:00
Justin Ruggles
5052980400
FATE: replace the acodec-pcm_s24daud test with an enc_dec_pcm checksum test
...
This avoids resampling and channel mixing by using a source with
the correct channel layout and sample rate.
2012-04-20 10:23:57 -04:00
Justin Ruggles
03caef1bed
FATE: replace the acodec-g726 test with 4 new encode/decode tests
...
Avoids resampling and channel mixing. This only tests the behavior
with respect to input and output audio rather than also testing changes
to the encoder or muxer that do not affect the resulting decoded output.
2012-04-20 10:23:57 -04:00
Justin Ruggles
a6c8cca2a8
FATE: replace current g722 encoding tests with an encode/decode test
...
Avoids resampling and channel mixing. This only tests the behavior
with respect to input and output audio rather than also testing changes
to the encoder or muxer that do not affect the resulting decoded output.
2012-04-20 10:23:57 -04:00
Justin Ruggles
870165e217
FATE: add a pattern rule for generating asynth wav files
2012-04-20 10:23:57 -04:00
Justin Ruggles
010943c6ce
FATE: optionally write a WAVE header in audiogen
2012-04-20 10:23:57 -04:00
Justin Ruggles
0c0d1bce7c
avutil: add audio fifo buffer
...
The functions operate on the sample level rather than the byte level and work
with all audio sample formats.
2012-04-20 09:43:11 -04:00
Justin Ruggles
9cc338b1de
FATE: pass the decoded output format and audio source file to enc_dec_pcm
...
This will allow decoding to md5 and doing a diff comparison to a reference
checksum instead of a fuzzy stddev or oneoff comparison.
Signed-off-by: Mans Rullgard <mans@mansr.com >
2012-04-18 22:26:56 -04:00
Justin Ruggles
c755b1fbbc
FATE: specify the input format when decoding in enc_dec_pcm()
...
The output format is not always the same as the file extension,
which is sometimes required for correct probing. We can avoid
probing by specifying the format since it is already known.
2012-04-18 22:26:49 -04:00
Justin Ruggles
d8b06521a9
avconv: check for an incompatible changing channel layout
...
The decoder can change the layout and channel count during decoding,
but currently we only validate that the two are compatible when opening
the codec. This checks for incompatibilities after each decoded frame.
2012-04-18 21:02:16 -04:00
Justin Ruggles
8099fc763b
riff: use bps instead of bits_per_coded_sample in the WAVEFORMATEXTENSIBLE header
...
This matches the value for the plain WAVEFORMATEX header.
Also fixes stream copy to WAVE for non-16-bit raw pcm.
2012-04-17 00:09:19 -04:00
Justin Ruggles
b1041f8048
avconv: only set the "channels" option when it exists for the specified input format
...
This allows the user to specify an input channel layout without avconv aborting because the
"channels" option was not found.
2012-04-16 23:44:49 -04:00
Justin Ruggles
5e8280d177
avutil: add better documentation for AVSampleFormat
2012-04-16 15:26:55 -04:00
Justin Ruggles and Ronald S. Bultje
de7f22ab0c
ac3dsp: call femms/emms at the end of float_to_fixed24() for 3DNow and SSE
...
Fixes ac3-encode and eac3-encode FATE test failures with SSE2 disabled.
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com >
2012-04-12 21:33:04 -07:00
Justin Ruggles
d3c59d5003
avconv: use default channel layouts when they are unknown
...
If either input or output layout is known and the channel counts match,
use the known layout for both. Otherwise choose the default layout based on
av_get_default_channel_layout().
Changed some FATE references due to some WAVE files now having a non-zero
channel mask.
2012-04-10 11:30:01 -04:00
Justin Ruggles
95a8dac57b
avconv: parse channel layout string
...
This allows the user to use channel layout names instead of having to use the
channel mask values.
2012-04-10 11:30:01 -04:00
Justin Ruggles
b073819bc9
avconv: allow '-async -1' to disable timestamp sync for audio encoding
...
This will allow a workaround for cases where input timestamps are invalid or
when decoder delay of 1 packet or more confuses avconv into using the wrong
timestamps as a sync reference.
2012-04-09 13:47:11 -04:00
Justin Ruggles
679a973e97
avconv: use default alignment for audio buffer
2012-04-09 10:20:35 -04:00
Justin Ruggles
c58846f3a8
avcodec: use align == 0 for default alignment in avcodec_fill_audio_frame()
...
Use default alignment in audio_get_buffer()
2012-04-09 10:20:35 -04:00
Justin Ruggles
0109a09dc3
avutil: use align == 0 for default alignment in audio sample buffer functions
2012-04-09 10:20:35 -04:00
Justin Ruggles
18ed3788b0
avutil: allow NULL linesize in av_samples_fill_arrays() and av_samples_alloc()
2012-04-09 10:20:35 -04:00
Justin Ruggles
1337de0c4b
avcodec: validate the channel layout vs. channel count for decoders
...
Set avctx->channel_layout to 0 if the channel count does not match
avctx->channels.
2012-04-08 18:45:58 -04:00
Justin Ruggles
4d693b023c
avutil: add av_get_packed_sample_fmt() and av_get_planar_sample_fmt()
...
Based on a patch by Clément Bœsch <ubitux@gmail.com >
2012-04-08 15:13:28 -04:00
Justin Ruggles
bb0618e68b
avcodec: remove avcodec_guess_channel_layout()
...
It is not public because the header is not installed, and its functionality
has been replaced by av_get_default_channel_layout().
2012-04-05 16:40:51 -04:00
Justin Ruggles
5cc51a5847
avutil: Add av_get_default_channel_layout()
...
Also, use the new function in the AC-3 encoder.
2012-04-05 16:35:14 -04:00
Justin Ruggles
67aec401d8
libspeexdec: set frame size in libspeex_decode_init()
...
This fixes speex decoding, which was broken in 85469f1c .
2012-03-30 16:30:37 -04:00
Justin Ruggles
eed691f7d1
oggdec: calculate correct timestamps in Ogg/FLAC
...
We need to parse the individual packet durations when there is more than one
packet in a page.
2012-03-27 16:11:06 -04:00
Justin Ruggles
4094fc9971
avconv: fix the resampling safety factors for output audio buffer allocation
...
This matches the output size required for audio_resample()
2012-03-23 01:19:43 -04:00
Justin Ruggles
9869e963a6
avconv: move audio output buffer allocation to a separate function
...
Allows for removing a goto and makes the code easier to follow.
2012-03-23 01:19:43 -04:00
Justin Ruggles
f3ab3e1aee
avconv: make the async buffer global and free it in exit_program()
2012-03-23 01:19:42 -04:00
Justin Ruggles
f036342b4b
aiffdec: set block_duration to 1 for PCM codecs that are supported in AIFF-C
2012-03-22 11:45:46 -04:00
Justin Ruggles
b38b7cc392
aiffdec: factor out handling of integer PCM for AIFF-C and plain AIFF
2012-03-22 11:45:46 -04:00
Justin Ruggles
2c07c18048
aiffdec: use av_get_audio_frame_duration() to set block_duration for AIFF-C
2012-03-22 11:45:46 -04:00
Justin Ruggles
02f88eec1d
aiffdec: do not set bit rate if block duration is unknown
...
CC: libav-stable@libav.org
2012-03-22 11:45:36 -04:00
Justin Ruggles
6aba117f12
adxenc: use AVCodec.encode2()
2012-03-21 15:04:42 -04:00
Justin Ruggles
54e6cf8a94
adxenc: Use the AVFrame in ADXContext for coded_frame
2012-03-21 15:04:42 -04:00
Justin Ruggles
5d4017b8f3
vorbisenc: use AVCodec.encode2()
2012-03-21 12:49:36 -04:00
Justin Ruggles
e5aab2d7a4
libvorbis: use AVCodec.encode2()
2012-03-21 12:49:36 -04:00
Justin Ruggles
8ccf545b95
libopencore-amrnbenc: use AVCodec.encode2()
2012-03-21 12:49:36 -04:00
Justin Ruggles
330d9d1b50
ra144enc: use AVCodec.encode2()
2012-03-21 12:49:36 -04:00
Justin Ruggles
f090428234
nellymoserenc: use AVCodec.encode2()
2012-03-21 12:49:35 -04:00
Justin Ruggles
32173df3d2
roqaudioenc: use AVCodec.encode2()
...
The first frame pts must be saved until we have 8 frames since RoQ audio
requires 8 frames in the first packet.
2012-03-21 12:49:35 -04:00
Justin Ruggles
b03dcf07f6
libspeex: use AVCodec.encode2()
2012-03-21 12:49:35 -04:00
Justin Ruggles
57a52f258e
libvo_amrwbenc: use AVCodec.encode2()
2012-03-21 12:49:35 -04:00
Justin Ruggles
db440fa12d
libvo_aacenc: use AVCodec.encode2()
2012-03-21 12:49:35 -04:00
Justin Ruggles
27bacfeb57
wmaenc: use AVCodec.encode2()
2012-03-21 12:49:32 -04:00
Justin Ruggles
b0f75ba272
mpegaudioenc: use AVCodec.encode2()
...
Update FATE references due to encoder delay.
2012-03-20 18:56:22 -04:00
Justin Ruggles
3d853d7ab3
libmp3lame: use AVCodec.encode2()
2012-03-20 18:56:18 -04:00
Justin Ruggles
1987a940b7
libgsmenc: use AVCodec.encode2()
2012-03-20 18:55:39 -04:00
Justin Ruggles
d1afb2f94e
libfaac: use AVCodec.encode2()
...
Encoder output is delayed by several frames, so we keep a queue of input
frame timing info to match up with corresponding output packets.
2012-03-20 18:55:36 -04:00
Justin Ruggles
59041fd053
g726enc: use AVCodec.encode2()
2012-03-20 18:47:23 -04:00
Justin Ruggles
bb03b6f7b1
g722enc: use AVCodec.encode2()
...
FATE reference updated due timestamp rounding because of resampling from
44100 Hz to 16000 Hz in avconv.
2012-03-20 18:47:23 -04:00