Michael Niedermayer
70874e024a
avcodec/lpc: check for zero err in normalization in compute_lpc_coefs()
...
Fixes: floating point division by 0
Fixes: Ticket8213
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
3 years ago
Michael Niedermayer
38d18fb578
avcodec/lpc: Avoid floating point division by 0
...
Fixes: Ticket7996
Fixes: CVE-2020-20445
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
4 years ago
Michael Niedermayer
e95fcfe8fb
avcodec/lpc: signed integer overflow in compute_lpc_coefs() (aacdec_fixed)
...
Fixes: runtime error: signed integer overflow: -1575818955 + -915383657 cannot be represented in type 'int'
Fixes: 2224/clusterfuzz-testcase-minimized-6208559949807616
Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
8 years ago
Jai Luthra
0c023d181e
lavc/lpc: Add min_shift parameter in LPC
...
The min_shift parameter is needed by the MLP encoder
Signed-off-by: Jai Luthra <me@jailuthra.in>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
8 years ago
Ganesh Ajjanagadde
fafb10c30c
avcodec/lpc: replace #define by typedef
...
See e.g https://stackoverflow.com/questions/1666353/are-typedef-and-define-the-same-in-c
for rationale.
Reviewed-by: Michael Niedermayer <michael@niedermayer.cc>
Signed-off-by: Ganesh Ajjanagadde <gajjanagadde@gmail.com>
9 years ago
Rostislav Pehlivanov
0fc3a51353
lpc: add ff_lpc_calc_ref_coefs_f() function
...
This commit adds a function to get the reflection coefficients on
floating point samples. It's functionally identical to
ff_lpc_calc_ref_coefs() except it works on float samples and will
return the global prediction gain. The Welch window implementation
which is more optimized works only on int32_t samples so a slower
generic expression was used.
Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>
9 years ago
Rostislav Pehlivanov
a70ee2bdcd
lpc: remove unused ff_lpc_calc_levinson() function
...
Not needed anymore, it was only used by the AAC TNS
encoder and was replaced with a more suitable function
in the following commit.
Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>
9 years ago
Rostislav Pehlivanov
141d80ded7
lpc: rename ff_lpc_calc_levinsion to ff_lpc_calc_levinson
...
Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>
9 years ago
Rostislav Pehlivanov
20962b567b
lpc: create a simplified Levinson-Durbin LPC handling float samples
...
This commit simply duplicates the functionality of ff_lpc_calc_coefs()
for the case of a Levinson-Durbin LPC with the only difference being
that floating point samples are accepted and the resulting coefficients
are raw and unquantized.
The motivation behind doing this is the fact that the AAC encoder
requires LPC in TNS and LTP and converting non-normalized floating
point coefficients to int32_t using SWR and again back for the LPC
coefficients was very impractical.
The current LPC interfaces were designed for int32_t in mind possibly
because FLAC and ALAC use this type for most internal operations.
The mathematics in case of floats remains of course identical.
Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>
9 years ago
Djordje Pesut
f85bc147fb
avcodec: Implementation of AAC_fixed_decoder (SBR-module)
...
Add fixed poind code.
Signed-off-by: Nedeljko Babic <nedeljko.babic@imgtec.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
9 years ago
Michael Niedermayer
c117da9d3e
lpc: remove unneeded {}
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
10 years ago
Reimar Döffinger
458aadf862
lpc: Reduce stack usage by allocating LLSModel in context.
...
Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
10 years ago
Michael Niedermayer
85929b9caa
avcodec/lpc: remove unneeded {}
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
10 years ago
Vittorio Giovara
60e0ee7ca2
lpc: always initialize ref and err
...
CC: libav-stable@libav.org
Bug-Id: CID 29585 / CID 700759
10 years ago
Michael Niedermayer
1e6816dcda
libavcodec/lpc.h: Fix duplicate words
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
11 years ago
Diego Biurrun
c242bbd8b6
Remove unnecessary dsputil.h #includes
12 years ago
Martin Storsjö
8b25a20efb
lpc: Add a function for calculating reflection coefficients from samples
...
Signed-off-by: Martin Storsjö <martin@martin.st>
12 years ago
Justin Ruggles
39ef66f530
lpc: Add a function for calculating reflection coefficients from autocorrelation coefficients
...
Signed-off-by: Martin Storsjö <martin@martin.st>
12 years ago
Michael Niedermayer
a6cac64f69
compute_lpc_coefs: assert that normalize and fail have a supported combination
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
12 years ago
Justin Ruggles
4b0e0f31bf
lpc: fix alignment of windowed samples for odd maximum LPC order
...
Fixes crash on x86 due to alignment requirements for w_data in
lpc_apply_welch_window_sse2().
12 years ago
Diego Biurrun
32f3c541bc
doxygen: Do not include license boilerplates in Doxygen comment blocks.
13 years ago
Diego Biurrun
da9cea77e3
Fix a bunch of common typos.
13 years ago
Anton Khirnov
188dea1dbf
lavc: move some flac-specific options to its private context.
14 years ago
Mans Rullgard
2912e87a6c
Replace FFmpeg with Libav in licence headers
...
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
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
15 years ago
Måns Rullgård
49bd8e4b84
Fix grammar errors in documentation
...
Originally committed as revision 23904 to svn://svn.ffmpeg.org/ffmpeg/trunk
15 years ago
Måns Rullgård
3da1180409
Move some prototypes from dsputil.c to reasonable header files
...
Originally committed as revision 22260 to svn://svn.ffmpeg.org/ffmpeg/trunk
15 years ago
Vitor Sessak
82ab49dc41
Cosmetics: s/LPC_type/LPC_TYPE/
...
Originally committed as revision 15202 to svn://svn.ffmpeg.org/ffmpeg/trunk
16 years ago
Vitor Sessak
1be0fc2909
Avoid duplicating compute_lpc_coefs() function in both the RA288 and AAC decoders.
...
Originally committed as revision 15193 to svn://svn.ffmpeg.org/ffmpeg/trunk
16 years ago
Stefano Sabatini
987903826b
Globally rename the header inclusion guard names.
...
Consistently apply this rule: the guard name is obtained from the
filename by stripping the leading "lib", converting '/' and '.' to
'_' and uppercasing the resulting name. Guard names in the root
directory have to be prefixed by "FFMPEG_".
Originally committed as revision 15120 to svn://svn.ffmpeg.org/ffmpeg/trunk
16 years ago
Diego Biurrun
ee8cc834ae
Add missing header includes to fix 'make checkheaders'.
...
Originally committed as revision 14817 to svn://svn.ffmpeg.org/ffmpeg/trunk
16 years ago
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
16 years ago
Justin Ruggles
9045f5e72d
cosmetics: adjust line breaks and vertical alignment
...
Originally committed as revision 14795 to svn://svn.ffmpeg.org/ffmpeg/trunk
16 years ago
Justin Ruggles
56c07e2989
use limited range of lpc orders when quantizing coefficients
...
Originally committed as revision 14794 to svn://svn.ffmpeg.org/ffmpeg/trunk
16 years ago
Ramiro Polla
e9e3c9801e
lpc: cosmetics: vertically align declarations and definitions.
...
Originally committed as revision 14792 to svn://svn.ffmpeg.org/ffmpeg/trunk
16 years ago
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
16 years ago
Diego Biurrun
f0a838e525
Add missing #includes to fix 'make checkheaders'.
...
Originally committed as revision 11087 to svn://svn.ffmpeg.org/ffmpeg/trunk
17 years ago
Aurelien Jacobs
f9cdbfa271
cosmetics: Add #endif comment.
...
Originally committed as revision 10829 to svn://svn.ffmpeg.org/ffmpeg/trunk
17 years ago
Reimar Döffinger
72be7db423
Add support for decrypting asf files
...
Originally committed as revision 10821 to svn://svn.ffmpeg.org/ffmpeg/trunk
17 years ago
Diego Biurrun
1b1ab19816
cosmetics: Add #endif comment.
...
Originally committed as revision 10811 to svn://svn.ffmpeg.org/ffmpeg/trunk
17 years ago
Reimar Döffinger
2e9ad69aaf
Add support for DES en- and decryption.
...
Originally committed as revision 10810 to svn://svn.ffmpeg.org/ffmpeg/trunk
17 years ago
Diego Biurrun
5b21bdabe4
Add FFMPEG_ prefix to all multiple inclusion guards.
...
Originally committed as revision 10765 to svn://svn.ffmpeg.org/ffmpeg/trunk
17 years ago
Luca Abeni
171dce486c
Support for AAC streaming over RTP. Fragmentation is not implemented yet
...
Originally committed as revision 10491 to svn://svn.ffmpeg.org/ffmpeg/trunk
17 years ago
Luca Abeni
7fa9d0dd8f
Remove copyright from a function prototype
...
Originally committed as revision 10214 to svn://svn.ffmpeg.org/ffmpeg/trunk
17 years ago
Luca Abeni
98561024ac
Move the RTP packetization code for MPEG12 video in its own file (rtp_mpv.c)
...
Originally committed as revision 10201 to svn://svn.ffmpeg.org/ffmpeg/trunk
17 years ago
Diego Biurrun
f5a90186d7
Add missing license headers.
...
Originally committed as revision 8149 to svn://svn.ffmpeg.org/ffmpeg/trunk
18 years ago