summaryrefslogtreecommitdiff
path: root/libavcodec/flacenc.c
Commit message (Collapse)AuthorAge
* improve CRC APIAurelien Jacobs2008-01-04
| | | | | | | - don't export any global var - provide either generated or hardcoded tables Originally committed as revision 11409 to svn://svn.ffmpeg.org/ffmpeg/trunk
* remove a branch from an inner loop.Loren Merritt2007-10-27
| | | | | | 1% faster flac encoding. Originally committed as revision 10865 to svn://svn.ffmpeg.org/ffmpeg/trunk
* div -> mulLoren Merritt2007-10-01
| | | | Originally committed as revision 10630 to svn://svn.ffmpeg.org/ffmpeg/trunk
* simplify lpcLoren Merritt2007-09-30
| | | | Originally committed as revision 10628 to svn://svn.ffmpeg.org/ffmpeg/trunk
* unroll finite differences to avoid swapping registers.Loren Merritt2007-09-29
| | | | | | | 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
* encode_residual_fixed(): replace FIR with finite differences.Loren Merritt2007-09-29
| | | | | | | 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
* sse2 version of compute_autocorr().Loren Merritt2007-09-29
| | | | | | | 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
* was computing one more autocorrelation coefficient that was actually usedLoren Merritt2007-09-29
| | | | Originally committed as revision 10613 to svn://svn.ffmpeg.org/ffmpeg/trunk
* replace brute force find_optimal_param() with a closed-form solution.Loren Merritt2007-09-29
| | | | | | | | 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
* gcc isn't smart enough to factor out duplicate storesLoren Merritt2007-09-29
| | | | Originally committed as revision 10611 to svn://svn.ffmpeg.org/ffmpeg/trunk
* 2.5x faster compute_autocorr()Loren Merritt2007-09-28
| | | | | | 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
* unroll encode_residual_lpc(). speedup varies between 1.2x and 1.8x depending ↵Loren Merritt2007-09-27
| | | | | | on lpc order. Originally committed as revision 10596 to svn://svn.ffmpeg.org/ffmpeg/trunk
* oops, potential overflow on really large blocksLoren Merritt2007-09-25
| | | | Originally committed as revision 10587 to svn://svn.ffmpeg.org/ffmpeg/trunk
* optimize encode_residual_lpc()Loren Merritt2007-09-25
| | | | | | 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
* Add av_ prefix to clip functionsReimar Döffinger2007-02-25
| | | | Originally committed as revision 8122 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Fix ASF format parser's broken UTF-16 string handlingZuxy Meng2006-11-06
| | | | | | | | | | | 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
* Rename ABS macro to FFABS.Diego Biurrun2006-10-11
| | | | Originally committed as revision 6666 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Change license headers to say 'FFmpeg' instead of 'this program/this library'Diego Biurrun2006-10-07
| | | | | | and fix GPL/LGPL version mismatches. Originally committed as revision 6577 to svn://svn.ffmpeg.org/ffmpeg/trunk
* cosmetic change to adjust alignment.Justin Ruggles2006-07-16
| | | | Originally committed as revision 5767 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Modify preset compression levels to utilize log search.Justin Ruggles2006-07-16
| | | | Originally committed as revision 5766 to svn://svn.ffmpeg.org/ffmpeg/trunk
* log prediction order search methodMichael Niedermayer2006-07-16
| | | | Originally committed as revision 5763 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Add lpc order search. This creates new compression levels 6 to 12.Justin Ruggles2006-07-16
| | | | Originally committed as revision 5762 to svn://svn.ffmpeg.org/ffmpeg/trunk
* calculate all coefficients for several orders during cholesky factorization, ↵Michael Niedermayer2006-07-15
| | | | | | 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
* cleanupMichael Niedermayer2006-07-14
| | | | Originally committed as revision 5750 to svn://svn.ffmpeg.org/ffmpeg/trunk
* optionally (use_lpc=2) support Cholesky factorization for finding the lpc ↵Michael Niedermayer2006-07-14
| | | | | | | | | | | | | | | | | 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
* dither lpc cpeffsMichael Niedermayer2006-07-13
| | | | Originally committed as revision 5727 to svn://svn.ffmpeg.org/ffmpeg/trunk
* allows user-settable block size and fixes related typoJustin Ruggles2006-07-08
| | | | Originally committed as revision 5674 to svn://svn.ffmpeg.org/ffmpeg/trunk
* porder patch by (Justin Ruggles jruggle a t earthlink d ot net)Justin Ruggles2006-07-03
| | | | Originally committed as revision 5593 to svn://svn.ffmpeg.org/ffmpeg/trunk
* 3 lines while -> 1 line for loopMichael Niedermayer2006-07-02
| | | | Originally committed as revision 5577 to svn://svn.ffmpeg.org/ffmpeg/trunk
* simplifyMichael Niedermayer2006-07-02
| | | | Originally committed as revision 5576 to svn://svn.ffmpeg.org/ffmpeg/trunk
* simplify compute_autocorrMichael Niedermayer2006-07-02
| | | | Originally committed as revision 5575 to svn://svn.ffmpeg.org/ffmpeg/trunk
* dont use memcpy for copying structsMichael Niedermayer2006-07-02
| | | | Originally committed as revision 5574 to svn://svn.ffmpeg.org/ffmpeg/trunk
* simplifyMichael Niedermayer2006-07-02
| | | | Originally committed as revision 5573 to svn://svn.ffmpeg.org/ffmpeg/trunk
* flac-lpc patch by (Justin Ruggles jruggle earthlink net)Justin Ruggles2006-07-02
| | | | | | tabs removed and regression.sh fixed (it was missing in the patch) by me Originally committed as revision 5572 to svn://svn.ffmpeg.org/ffmpeg/trunk
* simplifyMichael Niedermayer2006-07-02
| | | | Originally committed as revision 5571 to svn://svn.ffmpeg.org/ffmpeg/trunk
* flacenc - rice param search patch by (Justin Ruggles jruggle earthlink netJustin Ruggles2006-06-27
| | | | | | | | | | | | | | | | | | | | | | | 1) search for optimal rice parameters and partition order. i also modified the stereo method estimation to use this to calculate estimated bit count instead of using just the pure sums. 2) search for the best fixed prediction order 3) constant subframe mode (good for encoding silence) Note that the regression test for the decoded wav file also changed. This is due to FFmpeg's FLAC decoder truncating the file, which it did before anyway...just at a different cutoff point. The generated FLAC files are still 100% lossless. With this update, FFmpeg's FLAC encoder has speed and compression somewhere between "flac -1" and "flac -2". On my machine, it's about 15% faster than "flac -2", and about 10% slower than "flac -1". The encoding parameters are identical to "flac -2" (fixed predictors, 1152 blocksize, partition order 0 to 3). Originally committed as revision 5536 to svn://svn.ffmpeg.org/ffmpeg/trunk
* stereo decorrelation support by (Justin Ruggles jruggle earthlink net>)Michael Niedermayer2006-06-26
| | | | Originally committed as revision 5528 to svn://svn.ffmpeg.org/ffmpeg/trunk
* 10lMichael Niedermayer2006-06-25
| | | | Originally committed as revision 5527 to svn://svn.ffmpeg.org/ffmpeg/trunk
* simplify & optimize things a littleMichael Niedermayer2006-06-24
| | | | Originally committed as revision 5516 to svn://svn.ffmpeg.org/ffmpeg/trunk
* first rudimentary version of (Justin Ruggles jruggle earthlink net) flac ↵Michael Niedermayer2006-06-24
encoder Originally committed as revision 5514 to svn://svn.ffmpeg.org/ffmpeg/trunk