Michael Niedermayer
59eb12faff
Merge remote branch 'qatar/master'
...
* qatar/master: (30 commits)
AVOptions: make default_val a union, as proposed in AVOption2.
arm/h264pred: add missing argument type.
h264dsp_mmx: place bracket outside #if/#endif block.
lavf/utils: fix ff_interleave_compare_dts corner case.
fate: add 10-bit H264 tests.
h264: do not print "too many references" warning for intra-only.
Enable decoding of high bit depth h264.
Adds 8-, 9- and 10-bit versions of some of the functions used by the h264 decoder.
Add support for higher QP values in h264.
Add the notion of pixel size in h264 related functions.
Make the h264 loop filter bit depth aware.
Template dsputil_template.c with respect to pixel size, etc.
Template h264idct_template.c with respect to pixel size, etc.
Preparatory patch for high bit depth h264 decoding support.
Move some functions in dsputil.c into a new file dsputil_template.c.
Move the functions in h264idct into a new file h264idct_template.c.
Move the functions in h264pred.c into a new file h264pred_template.c.
Preparatory patch for high bit depth h264 decoding support.
Add pixel formats for 9- and 10-bit yuv420p.
Choose h264 chroma dc dequant function dynamically.
...
Conflicts:
doc/APIchanges
ffmpeg.c
ffplay.c
libavcodec/alpha/dsputil_alpha.c
libavcodec/arm/dsputil_init_arm.c
libavcodec/arm/dsputil_init_armv6.c
libavcodec/arm/dsputil_init_neon.c
libavcodec/arm/dsputil_iwmmxt.c
libavcodec/arm/h264pred_init_arm.c
libavcodec/bfin/dsputil_bfin.c
libavcodec/dsputil.c
libavcodec/h264.c
libavcodec/h264.h
libavcodec/h264_cabac.c
libavcodec/h264_cavlc.c
libavcodec/h264_loopfilter.c
libavcodec/h264_ps.c
libavcodec/h264_refs.c
libavcodec/h264dsp.c
libavcodec/h264idct.c
libavcodec/h264pred.c
libavcodec/mlib/dsputil_mlib.c
libavcodec/options.c
libavcodec/ppc/dsputil_altivec.c
libavcodec/ppc/dsputil_ppc.c
libavcodec/ppc/h264_altivec.c
libavcodec/ps2/dsputil_mmi.c
libavcodec/sh4/dsputil_align.c
libavcodec/sh4/dsputil_sh4.c
libavcodec/sparc/dsputil_vis.c
libavcodec/utils.c
libavcodec/version.h
libavcodec/x86/dsputil_mmx.c
libavformat/options.c
libavformat/utils.c
libavutil/pixfmt.h
libswscale/swscale.c
libswscale/swscale_internal.h
libswscale/swscale_template.c
tests/ref/seek/lavf_avi
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-05-11 05:47:02 +02:00
Anton Khirnov
188dea1dbf
lavc: move some flac-specific options to its private context.
2011-05-10 07:42:33 +02:00
Carl Eugen Hoyos
6c93641683
Warn if the source has unsupported (or no) channel layout.
2011-04-25 11:23:06 +02:00
Michael Niedermayer
efb5fa79f5
Merge remote branch 'qatar/master'
...
* qatar/master: (37 commits)
In avcodec_open(), set return code to an error value only when an error occurs instead of unconditionally at the start of the function.
lavc: remove reference to opt.h from Makefile.
prefer avio_check() over url_exist()
avio: remove AVIO_* access symbols in favor of new AVIO_FLAG_* symbols
lavu: remove misc disabled cruft
lavu: remove FF_API_OLD_IMAGE_NAMES cruft
NOT PULLED lavu: remove FF_API_OLD_EVAL_NAMES cruft
lavc: remove misc disabled cruft.
lavc: remove the FF_API_INOFFICIAL cruft.
lavc: remove the FF_API_SET_STRING_OLD cruft.
lavc: remove the FF_API_USE_LPC cruft.
lavc: remove the FF_API_SUBTITLE_OLD cruft.
lavc: remove the FF_API_VIDEO_OLD cruft.
lavc: remove the FF_API_AUDIO_OLD cruft.
lavc: remove the FF_API_OPT_SHOW cruft.
lavc: remove the FF_API_MM_FLAGS cruft.
lavf: remove misc disabled cruft.
lavf: remove FF_API_INDEX_BUILT cruft
lavf: remove FF_API_URL_CLASS cruft.
lavf: remove FF_API_SYMVER cruft
...
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-04-20 04:48:23 +02:00
Anton Khirnov
01a4259b8d
lavc: remove the FF_API_USE_LPC cruft.
2011-04-19 18:40:35 +02:00
Mans Rullgard
2912e87a6c
Replace FFmpeg with Libav in licence headers
...
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-03-19 13:33:20 +00:00
Diego Elio Pettenò
e7e2df27f8
Add ff_ prefix to data symbols of encoders, decoders, hwaccel, parsers, bsf.
...
None of these symbols should be accessed directly, so declare them as
hidden.
Signed-off-by: Mans Rullgard <mans@mansr.com>
(cherry picked from commit d36beb3f69
)
2011-01-28 03:15:34 +01:00
Diego Elio Pettenò
d36beb3f69
Add ff_ prefix to data symbols of encoders, decoders, hwaccel, parsers, bsf.
...
None of these symbols should be accessed directly, so declare them as
hidden.
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-01-26 16:08:45 +00:00
Justin Ruggles
7101b18508
Separate window function from autocorrelation.
...
Signed-off-by: Mans Rullgard <mans@mansr.com>
(cherry picked from commit 77a78e9bdc
)
2011-01-23 19:32:06 +01:00
Justin Ruggles
0d8837bdda
Move lpc_compute_autocorr() from DSPContext to a new struct LPCContext.
...
Signed-off-by: Mans Rullgard <mans@mansr.com>
(cherry picked from commit 56f8952b25
)
2011-01-23 19:32:06 +01:00
Justin Ruggles
77a78e9bdc
Separate window function from autocorrelation.
...
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-01-21 19:59:08 +00:00
Justin Ruggles
56f8952b25
Move lpc_compute_autocorr() from DSPContext to a new struct LPCContext.
...
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-01-21 19:58:59 +00:00
Stefano Sabatini
5d6e4c160a
Replace deprecated symbols SAMPLE_FMT_* with AV_SAMPLE_FMT_*, and enum
...
SampleFormat with AVSampleFormat.
Originally committed as revision 25730 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-11-12 11:04:40 +00:00
Aurelien Jacobs
0743de4ffd
add FF_API_USE_LPC define to disable the deprecated AVCodecContext.use_lpc field
...
Originally committed as revision 25275 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-09-30 20:31:42 +00:00
Justin Ruggles
6768beb4a8
cosmetics: rename output_* to write_*
...
Originally committed as revision 24634 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-31 21:14:03 +00:00
Justin Ruggles
3d2cd42f8a
Simplify verbatim mode fallback by checking the frame size before writing.
...
Originally committed as revision 24632 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-31 21:08:53 +00:00
Justin Ruggles
2249a7f312
Change max_framesize for small final frame.
...
Originally committed as revision 24631 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-31 20:52:33 +00:00
Justin Ruggles
7c29a5de25
Calculate an exact frame size before writing. Now the buffer size requirements
...
can be known exactly, so larger frame sizes can be safely encoded without buffer
overwrite.
Originally committed as revision 24630 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-31 20:32:12 +00:00
Justin Ruggles
675eb677c5
cosmetics: rename find_subblock_rice_params() to find_subframe_rice_params()
...
Originally committed as revision 24629 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-31 20:19:07 +00:00
Justin Ruggles
089c18f315
Reduce number of input parameters to find_subblock_rice_params().
...
Originally committed as revision 24628 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-31 20:17:59 +00:00
Justin Ruggles
d309f01950
10l: fix bit count for frame header
...
Originally committed as revision 24627 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-31 18:48:48 +00:00
Justin Ruggles
b22f9d6535
Simplify fallback to verbatim mode encoding.
...
Originally committed as revision 24626 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-31 17:23:29 +00:00
Justin Ruggles
45e2908757
cosmetics: line wrap and vertical alignment
...
Originally committed as revision 24625 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-31 17:07:24 +00:00
Justin Ruggles
8fbb8d31d8
Combine calc_rice_params_fixed() and calc_rice_params_lpc() into a single
...
function.
Originally committed as revision 24624 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-31 17:06:10 +00:00
Justin Ruggles
43b3273e5b
Remove unneeded wrapper function.
...
Originally committed as revision 24622 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-31 16:50:27 +00:00
Justin Ruggles
0f5cc12c4f
Remove duplicate code by adding a flag for encoding in verbatim mode.
...
Originally committed as revision 24621 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-31 16:46:32 +00:00
Justin Ruggles
93d65e3d92
Estimate frame size during encoding.
...
Originally committed as revision 24619 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-31 16:37:23 +00:00
Justin Ruggles
eb96f1698a
cosmetics: indentation
...
Originally committed as revision 24612 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-30 21:33:51 +00:00
Justin Ruggles
520effb9b5
Combine output_subframe() and output_subframes().
...
Originally committed as revision 24611 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-30 21:32:19 +00:00
Justin Ruggles
fb443a6f3b
Remove unneeded variable.
...
Originally committed as revision 24610 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-30 21:27:00 +00:00
Justin Ruggles
724f34716b
cosmetics: indentation
...
Originally committed as revision 24609 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-30 21:07:21 +00:00
Justin Ruggles
6d263f41ae
Combine output_subframe_verbatim() and output_subframe_lpc().
...
Originally committed as revision 24608 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-30 21:06:38 +00:00
Justin Ruggles
6266cfb4ce
Combine and simplify output_residual() and output_subframe_lpc().
...
Originally committed as revision 24607 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-30 20:53:02 +00:00
Justin Ruggles
fc001d6cc1
cosmetics: reindent
...
Originally committed as revision 24606 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-30 20:29:03 +00:00
Justin Ruggles
175a57113f
Combine and simplify output_subframe_fixed() and output_subframe_lpc().
...
Originally committed as revision 24605 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-30 20:28:46 +00:00
Justin Ruggles
89912b5ff1
Combine and simplify output_subframe_constant() and output_subframe_verbatim().
...
Originally committed as revision 24604 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-30 20:24:15 +00:00
Justin Ruggles
1f1c05b09f
Pass FlacSubframe to output_subframe_* instead of channel number.
...
Originally committed as revision 24603 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-30 20:09:14 +00:00
Justin Ruggles
15f537ed53
cosmetics: change FlacEncodeContext variable name from ctx to s in several
...
places for consistency.
Originally committed as revision 24602 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-30 19:40:18 +00:00
Justin Ruggles
871a24f3bf
Set coded_frame->pts in the FLAC encoder
...
Originally committed as revision 24601 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-30 19:18:48 +00:00
Justin Ruggles
27e3418844
Do not need to set coded_frame->key_frame = 1 because it is already set in
...
avcodec_alloc_frame().
Originally committed as revision 24600 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-30 19:02:59 +00:00
Justin Ruggles
7fe0c7c823
Move debug logging of compression options to a single function.
...
Originally committed as revision 24599 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-30 18:59:27 +00:00
Justin Ruggles
e08ec71480
Add 2 failed memory allocation checks
...
Originally committed as revision 24598 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-30 18:34:39 +00:00
Justin Ruggles
e35b689ebd
cosmetics: pretty-print flacenc.c
...
Originally committed as revision 24597 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-30 18:30:09 +00:00
Reimar Döffinger
edac49daf5
Use "const" qualifier for pointers that point to input data of
...
audio encoders.
This is purely for clarity/documentation purposes.
Originally committed as revision 24481 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-24 13:59:49 +00:00
Justin Ruggles
23940f1405
Add AVCodecContext.lpc_type and Add AVCodecContext.lpc_passes fields.
...
Add AVLPCType enum.
Deprecate AVCodecContext.use_lpc.
Originally committed as revision 24199 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-11 16:56:20 +00:00
Måns Rullgård
8fc0162ac4
Add av_ prefix to bswap macros
...
Originally committed as revision 24170 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-10 22:12:30 +00:00
Måns Rullgård
e6b22522c9
bswap: change ME to NE in macro names
...
Other parts of FFmpeg use NE (native endian) rather than ME (machine).
This makes it consistent.
Originally committed as revision 24169 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-10 22:09:01 +00:00
Måns Rullgård
49bd8e4b84
Fix grammar errors in documentation
...
Originally committed as revision 23904 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-06-30 15:38:06 +00:00
Måns Rullgård
79aec75792
flacenc: convert VLA to fixed size
...
Originally committed as revision 23744 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-06-23 21:22:56 +00:00
Stefano Sabatini
2874c81cc8
Replace all remaining occurrences of AVERROR_NOMEM with
...
AVERROR(ENOMEM).
AVERROR_NOMEM is deprecated and will be dropped at the next libavutil
major bump.
Originally committed as revision 22791 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-03 14:15:00 +00:00
Stefano Sabatini
72415b2adb
Define AVMediaType enum, and use it instead of enum CodecType, which
...
is deprecated and will be dropped at the next major bump.
Originally committed as revision 22735 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-30 23:30:55 +00:00
Justin Ruggles
fde82ca7e4
Move autocorrelation function from flacenc.c to lpc.c. Also rename the
...
corresponding dsputil functions and remove their dependency on the FLAC
encoder.
Fixes Issue1486.
Originally committed as revision 20266 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-17 21:00:39 +00:00
Reimar Döffinger
b5f09d31c2
Make sample_fmts and channel_layouts compound literals const to reduce size of
...
.data section.
Originally committed as revision 19787 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-06 09:15:07 +00:00
Måns Rullgård
63613fe615
Replace WORDS_BIGENDIAN with HAVE_BIGENDIAN
...
Originally committed as revision 19508 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-07-26 12:20:04 +00:00
Justin Ruggles
0bc08ed941
flacenc: write initial blocksize to STREAMINFO header instead of current
...
blocksize.
Originally committed as revision 18532 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-16 02:28:49 +00:00
Bobby Bingham
0aed5e9fb8
Skip loop iterations which are no-ops due to data1[-lag..-1] being zero.
...
Originally committed as revision 18498 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-13 18:07:02 +00:00
Jai Menon
437f884da6
flacenc : do not #include libavutil/lls.h since lpc code is now
...
separate.
Originally committed as revision 18495 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-13 16:23:54 +00:00
Stefano Sabatini
9106a698e7
Rename bitstream.h to get_bits.h.
...
Originally committed as revision 18494 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-13 16:20:26 +00:00
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
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
Michael Niedermayer
412759560c
dont use memcpy for copying structs
...
Originally committed as revision 5574 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-07-02 12:40:39 +00:00
Michael Niedermayer
7c69b83057
simplify
...
Originally committed as revision 5573 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-07-02 11:06:27 +00:00
Justin Ruggles
a403fc0324
flac-lpc patch by (Justin Ruggles jruggle earthlink net)
...
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
2006-07-02 10:22:31 +00:00
Michael Niedermayer
78f67b7ad3
simplify
...
Originally committed as revision 5571 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-07-02 09:30:51 +00:00
Justin Ruggles
e71bcc3798
flacenc - rice param search patch by (Justin Ruggles jruggle earthlink net
...
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
2006-06-27 21:01:21 +00:00
Michael Niedermayer
f33aa12011
stereo decorrelation support by (Justin Ruggles jruggle earthlink net>)
...
Originally committed as revision 5528 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-06-26 06:00:07 +00:00
Michael Niedermayer
6c35b4dee3
10l
...
Originally committed as revision 5527 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-06-25 21:22:25 +00:00
Michael Niedermayer
d1015e88b4
simplify & optimize things a little
...
Originally committed as revision 5516 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-06-24 13:56:29 +00:00
Michael Niedermayer
9e96ab0389
first rudimentary version of (Justin Ruggles jruggle earthlink net) flac encoder
...
Originally committed as revision 5514 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-06-24 10:20:15 +00:00