ffmpeg/libavutil
Nathan E. Egge 8280ec7a32 lavu/riscv: Revert d808070, removing AV_READ_TIME
The implementation of ff_read_time() for RISC-V uses rdtime which has
 precision on existing hardware too low (!) for benchmarking purposes.
Deleting this implementation falls back on clock_gettime() which was
 added as the default ff_read_time() implementation in 33e4cc9.
Below are metrics gathered on SpacemiT K1, before and after this commit:

Before:

$ tests/checkasm/checkasm --bench
benchmarking with native FFmpeg timers
nop: 0.0
checkasm: using random seed 3473665261
checkasm: bench runs 1024 (1 << 10)
RVI:
 - pixblockdsp.get_pixels                [OK]
 - vc1dsp.mspel_pixels                   [OK]
RVF:
 - audiodsp.audiodsp                     [OK]
checkasm: all 4 tests passed
audiodsp.vector_clipf_c: 1388.7
audiodsp.vector_clipf_rvf: 261.5
get_pixels_c: 2.0
get_pixels_rvi: 1.5
vc1dsp.put_vc1_mspel_pixels_tab[0][0]_c: 8.0
vc1dsp.put_vc1_mspel_pixels_tab[0][0]_rvi: 1.0
vc1dsp.put_vc1_mspel_pixels_tab[1][0]_c: 2.0
vc1dsp.put_vc1_mspel_pixels_tab[1][0]_rvi: 0.5

After:

$ tests/checkasm/checkasm --bench
benchmarking with native FFmpeg timers
nop: 56.4
checkasm: using random seed 1021411603
checkasm: bench runs 1024 (1 << 10)
RVI:
 - pixblockdsp.get_pixels                [OK]
 - vc1dsp.mspel_pixels                   [OK]
RVF:
 - audiodsp.audiodsp                     [OK]
checkasm: all 4 tests passed
audiodsp.vector_clipf_c: 23236.4
audiodsp.vector_clipf_rvf: 11038.4
get_pixels_c: 79.6
get_pixels_rvi: 48.4
vc1dsp.put_vc1_mspel_pixels_tab[0][0]_c: 329.6
vc1dsp.put_vc1_mspel_pixels_tab[0][0]_rvi: 38.1
vc1dsp.put_vc1_mspel_pixels_tab[1][0]_c: 89.9
vc1dsp.put_vc1_mspel_pixels_tab[1][0]_rvi: 17.1

