1
0
mirror of https://github.com/FFmpeg/FFmpeg.git synced 2024-11-26 19:01:44 +02:00
FFmpeg/libavutil
Lynne 91e1625db1
lavu/tx: clip when converting table values to fixed-point
INT32_MAX (2147483647) isn't exactly representable by a floating point
value, with the closest being 2147483648.0. So when rescaling a value
of 1.0, this could overflow when casting the 64-bit value returned from
lrintf() into 32 bits.
Unfortunately the properties of integer overflows don't match up well
with how a Fourier Transform operates. So clip the value before
casting to a 32-bit int.

Should be noted we don't have overflows with the table values we're
currently using. However, converting a Kaiser-Bessel window function
with a length of 256 and a parameter of 5.0 to fixed point did create
overflows. So this is more of insurance to save debugging time
in case something changes in the future.
The macro is only used during init, so it being a little slower is
not a problem.
2021-01-09 20:54:56 +01:00
..
aarch64 aarch64: Explicitly forbid using the x18 register 2020-05-15 21:22:22 +03:00
arm
avr32
bfin
mips lavu: move LOCAL_ALIGNED from internal.h to mem_internal.h 2021-01-01 14:11:01 +01:00
ppc
sh4
tests lavu/mem: move the DECLARE_ALIGNED macro family to mem_internal on next+1 bump 2021-01-01 14:14:57 +01:00
tomi
x86 avutil/x86inc: fix warnings when assembling with Nasm 2.15 2020-07-12 11:30:23 -03:00
.gitignore
adler32.c
adler32.h
aes_ctr.c
aes_ctr.h
aes_internal.h lavu/mem: move the DECLARE_ALIGNED macro family to mem_internal on next+1 bump 2021-01-01 14:14:57 +01:00
aes.c
aes.h
attributes.h avutil/attributes: Fix too many warning: false is not defined [-Wundef] 2020-05-30 17:29:23 +08:00
audio_fifo.c
audio_fifo.h
avassert.h
avsscanf.c avutil/avsscanf: fix possible overreads when dealing with %c or %s 2020-12-02 13:54:53 +01:00
avstring.c lavu/avstring: deprecate av_d2str(). 2020-08-21 11:01:39 +02:00
avstring.h lavu/avstring: deprecate av_d2str(). 2020-08-21 11:01:39 +02:00
avutil.h
avutilres.rc
base64.c
base64.h
blowfish.c
blowfish.h
bprint.c
bprint.h
bswap.h
buffer_internal.h avutil/buffer: separate public and internal flags inside AVBuffers 2020-06-05 10:07:05 -03:00
buffer.c lavu/buffer: add a convenience function for replacing buffers 2020-09-28 11:33:35 +02:00
buffer.h lavu/buffer: add a convenience function for replacing buffers 2020-09-28 11:33:35 +02:00
camellia.c
camellia.h
cast5.c
cast5.h
channel_layout.c avutil/channel_layout: add 22.2 layout 2020-08-04 00:17:56 +03:00
channel_layout.h avutil/channel_layout: add 22.2 layout 2020-08-04 00:17:56 +03:00
color_utils.c
color_utils.h
colorspace.h
common.h avutil/common: Implement av_sat_add64_c() with fewer branches 2020-10-24 19:11:12 +02:00
cpu_internal.h libavutil: Detect MMI and MSA flags for MIPS 2020-07-23 17:21:58 +02:00
cpu.c libavutil: Detect MMI and MSA flags for MIPS 2020-07-23 17:21:58 +02:00
cpu.h libavutil: Detect MMI and MSA flags for MIPS 2020-07-23 17:21:58 +02:00
crc.c
crc.h
cuda_check.h avutil/cuda_check: add missing dynlink_loader.h include 2020-09-15 19:29:37 -03:00
des.c
des.h
dict.c avutil/dict: av_realloc -> av_realloc_array() 2020-06-06 10:32:07 +08:00
dict.h
display.c
display.h
dovi_meta.c lavutil: add DOVI related header 2020-04-23 08:05:15 +08:00
dovi_meta.h lavutil: add DOVI related header 2020-04-23 08:05:15 +08:00
downmix_info.c
downmix_info.h
dynarray.h avutil/dynarry.h: fix comment grammar mistakes of FF_DYNARRAY_ADD 2019-06-01 17:43:48 +08:00
encryption_info.c avutil/encryption_info: Don't pass NULL to memcpy 2019-09-20 23:26:34 +02:00
encryption_info.h
error.c
error.h
eval.c avutil/eval: Add av_expr_count_func() similar to av_expr_count_vars() 2019-12-28 11:20:48 +01:00
eval.h avutil/eval: Add av_expr_count_func() similar to av_expr_count_vars() 2019-12-28 11:20:48 +01:00
ffmath.h
fifo.c
fifo.h
file_open.c
file.c avutil/file: add more check befor destory the buffer 2019-08-30 09:16:01 +08:00
file.h
film_grain_params.c libavutil: introduce AVFilmGrainParams side data 2020-11-25 23:06:33 +01:00
film_grain_params.h avutil/film_grain_params: fix doxy for ar_coeff_* fields 2020-12-03 13:25:21 -03:00
fixed_dsp.c avutil/fixed_dsp: Fix integer overflows in butterflies_fixed_c() 2020-09-19 00:37:45 +02:00
fixed_dsp.h
float_dsp.c
float_dsp.h
frame.c libavutil: introduce AVFilmGrainParams side data 2020-11-25 23:06:33 +01:00
frame.h libavutil: introduce AVFilmGrainParams side data 2020-11-25 23:06:33 +01:00
hash.c lavu: add missing stddef.h includes for size_t. 2020-11-20 15:20:24 +01:00
hash.h lavu: add missing stddef.h includes for size_t. 2020-11-20 15:20:24 +01:00
hdr_dynamic_metadata.c
hdr_dynamic_metadata.h
hmac.c
hmac.h
hwcontext_cuda_internal.h avutil/hwcontext_cuda: allow using primary CUDA device context 2019-11-26 16:24:40 +01:00
hwcontext_cuda.c avutil/hwcontext_cuda: fix edge case with non-even frame heights 2020-11-04 01:36:48 +01:00
hwcontext_cuda.h avutil/hwcontext_cuda: allow using primary CUDA device context 2019-11-26 16:24:40 +01:00
hwcontext_d3d11va.c avutil/hwcontext_d3d11va: Use secure dlopen. 2020-02-15 23:53:54 +11:00
hwcontext_d3d11va.h
hwcontext_drm.c hwcontext_drm: make dependency on Linux kernel headers optional 2020-12-30 23:14:46 +01:00
hwcontext_drm.h
hwcontext_dxva2.c
hwcontext_dxva2.h
hwcontext_internal.h hwcontext: add av_hwdevice_ctx_create_derived_opts 2020-05-23 19:07:26 +01:00
hwcontext_mediacodec.c
hwcontext_mediacodec.h
hwcontext_opencl.c hwcontext: add av_hwdevice_ctx_create_derived_opts 2020-05-23 19:07:26 +01:00
hwcontext_opencl.h
hwcontext_qsv.c hwcontext: add av_hwdevice_ctx_create_derived_opts 2020-05-23 19:07:26 +01:00
hwcontext_qsv.h
hwcontext_vaapi.c hwcontext_vaapi: Don't require a render node when deriving from DRM 2020-08-31 21:42:14 +01:00
hwcontext_vaapi.h
hwcontext_vdpau.c avutil/hwcontext_vdpau: Correctly initialise pixfmts 2020-07-12 08:33:40 -07:00
hwcontext_vdpau.h
hwcontext_videotoolbox.c avcodec/videotoolbox: add support for full range pixel formats 2019-09-04 10:51:20 -07:00
hwcontext_videotoolbox.h avcodec/videotoolbox: add support for full range pixel formats 2019-09-04 10:51:20 -07:00
hwcontext_vulkan.c hwcontext_vulkan: wait and signal semaphores when transferring to CUDA 2020-12-05 23:53:23 +01:00
hwcontext_vulkan.h hwcontext_vulkan: fix make checkheaders fail 2020-06-04 21:26:21 +08:00
hwcontext.c hwcontext: add av_hwdevice_ctx_create_derived_opts 2020-05-23 19:07:26 +01:00
hwcontext.h hwcontext: add av_hwdevice_ctx_create_derived_opts 2020-05-23 19:07:26 +01:00
imgutils_internal.h
imgutils.c avutil/imgutils: always zero data pointers in av_image_fill_pointers() 2020-07-26 21:51:24 -03:00
imgutils.h avutil/imgutils: add utility to get plane sizes 2020-07-22 11:41:57 -03:00
integer.c
integer.h
internal.h lavu/mem: move the DECLARE_ALIGNED macro family to mem_internal on next+1 bump 2021-01-01 14:14:57 +01:00
intfloat.h
intmath.c
intmath.h
intreadwrite.h
lfg.c
lfg.h avutil/lfg: Correct index increment type to avoid undefined behavior 2019-11-24 22:58:59 +01:00
libavutil.v
libm.h
lls.c
lls.h lavu/mem: move the DECLARE_ALIGNED macro family to mem_internal on next+1 bump 2021-01-01 14:14:57 +01:00
log2_tab.c
log.c avutil/log: update text requesting samples 2020-04-17 00:08:56 +02:00
log.h lavu/opt: add a more general child class iteration API 2020-06-10 12:36:42 +02:00
lzo.c
lzo.h
macros.h
Makefile libavutil: introduce AVFilmGrainParams side data 2020-11-25 23:06:33 +01:00
mastering_display_metadata.c
mastering_display_metadata.h
mathematics.c avutil/mathematics: Use av_sat_add64() for the last addition in av_add_stable() 2020-10-25 09:49:21 +01:00
mathematics.h
md5.c
md5.h
mem_internal.h lavu/mem: move the DECLARE_ALIGNED macro family to mem_internal on next+1 bump 2021-01-01 14:14:57 +01:00
mem.c avutil/mem: Use max_alloc_size as-is 2020-05-26 06:47:31 +02:00
mem.h lavu/mem: move the DECLARE_ALIGNED macro family to mem_internal on next+1 bump 2021-01-01 14:14:57 +01:00
motion_vector.h
murmur3.c lavu: add missing stddef.h includes for size_t. 2020-11-20 15:20:24 +01:00
murmur3.h lavu: add missing stddef.h includes for size_t. 2020-11-20 15:20:24 +01:00
opt.c avutil/opt: add AV_OPT_FLAG_DEPRECATED option 2020-12-05 09:00:53 +08:00
opt.h lavu/opt: add a more general child class iteration API 2020-06-10 12:36:42 +02:00
parseutils.c
parseutils.h
pca.c
pca.h
pixdesc.c lavu/pix_fmt: add new pixel format x2rgb10 2020-06-12 17:56:15 +01:00
pixdesc.h avutil/pixdesc: add missing FF_API_PSEUDOPAL check 2020-10-02 00:18:13 -03:00
pixelutils.c
pixelutils.h
pixfmt.h avutil/pixfmt: improve definition of AVColorRange 2020-09-23 19:14:45 +03:00
qsort.h
random_seed.c
random_seed.h
rational.c lavu: add av_gcd_q(). 2020-05-23 15:51:44 +02:00
rational.h lavu: add av_gcd_q(). 2020-05-23 15:51:44 +02:00
rc4.c
rc4.h
replaygain.h
reverse.c
reverse.h
ripemd.c lavu: add missing stddef.h includes for size_t. 2020-11-20 15:20:24 +01:00
ripemd.h lavu: add missing stddef.h includes for size_t. 2020-11-20 15:20:24 +01:00
samplefmt.c
samplefmt.h
sha512.c
sha512.h
sha.c
sha.h
slicethread.c
slicethread.h
softfloat_ieee754.h avutil/softfloat_ieee754: Fix odd bit position for exponent and sign in av_bits2sf_ieee754() 2019-07-21 11:26:36 +02:00
softfloat_tables.h
softfloat.h
spherical.c Mark some pointers as const 2021-01-01 15:25:48 +01:00
spherical.h
stereo3d.c
stereo3d.h
tablegen.h
tea.c
tea.h
thread.h avutil/thread: fix strict_pthread_cond_timedwait 2020-01-25 23:16:18 +01:00
threadmessage.c
threadmessage.h
time_internal.h Merge commit 'c4642788e83b0858bca449f9b6e71ddb015dfa5d' 2019-05-02 13:50:31 -03:00
time.c lavu: use address-of operator checking clock_gettime 2020-12-28 01:12:26 -03:00
time.h
timecode.c avutil/timecode: add av_timecode_init_from_components 2020-12-03 18:32:54 +01:00
timecode.h avutil/timecode: add av_timecode_init_from_components 2020-12-03 18:32:54 +01:00
timer.h
timestamp.h
tree.c
tree.h
twofish.c
twofish.h
tx_double.c lavu/tx: add support for double precision FFT and MDCT 2019-08-02 01:19:52 +01:00
tx_float.c lavu/tx: add support for double precision FFT and MDCT 2019-08-02 01:19:52 +01:00
tx_int32.c lavu/tx: implement 32 bit fixed point FFT and MDCT 2020-02-13 17:10:34 +00:00
tx_priv.h lavu/tx: clip when converting table values to fixed-point 2021-01-09 20:54:56 +01:00
tx_template.c lavu/tx: add 2-point FFT transform 2020-03-23 21:26:25 +00:00
tx.c lavu/tx: implement 32 bit fixed point FFT and MDCT 2020-02-13 17:10:34 +00:00
tx.h lavu/tx: add 2-point FFT transform 2020-03-23 21:26:25 +00:00
utils.c Silence "string-plus-int" warning shown by clang. 2020-01-06 22:38:56 +01:00
version.h mpegvideo: use the AVVideoEncParams API for exporting QP tables 2021-01-01 14:23:19 +01:00
video_enc_params.c libavutil: add API for exporting video frame quantizers 2020-05-12 09:37:47 +02:00
video_enc_params.h mpegvideo: use the AVVideoEncParams API for exporting QP tables 2021-01-01 14:23:19 +01:00
wchar_filename.h
xga_font_data.c
xga_font_data.h
xtea.c
xtea.h