Vittorio Giovara
70d246d5cc
flacenc: initialize sums matrix
...
CC: libav-stable@libav.org
Bug-Id: CID 703821
10 years ago
Reimar Döffinger
254da44bf9
flacenc: calculate lower sum levels in-place.
...
Should improve cache usage and reduces stack usage.
Also reduces number of copies in case many levels
have the same number of bits.
Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
10 years ago
James Almer
3cec54b7d7
x86/flacdsp: add SSE2 and AVX decorrelate functions
...
Two to four times faster depending on instruction set, block size and channel count.
10 years ago
James Darnley
54a51d3840
lavc/flacenc: partially unroll loop in flac_enc_lpc_16
...
It now does 12 samples per iteration, up from 4.
From 1.8 to 3.2 times faster again. 3.6 to 5.7 times faster overall.
Runtime is reduced by a further 2 to 18%. Overall runtime reduced by
4 to 50%.
Same conditions as before apply.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
10 years ago
James Darnley
0081a14e7d
lavc/flacenc: add sse4 version of the 16-bit lpc encoder
...
From 1.8 to 2.4 times faster. Runtime is reduced by 2 to 39%. The
speed-up generally increases with compression_level.
This lpc encoder is not used with levels < 3 so it provides no speed-up
in these cases.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
10 years ago
Diego Biurrun
c67b449beb
dsputil: Split bswap*_buf() off into a separate context
11 years ago
Anton Khirnov
ed39cda029
flacenc: send final extradata in packet side data
11 years ago
Michael Niedermayer
0eb9482e32
avcodec/flacenc: Use av_malloc_array()
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
11 years ago
Diego Biurrun
b2bed9325d
cosmetics: Group .name and .long_name together in codec/format declarations
11 years ago
Diego Biurrun
a5f8873620
silly typo fixes
12 years ago
Anton Khirnov
f073b1500e
lavc: remove disabled FF_API_OLD_ENCODE_AUDIO cruft
12 years ago
James Zern
bcaf64b605
normalize calls to ff_alloc_packet2
...
- check ret < 0
- remove excessive error log
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
12 years ago
Paul B Mahol
92d874cb78
flacenc: include correct header
...
Encoder needs put_bits.h, not get_bits.h
Signed-off-by: Paul B Mahol <onemda@gmail.com>
12 years ago
Nicolas George
9e28e0035a
lavc/flacenc: improve error return.
...
Use meaningful error codes and add log messages.
12 years ago
Janne Grunau
480be07a96
flac: change minimum and default of lpc_passes option to 1
...
Avoid use of uninitialized and uncomputed linear least square models
during ff_lpc_calc_coefs() for FF_LPC_TYPE_CHOLESKY. Fixes running
make fate-flac-16-lpc-cholesk with valgrind --undef-value-errors=yes.
12 years ago
Justin Ruggles
3a2731cbd3
flacenc: ensure the order is within the min/max range in LPC order search
...
This fixes use of uninitialized values when the FLAC encoder uses the
2-level, 4-level, and 8-level search methods. Fixes failure of the
fate-flac-24-comp-8 test when run using valgrind.
12 years ago
Justin Ruggles
5ff998a233
flacenc: use uint64_t for bit counts
...
Needed to avoid integer overflows for 24-bit encoding.
12 years ago
Justin Ruggles
e783316322
flacenc: remove wasted trailing 0 bits
12 years ago
Justin Ruggles
2e76f34387
flacenc: use RICE2 entropy coding mode for 24-bit
12 years ago
Justin Ruggles
13e1ee6c84
flacenc: add 24-bit encoding
12 years ago
Justin Ruggles
799e232490
flacdsp: move lpc encoding from FLAC encoder to FLACDSPContext
...
Also, templatize the functions for 16-bit and 32-bit sample range. This will
be used for 24-bit FLAC encoding.
12 years ago
Justin Ruggles
6a744d2619
flacenc: use a separate buffer for byte-swapping for MD5 checksum on big-endian
...
This is much faster than calculating the MD5 one sample at a time.
12 years ago
Martin Storsjö
e002e3291e
Use the new aes/md5/sha/tree allocation functions
...
Signed-off-by: Martin Storsjö <martin@martin.st>
12 years ago
Martin Storsjö
e6153f173a
avopt: Store defaults for AV_OPT_TYPE_INT in the i64 union member
...
Signed-off-by: Martin Storsjö <martin@martin.st>
12 years ago
Martin Storsjö
124134e424
avopt: Store defaults for AV_OPT_TYPE_CONST in the i64 union member
...
Signed-off-by: Martin Storsjö <martin@martin.st>
12 years ago
Anton Khirnov
36ef5369ee
Replace all CODEC_ID_* with AV_CODEC_ID_*
12 years ago
Michael Niedermayer
f92a99dae5
flacenc: switch to av_assert
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
12 years ago
Mans Rullgard
d155b60fc8
flac: make FLAC_CHMODE_* constants consecutive
13 years ago
Mans Rullgard
360aa2465a
flacenc: add option for forcing stereo decorrelation mode
...
This is mainly useful for testing.
Signed-off-by: Mans Rullgard <mans@mansr.com>
13 years ago
Martin Storsjö
00c3b67b8a
cosmetics: Align codec declarations
...
Also break some long lines, remove codec function placeholder comments
and add spaces in sample/pixel format lists.
Signed-off-by: Martin Storsjö <martin@martin.st>
13 years ago
Paul B Mahol
ae2c33b0c2
cosmetics: remove superfluous curly brackets
...
Signed-off-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
13 years ago
Michael Niedermayer
487996f64a
flacenc: switch to ff_alloc_packet2()
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
13 years ago
Justin Ruggles
910bdb9a42
flacenc: use AVCodec.encode2()
13 years ago
Diego Biurrun
32f3c541bc
doxygen: Do not include license boilerplates in Doxygen comment blocks.
13 years ago
Anton Khirnov
0dc6bab092
lavc: remove disabled FF_API_FLAC_GLOBAL_OPTS cruft.
13 years ago
Anton Khirnov
145f741e11
AVOptions: rename FF_OPT_TYPE_* => AV_OPT_TYPE_*
13 years ago
Anton Khirnov
ec6402b7c5
lavc: use designated initialisers for all codecs.
...
It's more readable and less prone to breakage.
14 years ago
Michael Niedermayer
7ba262527f
flacenc: mark as lossless codec
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
14 years ago
Mans Rullgard
5e1166b31b
Mark some variables with av_unused
...
Most of these variables are only used in av_dlog statements, some
are required but not used by other macros.
Signed-off-by: Mans Rullgard <mans@mansr.com>
14 years ago
Anton Khirnov
880fa21830
flacenc: use proper initializers for AVOption default values.
...
default_val was recently changes from double to a union, current code
wasn't updated for that.
14 years ago
Anton Khirnov
188dea1dbf
lavc: move some flac-specific options to its private context.
14 years ago
Carl Eugen Hoyos
6c93641683
Warn if the source has unsupported (or no) channel layout.
14 years ago
Anton Khirnov
01a4259b8d
lavc: remove the FF_API_USE_LPC cruft.
14 years ago
Mans Rullgard
2912e87a6c
Replace FFmpeg with Libav in licence headers
...
Signed-off-by: Mans Rullgard <mans@mansr.com>
14 years ago
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
)
14 years ago
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>
14 years ago
Justin Ruggles
7101b18508
Separate window function from autocorrelation.
...
Signed-off-by: Mans Rullgard <mans@mansr.com>
(cherry picked from commit 77a78e9bdc
)
14 years ago
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
)
14 years ago
Justin Ruggles
77a78e9bdc
Separate window function from autocorrelation.
...
Signed-off-by: Mans Rullgard <mans@mansr.com>
14 years ago
Justin Ruggles
56f8952b25
Move lpc_compute_autocorr() from DSPContext to a new struct LPCContext.
...
Signed-off-by: Mans Rullgard <mans@mansr.com>
14 years ago