Justin Ruggles
e07c9705c8
lavr: x86: optimized 2-channel flt to fltp conversion
2012-08-23 20:10:57 -04:00
Justin Ruggles
5245c9f3ad
lavr: x86: optimized 6-channel flt to s16p conversion
2012-08-23 20:10:57 -04:00
Justin Ruggles
31d0d7181d
lavr: x86: optimized 2-channel flt to s16p conversion
2012-08-23 20:10:57 -04:00
Justin Ruggles
6092dafb5a
lavr: x86: optimized 6-channel s16 to fltp conversion
2012-08-23 20:10:57 -04:00
Justin Ruggles
91851a7b37
lavr: x86: optimized 2-channel s16 to fltp conversion
2012-08-23 20:10:57 -04:00
Justin Ruggles
205ace8843
lavr: x86: optimized 6-channel s16 to s16p conversion
2012-08-23 20:10:57 -04:00
Justin Ruggles
8eeffa8ada
lavr: x86: optimized 2-channel s16 to s16p conversion
2012-08-23 20:10:57 -04:00
Justin Ruggles
b66e20d2aa
lavr: x86: optimized 2-channel fltp to flt conversion
2012-08-23 20:10:56 -04:00
Justin Ruggles
d5b4e50c47
lavr: x86: optimized 6-channel fltp to s16 conversion
2012-08-23 20:10:56 -04:00
Justin Ruggles
a58a013980
lavr: x86: optimized 2-channel fltp to s16 conversion
2012-08-23 20:10:56 -04:00
Justin Ruggles
90cc27f813
lavr: x86: optimized 6-channel s16p to flt conversion
2012-08-23 20:10:56 -04:00
Justin Ruggles
46f929adad
lavr: x86: optimized 2-channel s16p to flt conversion
2012-08-23 20:10:56 -04:00
Justin Ruggles
13df7d2d40
lavr: x86: optimized 6-channel s16p to s16 conversion
2012-08-23 20:10:56 -04:00
Justin Ruggles
c0e12535aa
lavr: x86: optimized 2-channel s16p to s16 conversion
2012-08-23 20:10:56 -04:00
Justin Ruggles
a0a5fed908
vorbisenc: set AVCodecContext.bit_rate to 0
...
The Vorbis encoder is always VBR.
2012-08-22 19:58:46 -04:00
Justin Ruggles
890fddd0ea
vorbisenc: fix quality parameter
...
This generates output with bitrates similar to libvorbis for a given quality
value.
2012-08-22 19:58:39 -04:00
Justin Ruggles
e981215944
FATE: add ALAC encoding tests
2012-08-22 16:41:57 -04:00
Justin Ruggles
4b0e0f31bf
lpc: fix alignment of windowed samples for odd maximum LPC order
...
Fixes crash on x86 due to alignment requirements for w_data in
lpc_apply_welch_window_sse2().
2012-08-22 16:41:50 -04:00
Justin Ruggles
f24cc1b2f1
alacenc: use s16p sample format as input
2012-08-22 16:41:41 -04:00
Justin Ruggles
358078d9bb
alacenc: remove unneeded sample_fmt check
2012-08-22 16:41:33 -04:00
Justin Ruggles
ec7a212f9f
alacenc: fix max_frame_size calculation for the final frame
2012-08-22 16:41:23 -04:00
Justin Ruggles
5d4ef004bf
adpcm_swf: Use correct sample offsets when using trellis.
...
Fixes invalid reads when encoding mono streams when trellis is used.
2012-08-22 12:43:51 -04:00
Justin Ruggles
fdbeae4490
mpc8: add a flush function
...
Ensures that the next frame decoded after seeking will be decoded as a
keyframe.
2012-08-06 14:39:21 -04:00
Justin Ruggles
2fa57c9daf
mpc8: set packet duration and stream start time instead of tracking frames
...
Fixes mpc8 timestamps.
2012-08-06 14:39:21 -04:00
Justin Ruggles
8821ae649e
lavr: fix handling of custom mix matrices
...
Adds some validation for changing parameters after setting the matrix and
fixes a bug in the conversion path setup.
2012-08-04 10:28:22 -04:00
Justin Ruggles
be51e589cd
af_asyncts: avoid overflow in out_size with large delta values
2012-07-29 14:31:54 -04:00
Justin Ruggles
70d71b5801
af_asyncts: add first_pts option
...
This allows for padding/trimming at the start of stream. By default, no
assumption is made about the first frame's expected pts, so no padding or
trimming is done.
2012-07-29 14:31:54 -04:00
Justin Ruggles
e9da9a3111
lavr: x86: improve non-SSE4 version of S16_TO_S32_SX macro
...
Removes a false dependency on existing contents of the 2nd dst register,
giving better performance for OOE.
2012-07-27 14:21:32 -04:00
Justin Ruggles
743f07062a
lavfi: better channel layout negotiation
...
Allow substitution of channel pairs in the input for nearby channel pairs in
the output in order to get a closer match. Also weigh LFE channel mismatch
differently to favor matching the same layout without LFE over one less
channel with LFE.
2012-07-27 14:15:33 -04:00
Justin Ruggles
81f548de57
alac: check for truncated packets
...
This will give a clearer error message when the error is caused by a
truncated packet.
2012-07-27 13:52:20 -04:00
Justin Ruggles
fb57e913e1
alac: reverse lpc coeff order, simplify filter
...
Reversing the lpc coefficient order simplifies indexing in the filter.
2012-07-27 13:52:19 -04:00
Justin Ruggles
2f096bb10e
lavr: add x86-optimized mixing functions
...
Adds optimized functions for mixing 3 through 8 input channels to 1 and 2
output channels in fltp or s16p format with flt coeffs.
2012-07-27 11:25:48 -04:00
Justin Ruggles
79687079a9
x86: add support for fmaddps fma4 instruction with abstraction to avx/sse
2012-07-27 11:25:48 -04:00
Justin Ruggles
0dadf9d1e9
lavr: x86: add missing vzeroupper in ff_mix_1_to_2_fltp_flt()
2012-07-25 15:41:25 -04:00
Justin Ruggles
a35738f424
dsputil: ppc: cosmetics: pretty-print
2012-07-22 17:38:55 -04:00
Justin Ruggles
1749e12f45
cafdec: allow larger ALAC magic cookie
...
It already skips any extra bytes at the end, and apparently there are some
samples in the wild with larger 'kuki' chunks.
2012-07-19 20:14:29 -04:00
Justin Ruggles
4cd22b7738
alac: fix channel pointer assignment for 24 and 32-bit
...
Needs to be done separately for each element.
2012-07-19 20:14:29 -04:00
Justin Ruggles
eeb55f5f2f
alac: cosmetics: general pretty-printing and comment clean up
2012-07-19 13:26:48 -04:00
Justin Ruggles
f3e5a7844b
alac: calculate buffer size outside the loop in allocate_buffers()
2012-07-19 13:26:48 -04:00
Justin Ruggles
bae83f2c74
alac: change some data types to plain int
2012-07-19 13:26:48 -04:00
Justin Ruggles
2aebac6918
alac: cosmetics: rename some variables and function names
2012-07-19 13:26:48 -04:00
Justin Ruggles
81c9e2e6d0
alac: split element parsing into a separate function
...
This will make multi-channel implementation simpler.
Based partially on a patch by Andrew D'Addesio <modchipv12@gmail.com >.
2012-07-19 13:26:48 -04:00
Justin Ruggles
cd632619d9
alac: support a read sample size of up to 32
...
Use get_bits_long() in decode_scalar().
Use unsigned int for decoded value.
2012-07-19 13:26:48 -04:00
Justin Ruggles
73dc0db486
alac: output in planar sample format
...
Avoids unneeded interleaving and allows for reusing the AVFrame output buffer
as the internal buffer for 24-bit and 32-bit sample size.
2012-07-19 13:26:48 -04:00
Justin Ruggles
6482bd8831
alac: add 32-bit decoding support
2012-07-19 13:26:48 -04:00
Justin Ruggles
5138ff143f
alac: use AVPacket fields directly in alac_decode_frame()
2012-07-19 13:26:47 -04:00
Justin Ruggles
7a206eb32f
alac: fix check for valid max_samples_per_frame
2012-07-19 13:26:47 -04:00
Justin Ruggles
1193d3fedd
alac: use get_sbits() to read LPC coefficients instead of casting
2012-07-19 13:26:47 -04:00
Justin Ruggles
7a50ec6799
alac: move the current samples per frame to the ALACContext
...
This will simplify the multi-channel implementation.
2012-07-19 13:26:47 -04:00
Justin Ruggles
46043962ea
alac: avoid using a double-negative when checking if the frame is compressed
2012-07-19 13:26:47 -04:00
Justin Ruggles
9a6c528e08
alac: factor out output_size check in predictor_decompress_fir_adapt()
2012-07-19 13:26:47 -04:00
Justin Ruggles
ebd4c3add1
alac: factor out loading of next decoded sample in LPC prediction
2012-07-19 13:26:47 -04:00
Justin Ruggles
a4ecd41442
alac: use index into buffer_out instead of incrementing the pointer
2012-07-19 13:26:47 -04:00
Justin Ruggles
f2515cd629
alac: simplify lpc coefficient adaptation
2012-07-19 13:26:47 -04:00
Justin Ruggles
abc4376b31
alac: reduce the number of local variables needed in lpc prediction
2012-07-19 13:26:47 -04:00
Justin Ruggles
01880d287b
alac: simplify 1st order prediction and reading of warm-up samples
2012-07-19 13:26:46 -04:00
Justin Ruggles
d0c0bf0d3e
alac: cosmetics: reindent after last commit
2012-07-19 13:26:46 -04:00
Justin Ruggles
79def4c523
alac: remove unneeded conditionals in predictor_decompress_fir_adapt()
2012-07-19 13:26:46 -04:00
Justin Ruggles
4bcd637dcb
alac: use sizeof() instead of hardcoded data sizes
2012-07-19 13:26:46 -04:00
Justin Ruggles
91620a04f1
alac: make block_size signed
...
It does not need to be unsigned.
2012-07-19 13:26:46 -04:00
Justin Ruggles
2fc24b3273
alac: remove a duplicate local variable
2012-07-19 13:26:46 -04:00
Justin Ruggles
5177413d20
alac: conditionally set sign_modifier to 1
...
It is already unconditionally set to 0 prior to this, so we can modify it
only when needed.
2012-07-19 13:26:46 -04:00
Justin Ruggles
7e6593e977
alac: eliminate 2 unneeded local variables in bastardized_rice_decompress()
...
x_modified is just unnecessary, and final_val can be removed by simplifying
the unsigned-to-signed conversion.
2012-07-19 13:26:46 -04:00
Justin Ruggles
6fd8a28b59
alac: adjust conditions for updating entropy decoder history
...
avoids some unnecessary arithmetic in certain situations
2012-07-19 13:26:46 -04:00
Justin Ruggles
a06fdadd97
alac: cosmetics: reindent after last commit
2012-07-19 13:26:46 -04:00
Justin Ruggles
d9837434a9
alac: limit the rice param before passing to decode_scalar()
...
reduces the number of parameters to decode_scalar() and slightly simplifies
the code
2012-07-19 13:26:45 -04:00
Justin Ruggles
6e91f62256
alac: reduce the number of parameters to bastardized_rice_decompress()
...
Use the ALACContext fields directly instead.
2012-07-19 13:26:45 -04:00
Justin Ruggles
836e8b9ba0
alac: cosmetics: rename some ALACContext parameters
2012-07-19 13:26:45 -04:00
Justin Ruggles
2ac1737583
alac: clean up and update comments leftover from reverse-engineering
2012-07-19 13:26:45 -04:00
Justin Ruggles
3bab7cd128
avformat: move 'chan' tag parsing to mov_chan.c to share with the CAF demuxer
2012-07-19 13:26:45 -04:00
Justin Ruggles
c0196a14b9
caf: use int64_t for num_packets
...
It is used to store a value read by avio_rb64().
2012-07-19 13:26:45 -04:00
Justin Ruggles
f5a9c35f88
caf: fix 'pakt' chunk parsing
...
according to the CAF specification:
"... the value for mChunkSize can be greater than the actual valid content
of the packet table chunk"
2012-07-19 13:26:45 -04:00
Justin Ruggles
b0b77b9ca5
caf: support either old or new style ALAC magic kuki chunk
2012-07-19 13:26:45 -04:00
Justin Ruggles
6410397600
lavr: resampling: add support for s32p, fltp, and dblp internal sample formats
...
Based partially on implementation by Michael Niedermayer <michaelni@gmx.at > in
libswresample in FFmpeg. See commits:
7f1ae79d38
24ab1abfb6
2012-07-08 15:22:11 -04:00
Justin Ruggles
372647aed0
lavr: resampling: add filter type and Kaiser window beta to AVOptions
2012-07-08 15:22:11 -04:00
Justin Ruggles
8ca08066fc
lavr: Use AV_SAMPLE_FMT_NONE to auto-select the internal sample format
...
Also make this the default value.
2012-07-08 15:22:11 -04:00
Justin Ruggles
db0e7bd0bd
lavr: mix: validate internal sample format in ff_audio_mix_init()
2012-07-08 15:22:11 -04:00
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