1
0
mirror of https://github.com/FFmpeg/FFmpeg.git synced 2024-12-23 12:43:46 +02:00
FFmpeg/libswscale/loongarch
Ramiro Polla 2d1358a84d swscale/range_convert: saturate output instead of limiting input
For bit depths <= 14, the result is saturated to 15 bits.
For bit depths > 14, the result is saturated to 19 bits.

x86_64:
chrRangeFromJpeg8_1920_c:    2126.5   2127.4  (1.00x)
chrRangeFromJpeg16_1920_c:   2331.4   2325.2  (1.00x)
chrRangeToJpeg8_1920_c:      3163.0   3166.9  (1.00x)
chrRangeToJpeg16_1920_c:     3163.7   2152.4  (1.47x)
lumRangeFromJpeg8_1920_c:    1262.2   1263.0  (1.00x)
lumRangeFromJpeg16_1920_c:   1079.5   1080.5  (1.00x)
lumRangeToJpeg8_1920_c:      1860.5   1886.8  (0.99x)
lumRangeToJpeg16_1920_c:     1910.2   1077.0  (1.77x)

aarch64 A55:
chrRangeFromJpeg8_1920_c:   28836.2  28835.2  (1.00x)
chrRangeFromJpeg16_1920_c:  28840.1  28839.8  (1.00x)
chrRangeToJpeg8_1920_c:     44196.2  23074.7  (1.92x)
chrRangeToJpeg16_1920_c:    36527.3  17318.9  (2.11x)
lumRangeFromJpeg8_1920_c:   15388.5  15389.7  (1.00x)
lumRangeFromJpeg16_1920_c:  15389.3  15388.2  (1.00x)
lumRangeToJpeg8_1920_c:     23069.7  19227.8  (1.20x)
lumRangeToJpeg16_1920_c:    19227.8  15387.0  (1.25x)

aarch64 A76:
chrRangeFromJpeg8_1920_c:    6334.7   6324.4  (1.00x)
chrRangeFromJpeg16_1920_c:   6336.0   6339.9  (1.00x)
chrRangeToJpeg8_1920_c:     11474.5   9656.0  (1.19x)
chrRangeToJpeg16_1920_c:     9640.5   6340.4  (1.52x)
lumRangeFromJpeg8_1920_c:    4453.2   4422.0  (1.01x)
lumRangeFromJpeg16_1920_c:   4414.2   4420.9  (1.00x)
lumRangeToJpeg8_1920_c:      6645.0   5949.1  (1.12x)
lumRangeToJpeg16_1920_c:     6005.2   4446.8  (1.35x)

NOTE: all simd optimizations for range_convert have been disabled
      except for x86, which already had the same behaviour.
      they will be re-enabled when they are fixed for each architecture.
2024-12-05 21:10:29 +01:00
..
input_lasx.c swscale/internal: group user-facing options together 2024-11-21 12:49:56 +01:00
input_lsx.c swscale/internal: group user-facing options together 2024-11-21 12:49:56 +01:00
input.S swscale: [LA] Optimize swscale funcs in input.c 2024-04-11 23:53:59 +02:00
Makefile swscale: [LA] Optimize swscale funcs in input.c 2024-04-11 23:53:59 +02:00
output_lasx.c swscale/internal: group user-facing options together 2024-11-21 12:49:56 +01:00
output_lsx.c swscale/internal: group user-facing options together 2024-11-21 12:49:56 +01:00
output.S swscale: [LA] Optimize yuv2plane1_8_c. 2024-04-11 23:53:59 +02:00
rgb2rgb_lasx.c
swscale_init_loongarch.c swscale/range_convert: saturate output instead of limiting input 2024-12-05 21:10:29 +01:00
swscale_lasx.c swscale/internal: group user-facing options together 2024-11-21 12:49:56 +01:00
swscale_loongarch.h swscale: rename SwsContext to SwsInternal 2024-10-24 22:50:00 +02:00
swscale_lsx.c swscale/internal: group user-facing options together 2024-11-21 12:49:56 +01:00
swscale.S swscale: rename SwsContext to SwsInternal 2024-10-24 22:50:00 +02:00
yuv2rgb_lasx.c swscale/internal: group user-facing options together 2024-11-21 12:49:56 +01:00
yuv2rgb_lsx.c swscale/internal: group user-facing options together 2024-11-21 12:49:56 +01:00