@@ -89,8 +89,8 @@ inv_dct4_1d_internal_c(int32_t *const c, const ptrdiff_t stride,
89
89
c [3 * stride ] = CLIP (t0 - t3 );
90
90
}
91
91
92
- void dav1d_inv_dct4_1d_c (int32_t * const c , const ptrdiff_t stride ,
93
- const int min , const int max )
92
+ static void inv_dct4_1d_c (int32_t * const c , const ptrdiff_t stride ,
93
+ const int min , const int max )
94
94
{
95
95
inv_dct4_1d_internal_c (c , stride , min , max , 0 );
96
96
}
@@ -142,8 +142,8 @@ inv_dct8_1d_internal_c(int32_t *const c, const ptrdiff_t stride,
142
142
c [7 * stride ] = CLIP (t0 - t7 );
143
143
}
144
144
145
- void dav1d_inv_dct8_1d_c (int32_t * const c , const ptrdiff_t stride ,
146
- const int min , const int max )
145
+ static void inv_dct8_1d_c (int32_t * const c , const ptrdiff_t stride ,
146
+ const int min , const int max )
147
147
{
148
148
inv_dct8_1d_internal_c (c , stride , min , max , 0 );
149
149
}
@@ -237,8 +237,8 @@ inv_dct16_1d_internal_c(int32_t *const c, const ptrdiff_t stride,
237
237
c [15 * stride ] = CLIP (t0 - t15a );
238
238
}
239
239
240
- void dav1d_inv_dct16_1d_c (int32_t * const c , const ptrdiff_t stride ,
241
- const int min , const int max )
240
+ static void inv_dct16_1d_c (int32_t * const c , const ptrdiff_t stride ,
241
+ const int min , const int max )
242
242
{
243
243
inv_dct16_1d_internal_c (c , stride , min , max , 0 );
244
244
}
@@ -427,14 +427,14 @@ inv_dct32_1d_internal_c(int32_t *const c, const ptrdiff_t stride,
427
427
c [31 * stride ] = CLIP (t0 - t31 );
428
428
}
429
429
430
- void dav1d_inv_dct32_1d_c (int32_t * const c , const ptrdiff_t stride ,
431
- const int min , const int max )
430
+ static void inv_dct32_1d_c (int32_t * const c , const ptrdiff_t stride ,
431
+ const int min , const int max )
432
432
{
433
433
inv_dct32_1d_internal_c (c , stride , min , max , 0 );
434
434
}
435
435
436
- void dav1d_inv_dct64_1d_c (int32_t * const c , const ptrdiff_t stride ,
437
- const int min , const int max )
436
+ static void inv_dct64_1d_c (int32_t * const c , const ptrdiff_t stride ,
437
+ const int min , const int max )
438
438
{
439
439
assert (stride > 0 );
440
440
inv_dct32_1d_internal_c (c , stride << 1 , min , max , 1 );
@@ -962,13 +962,13 @@ inv_adst16_1d_internal_c(const int32_t *const in, const ptrdiff_t in_s,
962
962
}
963
963
964
964
#define inv_adst_1d (sz ) \
965
- void dav1d_inv_adst ##sz##_1d_c(int32_t *const c, const ptrdiff_t stride, \
966
- const int min, const int max) \
965
+ static void inv_adst ##sz##_1d_c(int32_t *const c, const ptrdiff_t stride, \
966
+ const int min, const int max) \
967
967
{ \
968
968
inv_adst##sz##_1d_internal_c(c, stride, min, max, c, stride); \
969
969
} \
970
- void dav1d_inv_flipadst ##sz##_1d_c(int32_t *const c, const ptrdiff_t stride, \
971
- const int min, const int max) \
970
+ static void inv_flipadst ##sz##_1d_c(int32_t *const c, const ptrdiff_t stride, \
971
+ const int min, const int max) \
972
972
{ \
973
973
inv_adst##sz##_1d_internal_c(c, stride, min, max, \
974
974
&c[(sz - 1) * stride], -stride); \
@@ -980,8 +980,8 @@ inv_adst_1d(16)
980
980
981
981
#undef inv_adst_1d
982
982
983
- void dav1d_inv_identity4_1d_c (int32_t * const c , const ptrdiff_t stride ,
984
- const int min , const int max )
983
+ static void inv_identity4_1d_c (int32_t * const c , const ptrdiff_t stride ,
984
+ const int min , const int max )
985
985
{
986
986
assert (stride > 0 );
987
987
for (int i = 0 ; i < 4 ; i ++ ) {
@@ -990,16 +990,16 @@ void dav1d_inv_identity4_1d_c(int32_t *const c, const ptrdiff_t stride,
990
990
}
991
991
}
992
992
993
- void dav1d_inv_identity8_1d_c (int32_t * const c , const ptrdiff_t stride ,
994
- const int min , const int max )
993
+ static void inv_identity8_1d_c (int32_t * const c , const ptrdiff_t stride ,
994
+ const int min , const int max )
995
995
{
996
996
assert (stride > 0 );
997
997
for (int i = 0 ; i < 8 ; i ++ )
998
998
c [stride * i ] *= 2 ;
999
999
}
1000
1000
1001
- void dav1d_inv_identity16_1d_c (int32_t * const c , const ptrdiff_t stride ,
1002
- const int min , const int max )
1001
+ static void inv_identity16_1d_c (int32_t * const c , const ptrdiff_t stride ,
1002
+ const int min , const int max )
1003
1003
{
1004
1004
assert (stride > 0 );
1005
1005
for (int i = 0 ; i < 16 ; i ++ ) {
@@ -1008,14 +1008,57 @@ void dav1d_inv_identity16_1d_c(int32_t *const c, const ptrdiff_t stride,
1008
1008
}
1009
1009
}
1010
1010
1011
- void dav1d_inv_identity32_1d_c (int32_t * const c , const ptrdiff_t stride ,
1012
- const int min , const int max )
1011
+ static void inv_identity32_1d_c (int32_t * const c , const ptrdiff_t stride ,
1012
+ const int min , const int max )
1013
1013
{
1014
1014
assert (stride > 0 );
1015
1015
for (int i = 0 ; i < 32 ; i ++ )
1016
1016
c [stride * i ] *= 4 ;
1017
1017
}
1018
1018
1019
+ const itx_1d_fn dav1d_tx1d_fns [N_TX_SIZES ][N_TX_1D_TYPES ] = {
1020
+ [TX_4X4 ] = {
1021
+ [DCT ] = inv_dct4_1d_c ,
1022
+ [ADST ] = inv_adst4_1d_c ,
1023
+ [FLIPADST ] = inv_flipadst4_1d_c ,
1024
+ [IDENTITY ] = inv_identity4_1d_c ,
1025
+ }, [TX_8X8 ] = {
1026
+ [DCT ] = inv_dct8_1d_c ,
1027
+ [ADST ] = inv_adst8_1d_c ,
1028
+ [FLIPADST ] = inv_flipadst8_1d_c ,
1029
+ [IDENTITY ] = inv_identity8_1d_c ,
1030
+ }, [TX_16X16 ] = {
1031
+ [DCT ] = inv_dct16_1d_c ,
1032
+ [ADST ] = inv_adst16_1d_c ,
1033
+ [FLIPADST ] = inv_flipadst16_1d_c ,
1034
+ [IDENTITY ] = inv_identity16_1d_c ,
1035
+ }, [TX_32X32 ] = {
1036
+ [DCT ] = inv_dct32_1d_c ,
1037
+ [IDENTITY ] = inv_identity32_1d_c ,
1038
+ }, [TX_64X64 ] = {
1039
+ [DCT ] = inv_dct64_1d_c ,
1040
+ },
1041
+ };
1042
+
1043
+ const uint8_t /* enum Tx1dType */ dav1d_tx1d_types [N_TX_TYPES ][2 ] = {
1044
+ [DCT_DCT ] = { DCT , DCT },
1045
+ [ADST_DCT ] = { ADST , DCT },
1046
+ [DCT_ADST ] = { DCT , ADST },
1047
+ [ADST_ADST ] = { ADST , ADST },
1048
+ [FLIPADST_DCT ] = { FLIPADST , DCT },
1049
+ [DCT_FLIPADST ] = { DCT , FLIPADST },
1050
+ [FLIPADST_FLIPADST ] = { FLIPADST , FLIPADST },
1051
+ [ADST_FLIPADST ] = { ADST , FLIPADST },
1052
+ [FLIPADST_ADST ] = { FLIPADST , ADST },
1053
+ [IDTX ] = { IDENTITY , IDENTITY },
1054
+ [V_DCT ] = { DCT , IDENTITY },
1055
+ [H_DCT ] = { IDENTITY , DCT },
1056
+ [V_ADST ] = { ADST , IDENTITY },
1057
+ [H_ADST ] = { IDENTITY , ADST },
1058
+ [V_FLIPADST ] = { FLIPADST , IDENTITY },
1059
+ [H_FLIPADST ] = { IDENTITY , FLIPADST },
1060
+ };
1061
+
1019
1062
#if !(HAVE_ASM && TRIM_DSP_FUNCTIONS && ( \
1020
1063
ARCH_AARCH64 || \
1021
1064
(ARCH_ARM && (defined(__ARM_NEON ) || defined(__APPLE__ ) || defined(_WIN32 ))) \
0 commit comments