Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/FFmpeg/FFmpeg.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2022-09-23avcodec/lpc: zero the middle odd sample in the outputJames Almer
Signed-off-by: James Almer <jamrial@gmail.com>
2022-09-23avcodec/lpc: use ptrdiff_t for length parametersJames Almer
Signed-off-by: James Almer <jamrial@gmail.com>
2022-09-21lavc/lpc: do not explode when windowing a 1-length arrayLynne
Divided by 0.
2022-06-15all: Replace if (ARCH_FOO) checks by #if ARCH_FOOAndreas Rheinhardt
This is more spec-compliant because it does not rely on dead-code elimination by the compiler. Especially MSVC has problems with this, as can be seen in https://ffmpeg.org/pipermail/ffmpeg-devel/2022-May/296373.html or https://ffmpeg.org/pipermail/ffmpeg-devel/2022-May/297022.html This commit does not eliminate every instance where we rely on dead code elimination: It only tackles branching to the initialization of arch-specific dsp code, not e.g. all uses of CONFIG_ and HAVE_ checks. But maybe it is already enough to compile FFmpeg with MSVC with whole-programm-optimizations enabled (if one does not disable too many components). Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
2021-05-29avcodec/lpc: Avoid floating point division by 0Michael Niedermayer
Fixes: Ticket7996 Fixes: CVE-2020-20445 Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2021-01-01lavu: move LOCAL_ALIGNED from internal.h to mem_internal.hAnton Khirnov
That is a more appropriate place for it.
2016-08-28lavc/lpc: Add min_shift parameter in LPCJai Luthra
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>
2016-03-11lavc/lpc: exploit even symmetry of window functionGanesh Ajjanagadde
Yields 2x improvement in function performance, and boosts aac encoding speed by ~ 4% overall. Sample benchmark (Haswell+GCC under -march=native): after: ffmpeg -i sin.flac -acodec aac -y sin_new.aac 5.22s user 0.03s system 105% cpu 4.970 total before: ffmpeg -i sin.flac -acodec aac -y sin_new.aac 5.40s user 0.05s system 105% cpu 5.162 total Reviewed-by: Rostislav Pehlivanov <atomnuker@gmail.com> Signed-off-by: Ganesh Ajjanagadde <gajjanag@gmail.com>
2015-09-19lpc: correctly apply windowing to the samples in the float-only lpcRostislav Pehlivanov
Also change the window to Hamming (using coefficient which make it a Hanning). Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>
2015-09-05lpc: increase error array size of ff_lpc_calc_ref_coefs_f by oneRostislav Pehlivanov
Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>
2015-09-01lpc: add ff_lpc_calc_ref_coefs_f() functionRostislav Pehlivanov
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>
2015-09-01lpc: remove unused ff_lpc_calc_levinson() functionRostislav Pehlivanov
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>
2015-08-29lpc: rename ff_lpc_calc_levinsion to ff_lpc_calc_levinsonRostislav Pehlivanov
Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>
2015-08-29lpc: create a simplified Levinson-Durbin LPC handling float samplesRostislav Pehlivanov
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>
2015-07-06avcodec/lpc: Fix lpc_apply_welch_window_c() for odd lenMichael Niedermayer
Also removes assert this fixes an assertion failure on non-x86 Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-23lpc: Reduce stack usage by allocating LLSModel in context.Reimar Döffinger
Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
2014-11-15Merge commit '60e0ee7ca25bd3bea54043b0607efe4cd51acaf3'Michael Niedermayer
* commit '60e0ee7ca25bd3bea54043b0607efe4cd51acaf3': lpc: always initialize ref and err The initialization is not needed, its merged anyway as it might help suppressing warnings and might make the code more robust against future changes See: c4a36b6f70f37e668874d134f955eb96e23853c9 See: 0dd99628ea15f1fe7121b8a983c0b1fe57660027 Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-14lpc: always initialize ref and errVittorio Giovara
CC: libav-stable@libav.org Bug-Id: CID 29585 / CID 700759
2014-08-10drop LLS1, rename LLS2 to LLSMichael Niedermayer
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-11-17rename new lls code to lls2 to avoid conflict with the old which has a ↵Michael Niedermayer
different ABI also remove failed attempt at a compatibility layer, the code simply cannot work Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-11-17avutil: rename lls to lls2Michael Niedermayer
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-09ff_lpc_calc_coefs: assert that the type is levinson or choleskyMichael Niedermayer
Otherwise the code could misbehave (and there are no other types anyway) Fixes CID700759 Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-01x86: lpc: fix a segfault in av_evaluate_lls_sse2()Loren Merritt
2013-06-30avcodec/lpc: Use a function pointer from an initialized contextMichael Niedermayer
Fixes null pointer dereference Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-30Merge commit 'c93ccf5a4cca722b39f05e9f5660b4cb75bc1740'Michael Niedermayer
* commit 'c93ccf5a4cca722b39f05e9f5660b4cb75bc1740': lpc: use levinson for the first pass of multipass cholesky Conflicts: libavcodec/lpc.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-30Merge commit '502ab21af0ca68f76d6112722c46d2f35c004053'Michael Niedermayer
* commit '502ab21af0ca68f76d6112722c46d2f35c004053': x86: lpc: simd av_update_lls The versions are bumped due to changes in lls.h which is used across libraries affecting intra library ABI (This version bump also covers changes to lls.h in the immedeatly previous commits) Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-30Merge commit '41578f70cf8aec8e7565fba1ca7e07f3dc46c3d2'Michael Niedermayer
* commit '41578f70cf8aec8e7565fba1ca7e07f3dc46c3d2': lpc: use function pointers, in preparation for asm Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-30Merge commit 'cc6714bb16b1f0716ba43701d47273dbe9657b8b'Michael Niedermayer
* commit 'cc6714bb16b1f0716ba43701d47273dbe9657b8b': lpc: remove "decay" argument Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-29lpc: use levinson for the first pass of multipass choleskyLoren Merritt
Levinson is faster, and cholesky is only needed if we want to apply different weights to different samples, which doesn't happen on the first pass. Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-06-29x86: lpc: simd av_update_llsLoren Merritt
4x-6x faster on sandybridge Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-06-29lpc: use function pointers, in preparation for asmLoren Merritt
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-06-29lpc: remove "decay" argumentLoren Merritt
We never used the rolling-average mode, and this makes av_update_lls 15% faster. Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-03-01Merge commit '9d4da474f5f40b019cb4cb931c8499deee586174'Michael Niedermayer
* commit '9d4da474f5f40b019cb4cb931c8499deee586174': lls: move to the private namespace Conflicts: libavutil/version.h Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-28lls: move to the private namespaceLuca Barbato
The functions are private.
2012-10-30Merge commit '14f031d7ecfabba0ef02776d4516aa3dcb7c40d8'Michael Niedermayer
* commit '14f031d7ecfabba0ef02776d4516aa3dcb7c40d8': dv: use AVStream.index instead of abusing AVStream.id lavfi: add ashowinfo filter avcodec: Add a RFC 3389 comfort noise codec lpc: Add a function for calculating reflection coefficients from samples lpc: Add a function for calculating reflection coefficients from autocorrelation coefficients lavr: document upper bound on number of output samples. lavr: add general API usage doxy indeo3: remove duplicate capabilities line. fate: ac3: Add dependencies Conflicts: Changelog doc/filters.texi libavcodec/Makefile libavcodec/allcodecs.c libavcodec/avcodec.h libavcodec/codec_desc.c libavcodec/version.h libavfilter/Makefile libavfilter/af_ashowinfo.c libavfilter/allfilters.c libavfilter/version.h libavutil/avutil.h Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-29lpc: Add a function for calculating reflection coefficients from samplesMartin Storsjö
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-10-28lpc: check that lpc_type is valid in ff_lpc_calc_coefsMichael Niedermayer
Fixes CID700759 Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-08Merge remote-tracking branch 'qatar/master'Michael Niedermayer
* qatar/master: x86: vc1: call ff_vc1dsp_init_x86() under if (ARCH_X86) x86: cavs: call ff_cavsdsp_init_x86() under if (ARCH_X86) x86: call most of the x86 dsp init functions under if (ARCH_X86) doc: support the new website layout doc: remove a warning from filters.texi doc: initial nut documentation segment: drop global headers setting lavu: fix typo in Makefile Conflicts: doc/Makefile doc/filters.texi doc/t2h.init libavcodec/fmtconvert.c libavcodec/proresdsp.c libavcodec/x86/Makefile libavcodec/x86/vc1dsp_mmx.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-08x86: call most of the x86 dsp init functions under if (ARCH_X86)Janne Grunau
Rename the called dsp init functions to *_init_x86.
2012-08-23Merge remote-tracking branch 'qatar/master'Michael Niedermayer
* qatar/master: doc/APIchanges: add an entry for codec descriptors. vorbisenc: set AVCodecContext.bit_rate to 0 vorbisenc: fix quality parameter FATE: add ALAC encoding tests lpc: fix alignment of windowed samples for odd maximum LPC order alacenc: use s16p sample format as input alacenc: remove unneeded sample_fmt check alacenc: fix max_frame_size calculation for the final frame adpcm_swf: Use correct sample offsets when using trellis. rtmp: support strict rtmp servers mjpegdec: support AVRn interlaced x86: remove FASTDIV inline asm Conflicts: doc/APIchanges libavcodec/mjpegdec.c libavcodec/vorbisenc.c libavutil/x86/intmath.h Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-23lpc: fix alignment of windowed samples for odd maximum LPC orderJustin Ruggles
Fixes crash on x86 due to alignment requirements for w_data in lpc_apply_welch_window_sse2().
2012-08-16Merge remote-tracking branch 'qatar/master'Michael Niedermayer
* qatar/master: Fix even more missing includes after the common.h removal build: Factor out rangecoder dependencies to CONFIG_RANGECODER build: Factor out error resilience dependencies to CONFIG_ERROR_RESILIENCE x86: avcodec: Consistently name all init files Add more missing includes after removing the implicit common.h Add some more missing includes after removing the implicit common.h Don't include common.h from avutil.h rtmp: Automatically compute the hash for SWFVerification Conflicts: configure doc/APIchanges doc/examples/decoding_encoding.c libavcodec/Makefile libavcodec/assdec.c libavcodec/audio_frame_queue.c libavcodec/avpacket.c libavcodec/dv_profile.c libavcodec/dwt.c libavcodec/libtheoraenc.c libavcodec/rawdec.c libavcodec/rv40dsp.c libavcodec/tiff.c libavcodec/tiffenc.c libavcodec/v210dec.h libavcodec/vc1dsp.c libavcodec/x86/Makefile libavfilter/asrc_anullsrc.c libavfilter/avfilter.c libavfilter/buffer.c libavfilter/formats.c libavfilter/vf_ass.c libavfilter/vf_drawtext.c libavfilter/vf_fade.c libavfilter/vf_select.c libavfilter/video.c libavfilter/vsrc_testsrc.c libavformat/version.h libavutil/audioconvert.c libavutil/error.h libavutil/version.h Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-15Don't include common.h from avutil.hMartin Storsjö
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-07-06lpc: use default number of passes when lpc_passes is invalidMichael Niedermayer
Should fix valgrind failure (uninitialized vars) Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-28lpc: use av_assertMichael Niedermayer
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-02-07Merge remote-tracking branch 'qatar/master'Michael Niedermayer
* qatar/master: Revert "v210enc: use FFALIGN()" doxygen: Do not include license boilerplates in Doxygen comment blocks. avplay: reset decoder flush state when seeking ape: skip packets with invalid size ape: calculate final packet size instead of guessing ape: stop reading after the last frame has been read ape: return AVERROR_EOF instead of AVERROR(EIO) when demuxing is finished ape: return error if seeking to the current packet fails in ape_read_packet() avcodec: Clarify AVFrame member documentation. v210dec: check for coded_frame allocation failure v210enc: use stride as it is already calculated v210enc: use FFALIGN() v210enc: return proper AVERROR codes instead of -1 v210enc: do not set coded_frame->key_frame v210enc: check for coded_frame allocation failure drawtext: add 'fix_bounds' option on coords fixing drawtext: fix text_{w, h} expression vars drawtext: add missing braces around an if() block. Conflicts: libavcodec/arm/vp8.h libavcodec/arm/vp8dsp_init_arm.c libavcodec/v210dec.c libavfilter/vf_drawtext.c libavformat/ape.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-02-06doxygen: Do not include license boilerplates in Doxygen comment blocks.Diego Biurrun
2011-12-22Merge remote-tracking branch 'qatar/master'Michael Niedermayer
* qatar/master: (27 commits) asfdec: add side data to ASFStream packet instead of output packet. idroqdec: set AVFMTCTX_NOHEADER and create streams as they occur. nellymoserdec: Indicate that the decoder can handle changed parameters libavcodec: Apply parameter change side data when decoding audio flvdec: Add param change side data if the sample rate or channels have changed libavformat: Add a utility function for adding parameter change side data libavcodec: Define a side data type for parameter changes aacdec: Handle new extradata passed as side data flvdec: Export new AAC/H.264 extradata as side data on the next packet libavcodec: Define a side data type for new extradata flacdec: skip all track indices at once instead of looping. mxf: Add PictureEssenceCoding UL for V210. mxfdec: consider QuantizationBits between 17 and 24 to be pcm_s24* mxfenc: Add support for MPEG-2 MP@HL-14 in mxf container. mxf: H.264/MPEG-4 AVC Intra support configure: Show whether the safe bitstream reader is enabled x86: Tighten register constraints for decode_significance*_x86. Replace Subversion revisions in comments by Git hashes. h264_cabac: synchronize decode_significance_*_x86 conditionals w32threads: wait for the waked thread in pthread_cond_signal. ... Conflicts: libavcodec/avcodec.h libavcodec/version.h libavformat/flvdec.c libavformat/utils.c tests/ref/lavfi/pixdesc tests/ref/lavfi/pixfmts_copy tests/ref/lavfi/pixfmts_null tests/ref/lavfi/pixfmts_scale tests/ref/lavfi/pixfmts_vflip Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-12-21Replace Subversion revisions in comments by Git hashes.Diego Biurrun
2011-07-14Merge remote-tracking branch 'qatar/master'Michael Niedermayer
* qatar/master: APIchanges: fill in missing hashes and dates. Add an APIChanges entry and bump minor versions for recent changes. ffmpeg: print the low bitrate warning after the codec is openend. doxygen: Move function documentation into the macro generating the function. doxygen: Make sure parameter names match between .c and .h files. h264: move fill_decode_neighbors()/fill_decode_caches() to h264_mvpred.h H.264: Add more x86 assembly for 10-bit H.264 predict functions lavf: fix invalid reads in avformat_find_stream_info() cmdutils: replace opt_default with opt_default2() and remove set_context_opts ffmpeg: use new avcodec_open2 and avformat_find_stream_info API. ffplay: use new avcodec_open2 and avformat_find_stream_info API. cmdutils: store all codec options in one dict instead of video/audio/sub ffmpeg: check experimental flag after codec is opened. ffmpeg: do not set GLOBAL_HEADER flag in the options context Conflicts: cmdutils.c doc/APIchanges ffmpeg.c ffplay.c libavcodec/version.h libavformat/version.h libswscale/swscale_unscaled.c Merged-by: Michael Niedermayer <michaelni@gmx.at>