History

x86/hevcdec: refact, remove duplicate code in HEVC_SAO_{BAND, EDGE}_FILTER

This is a part of Google Summer of Code 2023

Shaun Loo committed 1 year ago

Commit 69f63c61 parent dbd859a1 file · +48 −52Browse files

Unified · Split

libavcodec/x86/hevc/sao_10bit.asm+48−52
@@ -28,18 +28,17 @@ · 27 unmodified lines
28 H2656_SAO_BAND_FILTER hevc, %1, %2, %328 H2656_SAO_BAND_FILTER hevc, %1, %2, %3
29%endmacro29%endmacro
30 30
31%macro HEVC_SAO_BAND_FILTER_FUNCS 1
32 HEVC_SAO_BAND_FILTER %1, 8, 1
33 HEVC_SAO_BAND_FILTER %1, 16, 2
34 HEVC_SAO_BAND_FILTER %1, 32, 4
35 HEVC_SAO_BAND_FILTER %1, 48, 6
36 HEVC_SAO_BAND_FILTER %1, 64, 8
37%endmacro
38
31%macro HEVC_SAO_BAND_FILTER_FUNCS 039%macro HEVC_SAO_BAND_FILTER_FUNCS 0
32HEVC_SAO_BAND_FILTER 10, 8, 140 HEVC_SAO_BAND_FILTER_FUNCS 10
33HEVC_SAO_BAND_FILTER 10, 16, 241 HEVC_SAO_BAND_FILTER_FUNCS 12
34HEVC_SAO_BAND_FILTER 10, 32, 4
35HEVC_SAO_BAND_FILTER 10, 48, 6
36HEVC_SAO_BAND_FILTER 10, 64, 8
37
38HEVC_SAO_BAND_FILTER 12, 8, 1
39HEVC_SAO_BAND_FILTER 12, 16, 2
40HEVC_SAO_BAND_FILTER 12, 32, 4
41HEVC_SAO_BAND_FILTER 12, 48, 6
42HEVC_SAO_BAND_FILTER 12, 64, 8
43%endmacro42%endmacro
44 43
45INIT_XMM sse244INIT_XMM sse2
@@ -48,54 +47,51 @@ INIT_XMM avx · 2 unmodified lines
48HEVC_SAO_BAND_FILTER_FUNCS47HEVC_SAO_BAND_FILTER_FUNCS
49 48
50%if HAVE_AVX2_EXTERNAL49%if HAVE_AVX2_EXTERNAL
51INIT_XMM avx250
52HEVC_SAO_BAND_FILTER 10, 8, 151%macro HEVC_SAO_BAND_FILTER_FUNCS_AVX2 1
53INIT_YMM avx252 INIT_XMM avx2
54HEVC_SAO_BAND_FILTER 10, 16, 153 HEVC_SAO_BAND_FILTER %1, 8, 1
55HEVC_SAO_BAND_FILTER 10, 32, 254 INIT_YMM avx2
56HEVC_SAO_BAND_FILTER 10, 48, 355 HEVC_SAO_BAND_FILTER %1, 16, 1
57HEVC_SAO_BAND_FILTER 10, 64, 456 HEVC_SAO_BAND_FILTER %1, 32, 2
58 57 HEVC_SAO_BAND_FILTER %1, 48, 3
59INIT_XMM avx258 HEVC_SAO_BAND_FILTER %1, 64, 4
60HEVC_SAO_BAND_FILTER 12, 8, 159%endmacro
61INIT_YMM avx260
62HEVC_SAO_BAND_FILTER 12, 16, 161 HEVC_SAO_BAND_FILTER_FUNCS_AVX2 10
63HEVC_SAO_BAND_FILTER 12, 32, 262 HEVC_SAO_BAND_FILTER_FUNCS_AVX2 12
64HEVC_SAO_BAND_FILTER 12, 48, 363
65HEVC_SAO_BAND_FILTER 12, 64, 4
66%endif64%endif
67 65
68%macro HEVC_SAO_EDGE_FILTER 366%macro HEVC_SAO_EDGE_FILTER 3
69 H2656_SAO_EDGE_FILTER hevc, %1, %2, %367 H2656_SAO_EDGE_FILTER hevc, %1, %2, %3
70%endmacro68%endmacro
71 69
70%macro HEVC_SAO_EDGE_FILTER_FUNCS 1
71 HEVC_SAO_EDGE_FILTER %1, 8, 1
72 HEVC_SAO_EDGE_FILTER %1, 16, 2
73 HEVC_SAO_EDGE_FILTER %1, 32, 4
74 HEVC_SAO_EDGE_FILTER %1, 48, 6
75 HEVC_SAO_EDGE_FILTER %1, 64, 8
76%endmacro
77
72INIT_XMM sse278INIT_XMM sse2
73HEVC_SAO_EDGE_FILTER 10, 8, 179HEVC_SAO_EDGE_FILTER_FUNCS 10
74HEVC_SAO_EDGE_FILTER 10, 16, 280HEVC_SAO_EDGE_FILTER_FUNCS 12
75HEVC_SAO_EDGE_FILTER 10, 32, 4
76HEVC_SAO_EDGE_FILTER 10, 48, 6
77HEVC_SAO_EDGE_FILTER 10, 64, 8
78
79HEVC_SAO_EDGE_FILTER 12, 8, 1
80HEVC_SAO_EDGE_FILTER 12, 16, 2
81HEVC_SAO_EDGE_FILTER 12, 32, 4
82HEVC_SAO_EDGE_FILTER 12, 48, 6
83HEVC_SAO_EDGE_FILTER 12, 64, 8
84 81
85%if HAVE_AVX2_EXTERNAL82%if HAVE_AVX2_EXTERNAL
86INIT_XMM avx283
87HEVC_SAO_EDGE_FILTER 10, 8, 184%macro HEVC_SAO_EDGE_FILTER_FUNCS_AVX2 1
88INIT_YMM avx285 INIT_XMM avx2
89HEVC_SAO_EDGE_FILTER 10, 16, 186 HEVC_SAO_EDGE_FILTER %1, 8, 1
90HEVC_SAO_EDGE_FILTER 10, 32, 287 INIT_YMM avx2
91HEVC_SAO_EDGE_FILTER 10, 48, 388 HEVC_SAO_EDGE_FILTER %1, 16, 1
92HEVC_SAO_EDGE_FILTER 10, 64, 489 HEVC_SAO_EDGE_FILTER %1, 32, 2
93 90 HEVC_SAO_EDGE_FILTER %1, 48, 3
94INIT_XMM avx291 HEVC_SAO_EDGE_FILTER %1, 64, 4
95HEVC_SAO_EDGE_FILTER 12, 8, 192%endmacro
96INIT_YMM avx293
97HEVC_SAO_EDGE_FILTER 12, 16, 194HEVC_SAO_EDGE_FILTER_FUNCS_AVX2 10
98HEVC_SAO_EDGE_FILTER 12, 32, 295HEVC_SAO_EDGE_FILTER_FUNCS_AVX2 12
99HEVC_SAO_EDGE_FILTER 12, 48, 396
100HEVC_SAO_EDGE_FILTER 12, 64, 4
101%endif97%endif

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t