ffmpeg/libavutil
Zhao Zhili baf3123c1c avutil/executor: Allowing thread_count be zero
Before the patch, disable threads support at configure/build time
was the only method to force zero thread in executor. However,
it's common practice for libavcodec to run on caller's thread when
user specify thread number to one. And for WASM environment, whether
threads are supported needs to be detected at runtime. So executor
should support zero thread at runtime.

A single thread executor can be useful, e.g., to handle network
protocol. So we can't take thread_count one as zero thread, which
disabled a valid usercase.

Other libraries take -threads 0 to mean auto. Executor as a low
level utils doesn't do cpu detect. So take thread_count zero as
zero thread, literally.

Signed-off-by: Zhao Zhili <zhilizhao@tencent.com>
2024-06-27 20:54:42 +08:00
..
aarch64 aarch64: Add OpenBSD runtime detection of dotprod and i8mm using sysctl 2024-06-26 02:06:53 -04:00
arm lavu/arm: remove GCC 4.6- stuff 2024-06-13 21:16:16 +03:00
loongarch
mips configure: Remove av_restrict 2024-03-15 12:51:15 +01:00
ppc avutil/ppc/cpu: Also use the machdep.altivec sysctl on NetBSD 2024-05-18 07:38:40 -04:00
riscv avutil/riscv/cpu: fix __riscv_v_min_vlen typo 2024-06-26 12:50:02 +02:00
tests avutil/tests/opt: Check av_set_options_string() for failure 2024-05-28 03:48:05 +02:00
x86 avutil/common: assert that bit position in av_zero_extend is valid 2024-06-13 20:36:09 -03:00
.gitignore
adler32.c
adler32.h
aes_ctr.c
aes_ctr.h
aes_internal.h
aes.c
aes.h
ambient_viewing_environment.c avutil/ambient_viewing_environment: set a sane default value for AVRational fields 2024-06-20 17:02:50 -03:00
ambient_viewing_environment.h
attributes_internal.h
attributes.h
audio_fifo.c
audio_fifo.h
avassert.h
avsscanf.c
avstring.c avutil/avstring: Use proper types 2024-03-10 13:51:37 +01:00
avstring.h
avutil.h avutil: remove deprecated FF_API_AV_FOPEN_UTF8 2024-03-07 08:53:30 -03:00
avutilres.rc
base64.c libavutil/base64: Try not to write over the array end 2024-05-13 03:26:57 +02:00
base64.h
blowfish.c
blowfish.h
bprint.c
bprint.h fix "param"s that should be "@param" 2024-03-04 17:45:00 +01:00
bswap.h lavu/bswap: remove some inline assembler 2024-06-13 21:16:16 +03:00
buffer_internal.h
buffer.c
buffer.h
camellia.c
camellia.h
cast5.c
cast5.h
channel_layout.c channel_layout: add new channel positions supported by xHE-AAC 2024-06-02 18:34:38 +02:00
channel_layout.h channel_layout: add new channel positions supported by xHE-AAC 2024-06-02 18:34:38 +02:00
colorspace.h
common.h lavu/common.h: Fix UB in av_clip_uintp2_c() 2024-06-14 14:28:25 +02:00
cpu_internal.h
cpu.c lavu/riscv: CPU flag for fast misaligned accesses 2024-05-14 19:50:00 +03:00
cpu.h lavu/riscv: CPU flag for fast misaligned accesses 2024-05-14 19:50:00 +03:00
crc.c
crc.h
csp.c
csp.h
cuda_check.h
des.c
des.h
detection_bbox.c avutil/common: Don't auto-include mem.h 2024-03-31 00:08:43 +01:00
detection_bbox.h
dict_internal.h
dict.c avutil/dict: Deduplicate freeing dictionary 2024-03-08 01:01:49 +01:00
dict.h
display.c
display.h
dovi_meta.c avutil/dovi_meta: add dolby vision extension blocks 2024-04-03 16:16:25 +02:00
dovi_meta.h avutil/dovi_meta: add fields for ext_mapping_idc 2024-06-22 15:48:23 +02:00
downmix_info.c
downmix_info.h
dynarray.h
emms.h
encryption_info.c
encryption_info.h
error.c avutil/error: Add HTTP 429 Too Many Requests AVERROR code 2024-04-25 14:13:47 +01:00
error.h avutil/error: Add HTTP 429 Too Many Requests AVERROR code 2024-04-25 14:13:47 +01:00
eval.c avutil/common: Don't auto-include mem.h 2024-03-31 00:08:43 +01:00
eval.h
executor.c avutil/executor: Allowing thread_count be zero 2024-06-27 20:54:42 +08:00
executor.h avutil/executor: Allowing thread_count be zero 2024-06-27 20:54:42 +08:00
ffmath.h
fifo.c avutil: remove deprecated FF_API_FIFO_OLD_API 2024-03-07 08:53:30 -03:00
fifo.h avutil/fifo, file: Remove unused headers 2024-03-27 17:07:22 +01:00
file_open.c avutil: remove deprecated FF_API_AV_FOPEN_UTF8 2024-03-07 08:53:30 -03:00
file_open.h
file.c avutil: remove deprecated FF_API_AV_FOPEN_UTF8 2024-03-07 08:53:30 -03:00
file.h avutil/fifo, file: Remove unused headers 2024-03-27 17:07:22 +01:00
film_grain_params.c avutil/common: Don't auto-include mem.h 2024-03-31 00:08:43 +01:00
film_grain_params.h avutil/film_grain_params: add av_film_grain_params_select() 2024-03-23 18:55:15 +01:00
fixed_dsp.c avutil/common: Don't auto-include mem.h 2024-03-31 00:08:43 +01:00
fixed_dsp.h configure: Remove av_restrict 2024-03-15 12:51:15 +01:00
float2half.c
float2half.h
float_dsp.c lavu/float_dsp: add double-precision scalar product 2024-05-31 22:22:43 +03:00
float_dsp.h avutil/float_dsp.h: fix doxy for scalarproduct_double 2024-06-01 11:15:30 -03:00
frame.c avutil/frame: free the old side data buffer before replacing it 2024-04-11 12:32:13 -03:00
frame.h avutil/frame: remove comment about avcodec_get_frame_class() 2024-04-18 12:24:43 -03:00
getenv_utf8.h
half2float.c
half2float.h
hash.c avutil/hash: Avoid relocations for hash names 2024-03-18 01:48:46 +01:00
hash.h
hdr_dynamic_metadata.c
hdr_dynamic_metadata.h fix "@param foo[in/out]" to "@param[in, out] foo" 2024-03-04 17:45:12 +01:00
hdr_dynamic_vivid_metadata.c
hdr_dynamic_vivid_metadata.h
hmac.c
hmac.h
hwcontext_cuda_internal.h
hwcontext_cuda.c avutil/hwcontext: Allocate AVHWFramesCtx jointly with its internals 2024-03-07 08:53:31 -03:00
hwcontext_cuda.h
hwcontext_d3d11va.c avutil/common: Don't auto-include mem.h 2024-03-31 00:08:43 +01:00
hwcontext_d3d11va.h
hwcontext_d3d12va_internal.h
hwcontext_d3d12va.c avutil/common: Don't auto-include mem.h 2024-03-31 00:08:43 +01:00
hwcontext_d3d12va.h
hwcontext_drm.c avutil/common: Don't auto-include mem.h 2024-03-31 00:08:43 +01:00
hwcontext_drm.h
hwcontext_dxva2.c avutil/common: Don't auto-include mem.h 2024-03-31 00:08:43 +01:00
hwcontext_dxva2.h
hwcontext_internal.h avutil/hwcontext: Allocate AVHWFramesCtx jointly with its internals 2024-03-07 08:53:31 -03:00
hwcontext_mediacodec.c
hwcontext_mediacodec.h
hwcontext_opencl.c avutil/hwcontext: Allocate AVHWFramesCtx jointly with its internals 2024-03-07 08:53:31 -03:00
hwcontext_opencl.h
hwcontext_qsv.c qsv: Initialize impl_value 2024-05-28 03:48:04 +02:00
hwcontext_qsv.h lavu/hwcontext_qsv: update AVQSVFramesContext to support dynamic frame pool 2024-05-20 09:30:48 +08:00
hwcontext_stub.c
hwcontext_vaapi.c lavu/hwcontext_vaapi: Use vaMapBuffer2 for mapping image buffers 2024-04-29 11:08:41 +08:00
hwcontext_vaapi.h
hwcontext_vdpau.c avutil/hwcontext: Allocate AVHWFramesCtx jointly with its internals 2024-03-07 08:53:31 -03:00
hwcontext_vdpau.h
hwcontext_videotoolbox.c avutil/hwcontext: Allocate AVHWFramesCtx jointly with its internals 2024-03-07 08:53:31 -03:00
hwcontext_videotoolbox.h
hwcontext_vulkan.c lavu/hwcontext_vulkan: Support write on drm frame 2024-06-12 01:53:18 +02:00
hwcontext_vulkan.h avutil/hwcontext_vulkan: Include hwcontext.h 2024-03-31 00:08:43 +01:00
hwcontext.c avutil/hwcontext: Allocate AVHWFramesCtx jointly with its internals 2024-03-07 08:53:31 -03:00
hwcontext.h avutil/hwcontext: Allocate AVHWFramesCtx jointly with its internals 2024-03-07 08:53:31 -03:00
iamf.c avutil/iamf: use AV_OPT_TYPE_UINT 2024-05-04 21:31:33 -03:00
iamf.h
imgutils_internal.h avutil/internal: Move avpriv_set_systematic_pal2 decl to imgutils_internal.h 2024-03-31 00:08:43 +01:00
imgutils.c avutil/internal: Move avpriv_set_systematic_pal2 decl to imgutils_internal.h 2024-03-31 00:08:43 +01:00
imgutils.h
integer.c
integer.h
internal.h avutil/internal: Move avpriv_set_systematic_pal2 decl to imgutils_internal.h 2024-03-31 00:08:43 +01:00
intfloat.h
intmath.c
intmath.h lavu/intmath.h: Fix UB in ff_ctz_c() and ff_ctzll_c() 2024-06-14 14:28:25 +02:00
intreadwrite.h avr32: remove explicit support 2024-06-14 21:28:10 +03:00
lfg.c
lfg.h
libavutil.v
libm.h
lls.c lavu/lls: R-V V update_lls 2024-06-01 18:05:58 +03:00
lls.h lavu/lls: R-V V update_lls 2024-06-01 18:05:58 +03:00
log2_tab.c
log.c
log.h
lzo.c
lzo.h
macos_kperf.c avutil/macos_kperf: Fix assert which makes kperf failed to run 2024-06-18 15:24:12 +08:00
macos_kperf.h
macros.h
Makefile avutil/timestamp: introduce av_ts_make_time_string2 for better precision 2024-03-25 21:30:51 +01:00
mastering_display_metadata.c avutil/mastering_display_metadata: set a sane default value for AVRational fields 2024-06-20 17:02:50 -03:00
mastering_display_metadata.h avutil/mastering_display_metadata: add a new allocator function that returns a size 2024-04-11 11:46:18 -03:00
mathematics.c
mathematics.h
md5.c
md5.h
mem_internal.h avutil/mem_internal: Remove unneeded headers 2024-03-01 01:35:42 +01:00
mem.c avutil/internal: Move FF_MEMORY_POISON to its only user 2024-03-31 00:08:43 +01:00
mem.h
motion_vector.h
murmur3.c
murmur3.h
objc.h
opt.c avutil/opt: free the temporary layout in av_opt_is_set_to_default() 2024-05-07 20:11:42 -03:00
opt.h avutil/opt: add a note about the av_opt_{get,set}_chlayout() behavior 2024-05-07 20:11:42 -03:00
parseutils.c
parseutils.h
pca.c avutil/common: Don't auto-include mem.h 2024-03-31 00:08:43 +01:00
pca.h
pixdesc.c avutil/pix{desc,fmt}: add new matrix coefficients from H.273 v3 2024-04-03 21:31:35 +03:00
pixdesc.h
pixelutils.c
pixelutils.h
pixfmt.h avutil/pix{desc,fmt}: add new matrix coefficients from H.273 v3 2024-04-03 21:31:35 +03:00
qsort.h
random_seed.c avutil/random_seed: Avoid dead returns 2024-05-28 03:48:05 +02:00
random_seed.h
rational.c
rational.h
rc4.c
rc4.h
replaygain.h
reverse.c
reverse.h
ripemd.c
ripemd.h
samplefmt.c
samplefmt.h
sfc64.h
sha512.c
sha512.h
sha.c
sha.h
slicethread.c
slicethread.h
softfloat_ieee754.h
softfloat_tables.h
softfloat.h
spherical.c avutil/spherical: Add more spherical types 2024-06-18 14:47:40 +01:00
spherical.h avutil/spherical: Add more spherical types 2024-06-18 14:47:40 +01:00
stereo3d.c avutil/stereo3d: add a new allocator function that returns a size 2024-06-25 00:01:05 -03:00
stereo3d.h avutil/stereo3d: add a new allocator function that returns a size 2024-06-25 00:01:05 -03:00
tablegen.h
tea.c
tea.h
thread.h
threadmessage.c
threadmessage.h
time_internal.h
time.c
time.h
timecode.c avformat/timecode: use 64bit for intermediate for rounding in fps_from_frame_rate() 2024-03-26 23:25:38 +01:00
timecode.h
timer.h avutil/timer: Fix missing header for mach_absolute_time 2024-06-18 15:24:02 +08:00
timestamp.c avutil/timestamp: introduce av_ts_make_time_string2 for better precision 2024-03-25 21:30:51 +01:00
timestamp.h avutil/timestamp: change precision of av_ts_make_time_string() 2024-03-25 21:30:51 +01:00
tree.c
tree.h
twofish.c
twofish.h
tx_double.c
tx_float.c
tx_int32.c
tx_priv.h
tx_template.c avutil/common: Don't auto-include mem.h 2024-03-31 00:08:43 +01:00
tx.c avutil/common: Don't auto-include mem.h 2024-03-31 00:08:43 +01:00
tx.h
utils.c
uuid.c
uuid.h
version_major.h
version.c lib*/version: Use static_assert for static asserts 2024-03-31 00:08:42 +01:00
version.h avutil/stereo3d: add a new allocator function that returns a size 2024-06-25 00:01:05 -03:00
video_enc_params.c
video_enc_params.h
video_hint.c
video_hint.h
vulkan_functions.h vulkan_av1: port to the new stable API 2024-03-25 08:54:40 +01:00
vulkan_loader.h vulkan_av1: port to the new stable API 2024-03-25 08:54:40 +01:00
vulkan.c avutil/common: Don't auto-include mem.h 2024-03-31 00:08:43 +01:00
vulkan.h avutil/vulkan: Remove unused ff_vk_set_descriptor_sampler() 2024-03-03 22:56:25 +01:00
wchar_filename.h
xga_font_data.c
xga_font_data.h
xtea.c
xtea.h