1
0
mirror of https://github.com/FFmpeg/FFmpeg.git synced 2024-12-28 20:53:54 +02:00
FFmpeg/libswresample
Lynne bbe95f7353
x86: replace explicit REP_RETs with RETs
From x86inc:
> On AMD cpus <=K10, an ordinary ret is slow if it immediately follows either
> a branch or a branch target. So switch to a 2-byte form of ret in that case.
> We can automatically detect "follows a branch", but not a branch target.
> (SSSE3 is a sufficient condition to know that your cpu doesn't have this problem.)

x86inc can automatically determine whether to use REP_RET rather than
REP in most of these cases, so impact is minimal. Additionally, a few
REP_RETs were used unnecessary, despite the return being nowhere near a
branch.

The only CPUs affected were AMD K10s, made between 2007 and 2011, 16
years ago and 12 years ago, respectively.

In the future, everyone involved with x86inc should consider dropping
REP_RETs altogether.
2023-02-01 04:23:55 +01:00
..
aarch64 swresample/aarch64: fix relocation out of range error 2021-09-25 21:55:29 +03:00
arm Include attributes.h directly 2021-04-19 14:34:10 +02:00
tests swresample: convert to new channel layout API 2022-03-15 09:42:46 -03:00
x86 x86: replace explicit REP_RETs with RETs 2023-02-01 04:23:55 +01:00
audioconvert.c all: Replace if (ARCH_FOO) checks by #if ARCH_FOO 2022-06-15 04:56:37 +02:00
audioconvert.h avutil/internal, swresample/audioconvert: Remove cpu.h inclusions 2021-07-22 14:33:45 +02:00
dither_template.c
dither.c
libswresample.v
log2_tab.c
Makefile configure: always enable gnu_windres if available 2022-08-13 14:42:36 +02:00
noise_shaping_data.c swresample/noise_shaping_data: Remove unused tables 2022-06-15 04:58:14 +02:00
options.c swresample: convert to new channel layout API 2022-03-15 09:42:46 -03:00
rematrix_template.c swresample: convert to new channel layout API 2022-03-15 09:42:46 -03:00
rematrix.c swresample/rematrix: support mixing top front left/right channels 2022-11-03 19:39:52 -03:00
resample_dsp.c all: Replace if (ARCH_FOO) checks by #if ARCH_FOO 2022-06-15 04:56:37 +02:00
resample_template.c
resample.c swresample/resample: Remove unnecessary emms_c 2022-06-14 01:28:29 +02:00
resample.h
soxr_resample.c
swresample_frame.c swresample/swresample_frame: fix regression in detecting changes 2023-01-04 18:19:07 +01:00
swresample_internal.h swresample: convert to new channel layout API 2022-03-15 09:42:46 -03:00
swresample.c swsresample/swresample: error out on invalid layouts 2022-09-14 09:52:33 -03:00
swresample.h swresample: Fix Doxy reference to AVOptions 2022-10-17 09:55:19 +02:00
swresampleres.rc
version_major.h libswresample: Split version.h 2022-03-16 14:05:26 +02:00
version.c lib*/version: Move library version functions into files of their own 2022-05-10 06:49:32 +02:00
version.h lswr: take const AVChannelLayout* in swr_alloc_set_opts2() 2022-08-24 18:31:05 -05:00