FFmpeg/libavutil
Rémi Denis-Courmont 0e32192548 lavu/riscv: do not fallback to AT_HWCAP auxillary vector
If __riscv_hwprobe() fails, then the kernel version is presumably too
old. There is not much point falling back to the auxillary vector.

- The Linux kernel requires I, so the flag is always set on Linux, and
  run-time detection is unnecessary. Our RISC-V assembler does anyway not
  support targets without I.

- Linux can compile with or without F and D, but it cannot perform
  run-time detection for them (a kernel with F support will not boot a
  processor without F). The run-time detection is thus useless in that
  case. Besides F and D extensions are used throughout the C code, so
  their run-time detection would not be practical.

- Support for V was added in a later kernel version than riscv_hwprobe(),
  so the system call will always be available if the kernel supports V.
  The only exception would be vendor kernel forks, but those are known to
  haphasardly pretend to support V on systems without actual V support, or
  with only pre-ratification binary-incompatible version. Furthermore, a
  large chunk of our optimisations require Zba and/or Zbb which cannot be
  detected with HWCAP in those kernels.

For what it is worth, OpenJDK already took a similar action. Note that this
keeps AT_HWCAP usage for platforms with neither C run-time <sys/hwprobe.h>
nor kernel <asm/hwprobe.h>, notably kernels other than Linux.
2024-07-22 19:43:51 +03: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 lavu/riscv: do not fallback to AT_HWCAP auxillary vector 2024-07-22 19:43:51 +03:00
tests avutil/tests/opt: Check av_set_options_string() for failure 2024-05-28 03:48:05 +02:00
x86 x86/intreadwrite: add missing casts to pointer arguments 2024-07-11 18:24:26 -03:00
.gitignore
Makefile avutil/timestamp: introduce av_ts_make_time_string2 for better precision 2024-03-25 21:30:51 +01:00
adler32.c
adler32.h
aes.c
aes.h
aes_ctr.c
aes_ctr.h
aes_internal.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.h
attributes_internal.h
audio_fifo.c
audio_fifo.h
avassert.h
avsscanf.c avutil/avsscanf: Remove dead code 2024-07-21 17:02:12 +02:00
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.c avutil/buffer: Check ff_mutex_init() for failure 2024-07-21 17:02:13 +02:00
buffer.h
buffer_internal.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.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
cpu_internal.h
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.c avutil/dict: Deduplicate freeing dictionary 2024-03-08 01:01:49 +01:00
dict.h
dict_internal.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: Fix stack overflow due to recursive call 2024-07-11 20:26:23 +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.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
file_open.c avutil/file_open: Fix build error with wasi 2024-07-16 22:50:21 +08:00
file_open.h
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: Check log2_crop_align 2024-07-21 17:02:13 +02: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.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
hwcontext_cuda.c avutil/hwcontext: Allocate AVHWFramesCtx jointly with its internals 2024-03-07 08:53:31 -03:00
hwcontext_cuda.h
hwcontext_cuda_internal.h
hwcontext_d3d11va.c avutil/hwcontext_d3d11va: Free AVD3D11FrameDescriptor on error 2024-07-10 18:10:09 +02:00
hwcontext_d3d11va.h
hwcontext_d3d12va.c avutil/hwcontext_d3d12va: add Flags for resource creation 2024-07-02 14:15:12 +02:00
hwcontext_d3d12va.h avutil/hwcontext_d3d12va: add Flags for resource creation 2024-07-02 14:15:12 +02:00
hwcontext_d3d12va_internal.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/hwcontext_d3d11va: correct sizeof IDirect3DSurface9 2024-07-10 18:10:09 +02: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_videotoolbox: Fix build with older SDKs 2024-07-16 19:51:45 +08:00
hwcontext_videotoolbox.h avutil/hwcontext_videotoolbox: Update documentation 2024-07-05 19:13:43 +08:00
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
iamf.c avutil/iamf: use AV_OPT_TYPE_UINT 2024-05-04 21:31:33 -03:00
iamf.h
imgutils.c avutil/imgutils: av_image_check_size2() ensure width and height fit in 32bit 2024-07-12 22:16:05 +02:00
imgutils.h
imgutils_internal.h avutil/internal: Move avpriv_set_systematic_pal2 decl to imgutils_internal.h 2024-03-31 00:08:43 +01:00
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
log.c
log.h
log2_tab.c
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
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.c avutil/internal: Move FF_MEMORY_POISON to its only user 2024-03-31 00:08:43 +01:00
mem.h
mem_internal.h avutil/mem_internal: Remove unneeded headers 2024-03-01 01:35:42 +01:00
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
sha.c
sha.h
sha512.c
sha512.h
slicethread.c avutil/slicethread: Check pthread_*_init() for failure 2024-07-21 17:02:13 +02:00
slicethread.h
softfloat.h
softfloat_ieee754.h
softfloat_tables.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 Stereo3D view to signal that the view is unspecified 2024-06-28 13:16:57 -03:00
stereo3d.h avutil/stereo3d: add a Stereo3D view to signal that the view is unspecified 2024-06-28 13:16:57 -03:00
tablegen.h
tea.c
tea.h
thread.h
threadmessage.c
threadmessage.h
time.c
time.h
time_internal.h
timecode.c avutil/timecode: Use a 64bit framenum internally 2024-07-21 15:29:25 +02: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: avoid possible FPE when 0 is passed to av_ts_make_time_string2() 2024-06-30 09:11:44 +02: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.c avutil/common: Don't auto-include mem.h 2024-03-31 00:08:43 +01:00
tx.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
utils.c
uuid.c
uuid.h
version.c lib*/version: Use static_assert for static asserts 2024-03-31 00:08:42 +01:00
version.h avutil/hwcontext_d3d12va: add Flags for resource creation 2024-07-02 14:15:12 +02:00
version_major.h
video_enc_params.c
video_enc_params.h
video_hint.c
video_hint.h
vulkan.c vulkan: rename read_only to singular 2024-07-14 18:33:56 +02:00
vulkan.h vulkan: rename read_only to singular 2024-07-14 18:33:56 +02:00
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
wchar_filename.h avutil/wchar_filename: Correct sizeof 2024-07-10 18:10:10 +02:00
xga_font_data.c
xga_font_data.h
xtea.c
xtea.h