Skip to content

Commit 5d4d6e0

Browse files
Shnatselvstroebel
authored andcommitted
fdct: don't mark AVX helper functions as unsafe fn
1 parent 3167fd8 commit 5d4d6e0

File tree

1 file changed

+24
-16
lines changed

1 file changed

+24
-16
lines changed

src/avx2/fdct.rs

Lines changed: 24 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -65,9 +65,10 @@ pub fn fdct_avx2(data: &mut [i16; 64]) {
6565

6666
#[target_feature(enable = "avx2")]
6767
unsafe fn fdct_avx2_internal(data: &mut [i16; 64]) {
68+
#[target_feature(enable = "avx2")]
6869
#[allow(non_snake_case)]
69-
#[inline(always)]
70-
unsafe fn PW_F130_F054_MF130_F054() -> __m256i {
70+
#[inline]
71+
fn PW_F130_F054_MF130_F054() -> __m256i {
7172
_mm256_set_epi16(
7273
F_0_541,
7374
F_0_541 - F_1_847,
@@ -88,9 +89,10 @@ unsafe fn fdct_avx2_internal(data: &mut [i16; 64]) {
8889
)
8990
}
9091

92+
#[target_feature(enable = "avx2")]
9193
#[allow(non_snake_case)]
92-
#[inline(always)]
93-
unsafe fn PW_MF078_F117_F078_F117() -> __m256i {
94+
#[inline]
95+
fn PW_MF078_F117_F078_F117() -> __m256i {
9496
_mm256_set_epi16(
9597
F_1_175,
9698
F_1_175 - F_0_390,
@@ -111,9 +113,10 @@ unsafe fn fdct_avx2_internal(data: &mut [i16; 64]) {
111113
)
112114
}
113115

116+
#[target_feature(enable = "avx2")]
114117
#[allow(non_snake_case)]
115-
#[inline(always)]
116-
unsafe fn PW_MF060_MF089_MF050_MF256() -> __m256i {
118+
#[inline]
119+
fn PW_MF060_MF089_MF050_MF256() -> __m256i {
117120
_mm256_set_epi16(
118121
-F_2_562,
119122
F_2_053 - F_2_562,
@@ -134,9 +137,10 @@ unsafe fn fdct_avx2_internal(data: &mut [i16; 64]) {
134137
)
135138
}
136139

140+
#[target_feature(enable = "avx2")]
137141
#[allow(non_snake_case)]
138-
#[inline(always)]
139-
unsafe fn PW_F050_MF256_F060_MF089() -> __m256i {
142+
#[inline]
143+
fn PW_F050_MF256_F060_MF089() -> __m256i {
140144
_mm256_set_epi16(
141145
-F_0_899,
142146
F_1_501 - F_0_899,
@@ -157,9 +161,10 @@ unsafe fn fdct_avx2_internal(data: &mut [i16; 64]) {
157161
)
158162
}
159163

164+
#[target_feature(enable = "avx2")]
160165
#[allow(non_snake_case)]
161-
#[inline(always)]
162-
unsafe fn PD_DESCALE_P(first_pass: bool) -> __m256i {
166+
#[inline]
167+
fn PD_DESCALE_P(first_pass: bool) -> __m256i {
163168
if first_pass {
164169
_mm256_set_epi32(
165170
1 << (DESCALE_P1 - 1),
@@ -185,9 +190,10 @@ unsafe fn fdct_avx2_internal(data: &mut [i16; 64]) {
185190
}
186191
}
187192

193+
#[target_feature(enable = "avx2")]
188194
#[allow(non_snake_case)]
189-
#[inline(always)]
190-
unsafe fn PW_DESCALE_P2X() -> __m256i {
195+
#[inline]
196+
fn PW_DESCALE_P2X() -> __m256i {
191197
_mm256_set_epi32(
192198
1 << (PASS1_BITS - 1),
193199
1 << (PASS1_BITS - 1),
@@ -201,8 +207,9 @@ unsafe fn fdct_avx2_internal(data: &mut [i16; 64]) {
201207
}
202208

203209
// In-place 8x8x16-bit matrix transpose using AVX2 instructions
204-
#[inline(always)]
205-
unsafe fn do_transpose(
210+
#[target_feature(enable = "avx2")]
211+
#[inline]
212+
fn do_transpose(
206213
i1: __m256i,
207214
i2: __m256i,
208215
i3: __m256i,
@@ -244,8 +251,9 @@ unsafe fn fdct_avx2_internal(data: &mut [i16; 64]) {
244251
}
245252

246253
// In-place 8x8x16-bit accurate integer forward DCT using AVX2 instructions
247-
#[inline(always)]
248-
unsafe fn do_dct(
254+
#[target_feature(enable = "avx2")]
255+
#[inline]
256+
fn do_dct(
249257
first_pass: bool,
250258
i1: __m256i,
251259
i2: __m256i,

0 commit comments

Comments
 (0)