ffmpeg/libswscale
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 sw_scale: Add specializations for hscale 16 to 19 2022-11-01 15:24:58 +02:00
arm sws: rename SwsContext.swscale to convert_unscaled 2021-07-03 15:57:53 +02:00
loongarch swscale/la: Add output_lasx.c file. 2022-09-10 22:56:39 +02:00
ppc sws: rename SwsContext.swscale to convert_unscaled 2021-07-03 15:57:53 +02:00
riscv sws/rgb2rgb: RISC-V 64-bit V packed YUYV/UYVY to planar 4:2:2 2022-09-30 07:25:44 +02:00
tests swscale: introduce isSwappedChroma 2022-01-04 19:39:22 -06:00
x86 x86: replace explicit REP_RETs with RETs 2023-02-01 04:23:55 +01:00
Makefile swscale/input: add rgbaf16 input support 2022-08-19 22:09:36 +02:00
alphablend.c swscale/alphablend: Fix slice handling 2021-10-03 20:38:29 +02:00
bayer_template.c swscale: do not drop half of bits from 16bit bayer formats 2020-08-08 12:03:42 +02:00
gamma.c
half2float.c swscale/input: add rgbaf16 input support 2022-08-19 22:09:36 +02:00
hscale.c swscale: add opaque parameter to input functions 2022-08-19 22:09:36 +02:00
hscale_fast_bilinear.c
input.c swscale/input: Use more unsigned intermediates 2022-11-20 21:55:06 +01:00
libswscale.v
log2_tab.c
options.c Remove unnecessary libavutil/(avutil|common|internal).h inclusions 2022-02-24 12:56:49 +01:00
output.c swscale/output: Bias 16bps output calculations to improve non overflowing range for GBRP16/GBRPF32 2022-11-04 22:44:16 +01:00
rgb2rgb.c sws/rgb2rgb: RISC-V V shuffle_bytes_xxxx functions 2022-09-30 07:24:09 +02:00
rgb2rgb.h sws/rgb2rgb: RISC-V V shuffle_bytes_xxxx functions 2022-09-30 07:24:09 +02:00
rgb2rgb_template.c swscale/rgb2rgb_template: use shuffle macro on big-endian arches 2020-12-12 23:07:22 -05:00
slice.c swscale/input: add rgbaf16 input support 2022-08-19 22:09:36 +02:00
swscale.c swscale/la: Optimize hscale functions with lasx. 2022-09-10 22:56:38 +02:00
swscale.h swscale: document some missing arguments 2022-10-17 09:56:47 +02:00
swscale_internal.h swscale/la: Optimize hscale functions with lasx. 2022-09-10 22:56:38 +02:00
swscale_unscaled.c libswscale: force a minimum size of the slide for bayer sources 2022-10-14 12:19:13 +02:00
swscaleres.rc
utils.c swscale/utils: Fix indentation 2022-11-24 21:02:57 +01:00
version.c lib*/version: Move library version functions into files of their own 2022-05-10 06:49:32 +02:00
version.h swscale/output: add support for Y210LE and Y212LE 2022-09-10 12:29:12 -07:00
version_major.h libswscale: Split version.h 2022-03-16 14:05:26 +02:00
vscale.c Replace all occurences of av_mallocz_array() by av_calloc() 2021-09-20 01:03:52 +02:00
yuv2rgb.c swscale/la: Add yuv2rgb_lasx.c and rgb2rgb_lasx.c files 2022-09-10 22:56:38 +02:00