1
0
mirror of https://github.com/FFmpeg/FFmpeg.git synced 2024-12-23 12:43:46 +02:00
FFmpeg/libavutil
Andreas Rheinhardt ff80090374 avutil/utils: Remove racy check from avutil_version()
avutil_version() currently performs several checks before
just returning the version. There is a static int that aims
to ensure that these tests are run only once. The reason is that
there used to be a slightly expensive check, but it has been removed
in 92e3a6fdac. Today running only
once is unnecessary and can be counterproductive: GCC 10 optimizes
all the actual checks away, but the checks_done variable and the code
setting it has been kept. Given that this check is inherently racy
(it uses non-atomic variables), it is best to just remove it.

Reviewed-by: Paul B Mahol <onemda@gmail.com>
Reviewed-by: James Almer <jamrial@gmail.com>
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
2021-09-29 02:58:07 +02:00
..
aarch64 arm/aarch64: Use mach_absolute_time as timer on apple platforms 2021-02-21 22:41:34 +02:00
arm arm/aarch64: Use mach_absolute_time as timer on apple platforms 2021-02-21 22:41:34 +02:00
avr32
bfin
mips avutil/mips: Use $at as MMI macro temporary register 2021-07-28 23:31:48 +02:00
ppc avutil/ppc/cpu: Fix power8 linux detection 2019-02-05 09:29:57 +02:00
sh4
tests avutil/tests/opt: Set AVClass.version 2021-09-27 05:51:44 +02:00
tomi
x86 x86/tx_float: correctly load the transform length 2021-07-18 15:04:57 +02:00
.gitignore
adler32.c avutil: Switch crypto APIs to size_t 2021-04-27 10:43:13 -03:00
adler32.h avutil: Switch crypto APIs to size_t 2021-04-27 10:43:13 -03:00
aes_ctr.c avutil/aes_ctr: Add method to set 16-byte IV. 2018-01-23 21:48:31 +01:00
aes_ctr.h Remove obsolete version.h inclusions 2021-07-22 14:34:31 +02:00
aes_internal.h All: update names in copyright headers 2021-01-20 01:02:56 -06:00
aes.c
aes.h Remove obsolete version.h inclusions 2021-07-22 14:34:31 +02:00
attributes.h avutil/attributes: Fix too many warning: false is not defined [-Wundef] 2020-05-30 17:29:23 +08:00
audio_fifo.c Replace all occurences of av_mallocz_array() by av_calloc() 2021-09-20 01:03:52 +02:00
audio_fifo.h
avassert.h Fix typos 2018-09-14 21:36:21 +02:00
avsscanf.c Remove unnecessary avassert.h inclusions 2021-07-22 15:02:30 +02:00
avstring.c avutil/avstring: Check for memory allocation error in av_escape 2021-03-15 06:45:07 +01:00
avstring.h avutil/{avstring,bprint}: add XML escaping from ffprobe to avutil 2021-03-05 19:45:00 +02:00
avutil.h lavu: add av_fourcc_make_string() and av_fourcc2str() 2017-03-29 14:49:29 +02:00
avutilres.rc
base64.c avutil/base64: Fix undefined NULL + 0 2021-04-01 14:47:00 +02:00
base64.h
blowfish.c
blowfish.h
bprint.c Remove unnecessary avassert.h inclusions 2021-07-22 15:02:30 +02:00
bprint.h
bswap.h
buffer_internal.h avutil/buffer: Avoid allocation of AVBuffer when using buffer pool 2021-09-18 23:16:49 +02:00
buffer.c avutil/buffer: Avoid allocation of AVBuffer when using buffer pool 2021-09-18 23:16:49 +02:00
buffer.h avutil/buffer: constify some function parameters 2021-09-17 13:28:09 -03: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 avutil/colorspace: add macros for RGB->YUV BT.709 2019-04-19 17:10:20 +05:30
common.h avutil/common, macros: Move several macros from common.h to macros.h 2021-07-29 22:02:05 +02:00
cpu_internal.h libavutil: Detect MMI and MSA flags for MIPS 2020-07-23 17:21:58 +02:00
cpu.c lavu/cpu: Use av_cpu_ prefix 2021-07-20 10:31:41 +02:00
cpu.h lavu/cpu: Use av_cpu_ prefix 2021-07-20 10:31:41 +02:00
crc.c crc: add AV_CRC_8_SBC as a 8 bits CRC with polynomial 0x1D 2018-03-07 22:26:53 +01:00
crc.h Remove obsolete version.h inclusions 2021-07-22 14:34:31 +02:00
cuda_check.h avutil/cuda_check: add missing dynlink_loader.h include 2020-09-15 19:29:37 -03:00
des.c
des.h
detection_bbox.c avutil/buffer: Switch AVBuffer API to size_t 2021-04-27 10:43:13 -03:00
detection_bbox.h lavu/detection_bbox.h: use AV_NUM_DETECTION_BBOX_CLASSIFY to replace AV_NUM_BBOX_CLASSIFY 2021-04-18 10:41:17 +08:00
dict.c avutil/dict: av_realloc -> av_realloc_array() 2020-06-06 10:32:07 +08:00
dict.h Remove obsolete version.h inclusions 2021-07-22 14:34:31 +02:00
display.c
display.h Merge commit '075acbb6ff5740b2eea1bb7dd3afbc8e66e2ebf8' 2017-04-13 17:31:15 -03:00
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 Replace all occurences of av_mallocz_array() by av_calloc() 2021-09-20 01:03:52 +02:00
encryption_info.h avutil/encryption_info: Fix documentation problem. 2018-06-27 13:43:38 +02:00
error.c
error.h avutil/error: Include macros.h for MKTAG 2021-07-29 22:02:05 +02:00
eval.c libavutil/eval: Remove CONFIG_TRAPV special handling 2021-02-10 12:28:29 +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: Return the correct AVERROR value 2017-01-26 10:25:20 +01:00
fifo.h
file_open.c avpriv_tempfile: add djgpp fallback 2018-11-28 22:16:07 +11:00
file.c avutil/file: add more check befor destory the buffer 2019-08-30 09:16:01 +08:00
file.h avutil/file: allow mapping 0 byte files with av_file_map 2018-09-09 21:21:42 +02:00
film_grain_params.c libavutil: introduce AVFilmGrainParams side data 2020-11-25 23:06:33 +01:00
film_grain_params.h avcodec/h264_slice: compute and export film grain seed 2021-08-24 09:58:52 -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 avutil: add float_dsp.vector_dmul 2018-09-12 19:15:09 +02:00
float_dsp.h avutil: add float_dsp.vector_dmul 2018-09-12 19:15:09 +02:00
frame.c Replace all occurences of av_mallocz_array() by av_calloc() 2021-09-20 01:03:52 +02:00
frame.h avutil/buffer: Switch AVBuffer API to size_t 2021-04-27 10:43:13 -03:00
hash.c avutil: Switch crypto APIs to size_t 2021-04-27 10:43:13 -03:00
hash.h Remove obsolete version.h inclusions 2021-07-22 14:34:31 +02:00
hdr_dynamic_metadata.c Add HDR dynamic metadata struct (for SMPTE 2094-40) to libavutil 2018-12-21 17:52:00 +01:00
hdr_dynamic_metadata.h Add HDR dynamic metadata struct (for SMPTE 2094-40) to libavutil 2018-12-21 17:52:00 +01:00
hmac.c Remove obsolete version.h inclusions 2021-07-22 14:34:31 +02:00
hmac.h Remove obsolete version.h inclusions 2021-07-22 14:34:31 +02:00
hwcontext_cuda_internal.h avutil/hwcontext_cuda: allow using primary CUDA device context 2019-11-26 16:24:40 +01:00
hwcontext_cuda.c hwcontext_vulkan: dynamically load functions 2021-04-30 00:08:37 +02:00
hwcontext_cuda.h avutil/hwcontext_cuda: allow using primary CUDA device context 2019-11-26 16:24:40 +01:00
hwcontext_d3d11va.c Replace all occurences of av_mallocz_array() by av_calloc() 2021-09-20 01:03:52 +02:00
hwcontext_d3d11va.h libavutil/hwcontext_d3d11va: adding more texture information to the D3D11 hwcontext API 2021-09-08 17:48:02 -03:00
hwcontext_drm.c hwcontext_drm: make dependency on Linux kernel headers optional 2020-12-30 23:14:46 +01:00
hwcontext_drm.h hwcontext_drm: Clarify value for unknown format modifiers 2018-03-22 23:18:53 +00:00
hwcontext_dxva2.c Replace all occurences of av_mallocz_array() by av_calloc() 2021-09-20 01:03:52 +02:00
hwcontext_dxva2.h dxva: add support for new dxva2 and d3d11 hwaccel APIs 2017-06-27 18:05:02 +02:00
hwcontext_internal.h hwcontext: add av_hwdevice_ctx_create_derived_opts 2020-05-23 19:07:26 +01:00
hwcontext_mediacodec.c lavu/hwcontext: add AV_HWDEVICE_TYPE_MEDIACODEC 2017-12-16 00:52:00 +01:00
hwcontext_mediacodec.h lavu/hwcontext: add AV_HWDEVICE_TYPE_MEDIACODEC 2017-12-16 00:52:00 +01:00
hwcontext_opencl.c Replace all occurences of av_mallocz_array() by av_calloc() 2021-09-20 01:03:52 +02:00
hwcontext_opencl.h lavu/hwcontext_opencl.h: fix build on macOS 2017-11-28 00:23:42 -06:00
hwcontext_qsv.c libavutil/hwcontext_qsv: fix a bug for mapping qsv frame to vaapi 2021-09-23 22:59:11 -03:00
hwcontext_qsv.h
hwcontext_vaapi.c avutil/buffer: Switch AVBuffer API to size_t 2021-04-27 10:43:13 -03:00
hwcontext_vaapi.h hwcontext_vaapi: Try to support the VDPAU wrapper 2017-06-14 22:23:43 +01:00
hwcontext_vdpau.c avutil/buffer: Switch AVBuffer API to size_t 2021-04-27 10:43:13 -03:00
hwcontext_vdpau.h
hwcontext_videotoolbox.c avutil/hwcontext_videotoolbox: implement hwupload to convert AVFrame to CVPixelBuffer 2021-07-18 12:01:16 -07:00
hwcontext_videotoolbox.h avutil/hwcontext_videotoolbox: implement hwupload to convert AVFrame to CVPixelBuffer 2021-07-18 12:01:16 -07:00
hwcontext_vulkan.c Replace all occurences of av_mallocz_array() by av_calloc() 2021-09-20 01:03:52 +02:00
hwcontext_vulkan.h hwcontext_vulkan: dynamically load functions 2021-04-30 00:08:37 +02:00
hwcontext.c Replace all occurences of av_mallocz_array() by av_calloc() 2021-09-20 01:03:52 +02:00
hwcontext.h hwcontext: add av_hwdevice_ctx_create_derived_opts 2020-05-23 19:07:26 +01:00
imgutils_internal.h Merge commit 'd7bc52bf456deba0f32d9fe5c288ec441f1ebef5' 2017-03-20 08:34:10 +01:00
imgutils.c imgutils: expose av_image_copy_plane_uc_from() 2021-08-14 00:27:43 +02:00
imgutils.h imgutils: expose av_image_copy_plane_uc_from() 2021-08-14 00:27:43 +02:00
integer.c avutil/integer: Fix integer overflow in av_mul_i() 2018-10-24 23:15:24 +02:00
integer.h
internal.h Replace all occurences of av_mallocz_array() by av_calloc() 2021-09-20 01:03:52 +02:00
intfloat.h
intmath.c
intmath.h intmath: add faster clz support 2017-03-01 11:23:19 -05:00
intreadwrite.h intreadwrite: add AV_RL64A, AV_WL64A 2019-01-11 23:43:37 +11:00
lfg.c libavutil: add av_lfg_init_from_data() function 2017-01-22 02:28:53 +01:00
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 Remove obsolete version.h inclusions 2021-07-22 14:34:31 +02:00
lls.h Remove obsolete version.h inclusions 2021-07-22 14:34:31 +02:00
log2_tab.c
log.c avutil/log: update text requesting samples 2020-04-17 00:08:56 +02:00
log.h avutil/log: Reorder elements of AVClass to make it smaller 2021-08-25 23:01:53 +02:00
lzo.c
lzo.h
macos_kperf.c lavu/kperf: use ff_thread_once() 2021-07-21 16:35:27 +02:00
macos_kperf.h lavu/kperf: use ff_thread_once() 2021-07-21 16:35:27 +02:00
macros.h avutil/common, macros: Move several macros from common.h to macros.h 2021-07-29 22:02:05 +02:00
Makefile avutil/Makefile: Apply CFLAGS for compilation 2021-08-04 12:59:42 +02:00
mastering_display_metadata.c lavu: add support for Content Light Level side metadata 2017-04-06 11:26:25 -03:00
mastering_display_metadata.h avutil/mastering_display_metadata: fix copyright header wrongly formated as doxy 2018-01-11 11:35:51 -03:00
mathematics.c Remove obsolete version.h inclusions 2021-07-22 14:34:31 +02:00
mathematics.h
md5.c avutil: Switch crypto APIs to size_t 2021-04-27 10:43:13 -03:00
md5.h Remove obsolete version.h inclusions 2021-07-22 14:34:31 +02:00
mem_internal.h avutil/mem: make ff_fast_malloc() internal to mem.c 2021-05-27 10:29:52 -03:00
mem.c avutil/mem: Deprecate av_mallocz_array() 2021-09-20 01:04:09 +02:00
mem.h avutil/mem: Deprecate av_mallocz_array() 2021-09-20 01:04:09 +02:00
motion_vector.h
murmur3.c avutil: Switch crypto APIs to size_t 2021-04-27 10:43:13 -03:00
murmur3.h Remove obsolete version.h inclusions 2021-07-22 14:34:31 +02:00
opt.c avutil/opt: Remove outdated version check 2021-09-27 05:42:48 +02:00
opt.h avutil/opt: Document actual behaviour of av_opt_copy a bit more 2021-08-17 19:11:57 +02:00
parseutils.c avutil/parseutils: Check sign in av_parse_time() 2021-03-03 16:54:20 +01:00
parseutils.h
pca.c
pca.h
pixdesc.c lavu/pix_fmt: add pixel format for x2bgr10 2021-09-26 16:26:10 +02:00
pixdesc.h Remove obsolete version.h inclusions 2021-07-22 14:34:31 +02:00
pixelutils.c lavutil/pixelutils: add sad_32x32 in pixelutils API. 2018-07-31 19:09:35 +08:00
pixelutils.h
pixfmt.h lavu/pix_fmt: add pixel format for x2bgr10 2021-09-26 16:26:10 +02:00
qsort.h
random_seed.c random_seed: use bcrypt instead of the old wincrypt API 2018-04-19 10:54:26 +03:00
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 avutil: Switch crypto APIs to size_t 2021-04-27 10:43:13 -03:00
ripemd.h Remove obsolete version.h inclusions 2021-07-22 14:34:31 +02:00
samplefmt.c avutil/samplefmt: don't add offsets to NULL pointers 2021-06-13 16:10:37 -03:00
samplefmt.h avutil/samplefmt: remove outdated comment 2021-06-13 16:10:37 -03:00
sha512.c avutil: Switch crypto APIs to size_t 2021-04-27 10:43:13 -03:00
sha512.h Remove obsolete version.h inclusions 2021-07-22 14:34:31 +02:00
sha.c avutil: Switch crypto APIs to size_t 2021-04-27 10:43:13 -03:00
sha.h Remove obsolete version.h inclusions 2021-07-22 14:34:31 +02:00
slicethread.c lavu/slicethread: return ENOSYS rather than EINVAL in the dummy func 2021-08-29 18:45:04 +02:00
slicethread.h avutil: merge slice threading implementation from avcodec and avfilter 2017-07-19 15:50:07 +07:00
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 avutil/softfloat: Add FLOAT_MIN 2017-11-05 22:13:16 +01:00
spherical.c avutil/spherical: Use av_strstart instead of strncmp 2021-02-28 17:14:21 +01:00
spherical.h spherical: add functions to retrieve and request projection names 2017-04-27 09:59:54 -04:00
stereo3d.c avutil/stereo3d: Use av_strstart instead of strncmp 2021-02-28 17:14:21 +01:00
stereo3d.h Merge commit '99e9697e3a12ab4a6638a36b95edafd6a98f9eaa' 2017-11-29 21:06:49 -03:00
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 lavu/threadmessage: add av_thread_message_queue_nb_elems() 2018-04-26 19:41:19 +02:00
threadmessage.h lavu/threadmessage: add av_thread_message_queue_nb_elems() 2018-04-26 19:41:19 +02:00
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: Avoid fps overflow 2021-03-14 23:29:51 +01:00
timecode.h avutil/timecode: add av_timecode_init_from_components 2020-12-03 18:32:54 +01:00
timer.h lavu/kperf: use ff_thread_once() 2021-07-21 16:35:27 +02:00
timestamp.h
tree.c
tree.h Remove obsolete version.h inclusions 2021-07-22 14:34:31 +02:00
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 Remove unnecessary avassert.h inclusions 2021-07-22 15:02:30 +02:00
tx_template.c checkasm: add av_tx FFT SIMD testing code 2021-04-24 17:19:17 +02:00
tx.c avutil/tx: add a return at the end of non-void functions 2021-08-06 21:22:49 -03:00
tx.h lavu/tx: add full-sized iMDCT transform flag 2021-04-24 17:17:27 +02:00
utils.c avutil/utils: Remove racy check from avutil_version() 2021-09-29 02:58:07 +02:00
version.h lavu/pix_fmt: add pixel format for x2bgr10 2021-09-26 16:26:10 +02:00
video_enc_params.c lavu/video_enc_params: make sure blocks are properly aligned 2021-06-10 16:59:50 +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 Replace all occurences of av_mallocz_array() by av_calloc() 2021-09-20 01:03:52 +02:00
xga_font_data.c
xga_font_data.h Merge commit 'abf1c058d1bd0ed1b820ea5e501a4484756f00b0' 2017-11-11 11:29:16 -03:00
xtea.c
xtea.h