Justin Ruggles
6682ae42a4
write actual min and max frame size to FLAC header. update regression test checksum.
...
Originally committed as revision 15331 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-09-14 22:25:50 +00:00
Justin Ruggles
a9f8587e15
write MD5 checksum to FLAC header. update regression tests.
...
Originally committed as revision 15326 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-09-14 21:39:54 +00:00
Justin Ruggles
e1a12934c5
write number of samples in FLAC extradata.
...
based on a patch by Mathieu Velten (matmaul gmail com).
Originally committed as revision 15324 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-09-14 20:00:36 +00:00
Justin Ruggles
f1f373c220
fix and simplify frame size check and reencoding in verbatim mode
...
Originally committed as revision 14811 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-17 16:10:46 +00:00
Justin Ruggles
38c1a5c4d9
update my email address to one which does not depend on my service provider
...
Originally committed as revision 14797 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-16 22:42:59 +00:00
Justin Ruggles
9045f5e72d
cosmetics: adjust line breaks and vertical alignment
...
Originally committed as revision 14795 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-16 21:32:03 +00:00
Justin Ruggles
56c07e2989
use limited range of lpc orders when quantizing coefficients
...
Originally committed as revision 14794 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-16 21:24:06 +00:00
Ramiro Polla
c50da3ad6c
flacenc, lpc: Move LPC code from flacenc.c to new lpc.[ch] files.
...
Originally committed as revision 14790 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-16 17:18:20 +00:00
Ramiro Polla
51c796d012
flacenc: Allow more flexible shift calculation in LPC.
...
Originally committed as revision 14789 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-16 17:03:57 +00:00
Peter Ross
fd76c37fd9
Modify all codecs to report their supported input and output sample format(s).
...
Originally committed as revision 14482 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-07-31 10:47:31 +00:00
Ramiro Polla
6647ab80e3
bitstream: move put_sbits() from flacenc.c to bitstream.h and use it
...
throughout libavcodec.
Originally committed as revision 14204 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-07-13 14:27:48 +00:00
Stefano Sabatini
fe4bf37455
Make AVCodec long_names definition conditional depending on CONFIG_SMALL.
...
Originally committed as revision 13759 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-06-12 21:50:13 +00:00
Diego Biurrun
245976da2a
Use full path for #includes from another directory.
...
Originally committed as revision 13098 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-05-09 11:56:36 +00:00
Stefano Sabatini
d5202e4fda
Add long names to many AVCodec declarations.
...
patch by Stefano Sabatini, stefano.sabatini-lala poste it
Originally committed as revision 13005 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-04-27 10:52:44 +00:00
Justin Ruggles
42ceeb5f3c
remove redundant context variable
...
Originally committed as revision 12642 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-03-31 00:29:52 +00:00
Justin Ruggles
fe790f89e8
Use 15-bit LPC precision by default. This generally gives better compression
...
results. Also update Ogg regression test.
Originally committed as revision 12630 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-03-30 16:01:10 +00:00
Zuxy Meng
98a6fff98c
Apply 'cold' attribute to init/uninit functions in libavcodec
...
Originally committed as revision 12525 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-03-21 03:11:20 +00:00
Michael Niedermayer
a4195e68b6
assert() and note about odd len.
...
Originally committed as revision 11884 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-02-09 14:45:36 +00:00
Michael Niedermayer
fa4ed8c10a
optimize apply_welch_window()
...
Originally committed as revision 11881 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-02-09 03:42:48 +00:00
Aurelien Jacobs
3abe5fbdc4
improve CRC API
...
- don't export any global var
- provide either generated or hardcoded tables
Originally committed as revision 11409 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-01-04 23:09:58 +00:00
Loren Merritt
90f0344165
remove a branch from an inner loop.
...
1% faster flac encoding.
Originally committed as revision 10865 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-10-27 13:39:19 +00:00
Loren Merritt
286127c5dd
div -> mul
...
Originally committed as revision 10630 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-10-01 05:56:30 +00:00
Loren Merritt
b8de342919
simplify lpc
...
Originally committed as revision 10628 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-09-30 03:36:13 +00:00
Loren Merritt
bfdd5bc1f1
unroll finite differences to avoid swapping registers.
...
1.5x faster encode_residual_fixed().
overall flac encoding: 3% faster at compression_levels 0-2.
Originally committed as revision 10625 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-09-29 23:44:34 +00:00
Loren Merritt
a309dce75f
encode_residual_fixed(): replace FIR with finite differences.
...
4x faster order 2, 3.5x order 3, 3x order 4.
overall flac encoding: 35% faster at compression_levels 0-2, no effect at higher levels.
Originally committed as revision 10624 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-09-29 23:21:57 +00:00
Loren Merritt
6810b93a81
sse2 version of compute_autocorr().
...
4x faster than c (somehow, even though doubles only allow 2x simd).
overal flac encoding: 15-50% faster on core2, 4-11% on k8, 3-13% on p4.
Originally committed as revision 10621 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-09-29 22:31:18 +00:00
Loren Merritt
19b9c7cc66
was computing one more autocorrelation coefficient that was actually used
...
Originally committed as revision 10613 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-09-29 07:43:52 +00:00
Loren Merritt
14bd2a9f25
replace brute force find_optimal_param() with a closed-form solution.
...
overall flac encoding: 4-15% faster.
output is not identical to the previous algorithm due to occasional rounding
errors, but the differece is less than .0005% bitrate.
Originally committed as revision 10612 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-09-29 05:41:27 +00:00
Loren Merritt
f6215b1b06
gcc isn't smart enough to factor out duplicate stores
...
Originally committed as revision 10611 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-09-29 01:54:25 +00:00
Loren Merritt
28e968c4a4
2.5x faster compute_autocorr()
...
overall flac encoding: 15-50% faster on core2, 8-30% on k8, 2-20% on p4 (depending on compression_level)
Originally committed as revision 10606 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-09-28 06:06:18 +00:00
Loren Merritt
dc44d4ad64
unroll encode_residual_lpc(). speedup varies between 1.2x and 1.8x depending on lpc order.
...
Originally committed as revision 10596 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-09-27 02:42:00 +00:00
Loren Merritt
0d2caa37c5
oops, potential overflow on really large blocks
...
Originally committed as revision 10587 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-09-25 23:34:48 +00:00
Loren Merritt
f74471e043
optimize encode_residual_lpc()
...
37%/45%/90% faster on core2/k8/p4, making flac encoding overall 15%/17%/40% faster at compression_level>=8 (less at low levels).
Originally committed as revision 10585 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-09-25 23:30:29 +00:00
Reimar Döffinger
f66e4f5f9e
Add av_ prefix to clip functions
...
Originally committed as revision 8122 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-02-25 10:27:12 +00:00
Zuxy Meng
360932f76d
Fix ASF format parser's broken UTF-16 string handling
...
1. Add a PUT_UTF8 macro to common.h; code borrowed from libavcodec/flacenc.c.
2. Make use of the macro in flacenc.c
Patch by Zuxy Meng % zuxy P meng A gmail P com %
Original thread:
Date: Nov 5, 2006 9:56 AM
Subject: [Ffmpeg-devel] PUT_UTF8 & asf format enhancement
Originally committed as revision 6911 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-11-06 10:32:48 +00:00
Diego Biurrun
c26abfa541
Rename ABS macro to FFABS.
...
Originally committed as revision 6666 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-10-11 23:17:58 +00:00
Diego Biurrun
b78e7197a8
Change license headers to say 'FFmpeg' instead of 'this program/this library'
...
and fix GPL/LGPL version mismatches.
Originally committed as revision 6577 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-10-07 15:30:46 +00:00
Justin Ruggles
e1bbc0321c
cosmetic change to adjust alignment.
...
Originally committed as revision 5767 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-07-16 17:08:25 +00:00
Justin Ruggles
5f3acd9ec9
Modify preset compression levels to utilize log search.
...
Originally committed as revision 5766 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-07-16 17:04:54 +00:00
Michael Niedermayer
dbb45a3bb7
log prediction order search method
...
Originally committed as revision 5763 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-07-16 15:46:45 +00:00
Justin Ruggles
26053bdcc8
Add lpc order search. This creates new compression levels 6 to 12.
...
Originally committed as revision 5762 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-07-16 13:34:47 +00:00
Michael Niedermayer
408ec4e2a6
calculate all coefficients for several orders during cholesky factorization, the resulting coefficients are not strictly optimal though as there is a small difference in the autocorrelation matrixes which is ignored for the smaller orders
...
Originally committed as revision 5758 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-07-15 23:43:38 +00:00
Michael Niedermayer
8ea543b580
cleanup
...
Originally committed as revision 5750 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-07-14 19:14:25 +00:00
Michael Niedermayer
ab01b2b82a
optionally (use_lpc=2) support Cholesky factorization for finding the lpc coeficients
...
this will find the coefficients which minimize the sum of the squared errors,
levinson-durbin recursion OTOH is only strictly correct if the autocorrelation matrix is a
toeplitz matrix which it is only if the blocksize is infinite, this is also why applying
a window (like the welch winodw we currently use) improves the lpc coefficients generated
by levinson-durbin recursion ...
optionally (use_lpc>2) support iterative linear least abs() solver using cholesky
factorization with adjusted weights in each iteration
compression gain for both is small, and multiple passes are of course dead slow
Originally committed as revision 5747 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-07-14 18:48:38 +00:00
Michael Niedermayer
1484a46753
dither lpc cpeffs
...
Originally committed as revision 5727 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-07-13 11:41:52 +00:00
Justin Ruggles
c6375bf23c
allows user-settable block size and fixes related typo
...
Originally committed as revision 5674 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-07-08 16:39:58 +00:00
Justin Ruggles
1e5707b7b8
porder patch by (Justin Ruggles jruggle a t earthlink d ot net)
...
Originally committed as revision 5593 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-07-03 09:20:26 +00:00
Michael Niedermayer
474176bf92
3 lines while -> 1 line for loop
...
Originally committed as revision 5577 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-07-02 13:14:04 +00:00
Michael Niedermayer
5d2f52b989
simplify
...
Originally committed as revision 5576 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-07-02 13:10:08 +00:00
Michael Niedermayer
b2e30cb324
simplify compute_autocorr
...
Originally committed as revision 5575 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-07-02 13:01:01 +00:00