Signed-off-by: Rémi Denis-Courmont <remi@remlab.net>
2024-07-31 17:48:50 +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 avutil/la: Add function performance testing 2023-05-25 21:05:21 +02:00
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: Revert d808070, removing AV_READ_TIME 2024-07-31 17:48:50 +03:00
tests lavu/riscv: add CPU flag for B bit manipulations 2024-07-25 23:09:58 +03:00
x86 x86/intreadwrite: add SSE2 optimized AV_COPY128U 2024-07-29 23:17:52 -03:00
.gitignore
adler32.c
adler32.h
aes_ctr.c
aes_ctr.h avutil/aes_ctr: document some missing arguments 2022-10-17 09:56:47 +02:00
aes_internal.h
aes.c avutil/aes: Don't use out-of-bounds index 2022-10-24 16:28:14 +02:00
aes.h avutil/aes: document some missing arguments 2022-10-17 09:56:47 +02:00
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 avutil: introduce AVAmbientViewingEnvironment side data 2023-01-13 21:26:13 +02:00
attributes_internal.h avutil/attributes_internal: Add visibility pragma 2022-10-10 13:43:59 +02:00
attributes.h
audio_fifo.c avutil/audio_fifo: Constify some pointees 2023-09-12 09:20:13 +02:00
audio_fifo.h avutil/audio_fifo: Constify some pointees 2023-09-12 09:20:13 +02:00
avassert.h lavu/avassert: include config.h 2023-07-12 15:35:37 +02:00
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/avstring: Remove obsolete version.h inclusion 2023-09-07 00:48:50 +02:00
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 avutil/bprint: Allow size == 0 in av_bprint_init_for_buffer() 2023-08-10 08:53:38 +02:00
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 avutil/buffer: Check ff_mutex_init() for failure 2024-07-21 17:02:13 +02:00
buffer.h
camellia.c
camellia.h avutil/camellia: Fix doxy @param typo 2022-10-17 09:55:19 +02:00
cast5.c avutil/cast5: Avoid undefined shift of uint32_t by 32 places 2022-11-11 12:24:23 +01:00
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 lavu/cpu: detect RISC-V base extensions 2022-09-27 13:19:52 +02:00
cpu.c lavu/riscv: add CPU flag for B bit manipulations 2024-07-25 23:09:58 +03:00
cpu.h lavu/riscv: add CPU flag for B bit manipulations 2024-07-25 23:09:58 +03:00
crc.c
crc.h avutil/crc: Add doxy for missing arguments 2022-10-17 09:56:47 +02:00
csp.c avutil/{color_utils, csp}: merge color_utils into csp and expose API 2023-02-09 15:35:14 +01:00
csp.h avutil/{color_utils, csp}: merge color_utils into csp and expose API 2023-02-09 15:35:14 +01:00
cuda_check.h
des.c
des.h avutil/des: Add doxy for missing arguments 2022-10-17 09:56:47 +02:00
detection_bbox.c avutil/common: Don't auto-include mem.h 2024-03-31 00:08:43 +01:00
detection_bbox.h avutil/detection_bbox: Add doxy for missing argument 2022-10-17 09:56:47 +02:00
dict_internal.h
dict.c avutil/dict: Deduplicate freeing dictionary 2024-03-08 01:01:49 +01:00
dict.h avutil/dict: Improve documentation 2022-11-06 08:26:50 +01:00
display.c
display.h avutil/display: Add file to doxy group 2022-10-17 09:55:19 +02:00
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 dv_md_compression to cfg record 2024-07-28 12:20:07 +02:00
downmix_info.c
downmix_info.h
dynarray.h
emms.h avutil/internal: Don't auto-include emms.h 2023-09-04 11:04:45 +02:00
encryption_info.c avutil/mem: Don't include avutil.h 2023-09-07 00:42:10 +02:00
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 apply spelling fixes 2023-11-18 19:55:42 +01:00
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_open.c avutil/file_open: Fix build error with wasi 2024-07-16 22:50:21 +08: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: 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 avutil/hdr_dynamic_metadata: allow av_dynamic_hdr_plus_to_t35() to accept an existing buffer 2023-04-05 09:47:12 -03:00
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 libavutil/hdr_dynamic_vivid_metadata: fix three spline params 2023-03-17 18:51:16 +08:00
hmac.c avutil/mem: Don't include avutil.h 2023-09-07 00:42:10 +02:00
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 avutil/hwcontext_cuda: add option to use current device context 2023-09-28 19:23:51 +02:00
hwcontext_d3d11va.c avutil/hwcontext_d3d11va: Free AVD3D11FrameDescriptor on error 2024-07-10 18:10:09 +02:00
hwcontext_d3d11va.h
hwcontext_d3d12va_internal.h libavutil: add hwcontext_d3d12va and AV_PIX_FMT_D3D12 2023-12-21 16:15:23 +08:00
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_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 avutil/hwcontext_mediacodec: fix backward compatibility 2023-01-26 23:31:37 +08:00
hwcontext_mediacodec.h avutil/hwcontext_mediacodec: fix backward compatibility 2023-01-26 23:31:37 +08:00
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 lavu/hwcontext_qsv: Derive bind flag from frame type if no valid surface 2024-07-30 13:41:15 +08: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
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 avutil/iamf: add some more doxy to structs 2024-01-15 18:16:07 -03:00
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/imgutils: av_image_check_size2() ensure width and height fit in 32bit 2024-07-12 22:16:05 +02:00
imgutils.h avutil/imgutils: add new function av_image_fill_color() 2023-12-13 18:51:32 +01:00
integer.c avutil/integer: Use '|' instead of '+' where it is more natural 2022-10-24 20:11:20 +02:00
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 avutil/intreadwrite: add missing aligned read/write macros 2024-07-29 21:33:31 -03:00
lfg.c
lfg.h avutil/lfg: Minor doxy improvements 2022-10-17 09:56:47 +02:00
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 lavu/log: do not assume AVClass.item_name is always set 2023-11-09 11:25:17 +01:00
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 Move bessel_i0() from swresample/resample to avutil/mathematics 2023-05-29 00:45:28 +02:00
mathematics.h Move bessel_i0() from swresample/resample to avutil/mathematics 2023-05-29 00:45:28 +02:00
md5.c avutil/mem: Don't include avutil.h 2023-09-07 00:42:10 +02:00
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 avutil/mem: Don't include avutil.h 2023-09-07 00:42:10 +02:00
motion_vector.h
murmur3.c avutil/mem: Don't include avutil.h 2023-09-07 00:42:10 +02:00
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 avutil/parseutils: Use inline code and properly escape 2022-10-17 09:56:47 +02:00
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 avutil/pixdesc: add AV_PIX_FMT_FLAG_XYZ 2023-10-31 15:46:07 +01:00
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 avutil/random_seed: include stddef.h 2023-07-05 10:25:12 -07:00
rational.c avutil/rational: increase av_d2q precision 2024-02-04 20:04:18 +01:00
rational.h avutil/rational: Document what is to be expected from av_d2q() of doubles representing rational numbers 2024-02-12 00:50:46 +01:00
rc4.c
rc4.h avutil/rc4: Add doxy for missing arguments 2022-10-17 09:56:47 +02:00
replaygain.h
reverse.c
reverse.h
ripemd.c
ripemd.h
samplefmt.c avutil/samplefmt: Constify some pointees 2023-09-12 09:17:28 +02:00
samplefmt.h avutil/samplefmt: Constify some pointees 2023-09-12 09:17:28 +02:00
sfc64.h avutil/eval: Use even better PRNG 2024-01-16 01:34:57 +01:00
sha512.c
sha512.h
sha.c
sha.h
slicethread.c avutil/slicethread: Check pthread_*_init() for failure 2024-07-21 17:02:13 +02:00
slicethread.h
softfloat_ieee754.h
softfloat_tables.h
softfloat.h avutil/softfloat: Basic documentation for av_sincos_sf() 2023-06-23 02:06:46 +02:00
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 avutil/thread: fix pthread_setname_np parameters for NetBSD and Apple 2024-02-05 09:42:30 +01:00
threadmessage.c avutil/mem: Don't include avutil.h 2023-09-07 00:42:10 +02:00
threadmessage.h
time_internal.h
time.c
time.h
timecode.c avutil/timecode: Use a 64bit framenum internally 2024-07-21 15:29:25 +02:00
timecode.h libavutil/timecode: fix parameter order in documentation 2024-01-14 14:58:57 +01:00
timer.h lavu/riscv: Revert d808070, removing AV_READ_TIME 2024-07-31 17:48:50 +03: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 avutil/twofish: Fix doxy @param typo 2022-10-17 09:51:47 +02:00
tx_double.c
tx_float.c
tx_int32.c
tx_priv.h avutil/mem: Don't include avutil.h 2023-09-07 00:42:10 +02:00
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 lavu/tx: add DCT-I and DST-I transforms 2023-09-01 23:59:10 +02:00
utils.c
uuid.c
uuid.h avutil/uuid: Remove bogus doxy return doc 2022-10-17 09:56:47 +02:00
version_major.h
version.c lib*/version: Use static_assert for static asserts 2024-03-31 00:08:42 +01:00
version.h avutil/intreadwrite: add missing aligned read/write macros 2024-07-29 21:33:31 -03:00
video_enc_params.c lavu/video_enc_params: Avoid relying on an undefined C construct 2023-01-31 14:22:54 +02:00
video_enc_params.h avutil/video_enc_params: fix doxy for av_video_enc_params_block() 2023-10-30 10:30:05 -03:00
video_hint.c lavu: add video_hint API 2023-08-08 09:46:11 +02:00
video_hint.h lavu: add video_hint API 2023-08-08 09:46:11 +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
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
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