Commit Graph

67 Commits

Author SHA1 Message Date
Justin Ruggles
0fb2182d46 add a function to calculate a more accurate estimate for maximum FLAC
frame size and use the function in the FLAC decoder and FLAC encoder

Originally committed as revision 18092 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-21 01:54:31 +00:00
Justin Ruggles
f121622114 revert accidental unrelated change in last commit
Originally committed as revision 18090 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-21 01:20:28 +00:00
Justin Ruggles
d4df4e5088 share sample rate and blocksize tables between the FLAC encoder and FLAC
decoder

Originally committed as revision 18089 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-21 01:16:38 +00:00
Justin Ruggles
b9b4fc5e07 flacenc: remove unneeded variable, 'min_encoded_framesize' and use
'min_framesize' instead

Originally committed as revision 18087 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-21 00:50:19 +00:00
Justin Ruggles
ad52941faa flacenc: remove unneeded context variable, 'ch_code'
Originally committed as revision 18083 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-21 00:45:44 +00:00
Justin Ruggles
3159780b18 share channel mode constants between the FLAC decoder and FLAC encoder
Originally committed as revision 18082 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-21 00:44:42 +00:00
Justin Ruggles
07d16e2ecf share some constants between the FLAC encoder and FLAC decoder
Originally committed as revision 18041 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-19 03:04:21 +00:00
Aurelien Jacobs
b250f9c66d Change semantic of CONFIG_*, HAVE_* and ARCH_*.
They are now always defined to either 0 or 1.

Originally committed as revision 16590 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-01-13 23:44:16 +00:00
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