/src/libde265/libde265/fallback.cc
Line | Count | Source |
1 | | /* |
2 | | * H.265 video codec. |
3 | | * Copyright (c) 2013-2014 struktur AG, Dirk Farin <farin@struktur.de> |
4 | | * |
5 | | * This file is part of libde265. |
6 | | * |
7 | | * libde265 is free software: you can redistribute it and/or modify |
8 | | * it under the terms of the GNU Lesser General Public License as |
9 | | * published by the Free Software Foundation, either version 3 of |
10 | | * the License, or (at your option) any later version. |
11 | | * |
12 | | * libde265 is distributed in the hope that it will be useful, |
13 | | * but WITHOUT ANY WARRANTY; without even the implied warranty of |
14 | | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
15 | | * GNU Lesser General Public License for more details. |
16 | | * |
17 | | * You should have received a copy of the GNU Lesser General Public License |
18 | | * along with libde265. If not, see <http://www.gnu.org/licenses/>. |
19 | | */ |
20 | | |
21 | | #include "fallback.h" |
22 | | #include "fallback-motion.h" |
23 | | #include "fallback-dct.h" |
24 | | |
25 | | |
26 | | void init_acceleration_functions_fallback(struct acceleration_functions* accel) |
27 | 3.40k | { |
28 | 3.40k | accel->put_weighted_pred_avg_8 = put_weighted_pred_avg_8_fallback; |
29 | 3.40k | accel->put_unweighted_pred_8 = put_unweighted_pred_8_fallback; |
30 | 3.40k | accel->put_weighted_pred_8 = put_weighted_pred_8_fallback; |
31 | 3.40k | accel->put_weighted_bipred_8 = put_weighted_bipred_8_fallback; |
32 | | |
33 | 3.40k | accel->put_weighted_pred_avg_16 = put_weighted_pred_avg_16_fallback; |
34 | 3.40k | accel->put_unweighted_pred_16 = put_unweighted_pred_16_fallback; |
35 | 3.40k | accel->put_weighted_pred_16 = put_weighted_pred_16_fallback; |
36 | 3.40k | accel->put_weighted_bipred_16 = put_weighted_bipred_16_fallback; |
37 | | |
38 | | |
39 | 3.40k | accel->put_hevc_epel_8 = put_epel_8_fallback; |
40 | 3.40k | accel->put_hevc_epel_h_8 = put_epel_hv_fallback<uint8_t>; |
41 | 3.40k | accel->put_hevc_epel_v_8 = put_epel_hv_fallback<uint8_t>; |
42 | 3.40k | accel->put_hevc_epel_hv_8 = put_epel_hv_fallback<uint8_t>; |
43 | | |
44 | 3.40k | accel->put_hevc_qpel_8[0][0] = put_qpel_0_0_fallback; |
45 | 3.40k | accel->put_hevc_qpel_8[0][1] = put_qpel_0_1_fallback; |
46 | 3.40k | accel->put_hevc_qpel_8[0][2] = put_qpel_0_2_fallback; |
47 | 3.40k | accel->put_hevc_qpel_8[0][3] = put_qpel_0_3_fallback; |
48 | 3.40k | accel->put_hevc_qpel_8[1][0] = put_qpel_1_0_fallback; |
49 | 3.40k | accel->put_hevc_qpel_8[1][1] = put_qpel_1_1_fallback; |
50 | 3.40k | accel->put_hevc_qpel_8[1][2] = put_qpel_1_2_fallback; |
51 | 3.40k | accel->put_hevc_qpel_8[1][3] = put_qpel_1_3_fallback; |
52 | 3.40k | accel->put_hevc_qpel_8[2][0] = put_qpel_2_0_fallback; |
53 | 3.40k | accel->put_hevc_qpel_8[2][1] = put_qpel_2_1_fallback; |
54 | 3.40k | accel->put_hevc_qpel_8[2][2] = put_qpel_2_2_fallback; |
55 | 3.40k | accel->put_hevc_qpel_8[2][3] = put_qpel_2_3_fallback; |
56 | 3.40k | accel->put_hevc_qpel_8[3][0] = put_qpel_3_0_fallback; |
57 | 3.40k | accel->put_hevc_qpel_8[3][1] = put_qpel_3_1_fallback; |
58 | 3.40k | accel->put_hevc_qpel_8[3][2] = put_qpel_3_2_fallback; |
59 | 3.40k | accel->put_hevc_qpel_8[3][3] = put_qpel_3_3_fallback; |
60 | | |
61 | 3.40k | accel->put_hevc_epel_16 = put_epel_16_fallback; |
62 | 3.40k | accel->put_hevc_epel_h_16 = put_epel_hv_fallback<uint16_t>; |
63 | 3.40k | accel->put_hevc_epel_v_16 = put_epel_hv_fallback<uint16_t>; |
64 | 3.40k | accel->put_hevc_epel_hv_16 = put_epel_hv_fallback<uint16_t>; |
65 | | |
66 | 3.40k | accel->put_hevc_qpel_16[0][0] = put_qpel_0_0_fallback_16; |
67 | 3.40k | accel->put_hevc_qpel_16[0][1] = put_qpel_0_1_fallback_16; |
68 | 3.40k | accel->put_hevc_qpel_16[0][2] = put_qpel_0_2_fallback_16; |
69 | 3.40k | accel->put_hevc_qpel_16[0][3] = put_qpel_0_3_fallback_16; |
70 | 3.40k | accel->put_hevc_qpel_16[1][0] = put_qpel_1_0_fallback_16; |
71 | 3.40k | accel->put_hevc_qpel_16[1][1] = put_qpel_1_1_fallback_16; |
72 | 3.40k | accel->put_hevc_qpel_16[1][2] = put_qpel_1_2_fallback_16; |
73 | 3.40k | accel->put_hevc_qpel_16[1][3] = put_qpel_1_3_fallback_16; |
74 | 3.40k | accel->put_hevc_qpel_16[2][0] = put_qpel_2_0_fallback_16; |
75 | 3.40k | accel->put_hevc_qpel_16[2][1] = put_qpel_2_1_fallback_16; |
76 | 3.40k | accel->put_hevc_qpel_16[2][2] = put_qpel_2_2_fallback_16; |
77 | 3.40k | accel->put_hevc_qpel_16[2][3] = put_qpel_2_3_fallback_16; |
78 | 3.40k | accel->put_hevc_qpel_16[3][0] = put_qpel_3_0_fallback_16; |
79 | 3.40k | accel->put_hevc_qpel_16[3][1] = put_qpel_3_1_fallback_16; |
80 | 3.40k | accel->put_hevc_qpel_16[3][2] = put_qpel_3_2_fallback_16; |
81 | 3.40k | accel->put_hevc_qpel_16[3][3] = put_qpel_3_3_fallback_16; |
82 | | |
83 | | |
84 | | |
85 | 3.40k | accel->transform_skip_8 = transform_skip_8_fallback; |
86 | 3.40k | accel->transform_skip_rdpcm_h_8 = transform_skip_rdpcm_h_8_fallback; |
87 | 3.40k | accel->transform_skip_rdpcm_v_8 = transform_skip_rdpcm_v_8_fallback; |
88 | 3.40k | accel->transform_bypass = transform_bypass_fallback; |
89 | 3.40k | accel->transform_bypass_rdpcm_h = transform_bypass_rdpcm_h_fallback; |
90 | 3.40k | accel->transform_bypass_rdpcm_v = transform_bypass_rdpcm_v_fallback; |
91 | 3.40k | accel->transform_4x4_dst_add_8 = transform_4x4_luma_add_8_fallback; |
92 | 3.40k | accel->transform_add_8[0] = transform_4x4_add_8_fallback; |
93 | 3.40k | accel->transform_add_8[1] = transform_8x8_add_8_fallback; |
94 | 3.40k | accel->transform_add_8[2] = transform_16x16_add_8_fallback; |
95 | 3.40k | accel->transform_add_8[3] = transform_32x32_add_8_fallback; |
96 | | |
97 | 3.40k | accel->transform_skip_16 = transform_skip_16_fallback; |
98 | 3.40k | accel->transform_4x4_dst_add_16 = transform_4x4_luma_add_16_fallback; |
99 | 3.40k | accel->transform_add_16[0] = transform_4x4_add_16_fallback; |
100 | 3.40k | accel->transform_add_16[1] = transform_8x8_add_16_fallback; |
101 | 3.40k | accel->transform_add_16[2] = transform_16x16_add_16_fallback; |
102 | 3.40k | accel->transform_add_16[3] = transform_32x32_add_16_fallback; |
103 | | |
104 | 3.40k | accel->rotate_coefficients = rotate_coefficients_fallback; |
105 | 3.40k | accel->add_residual_8 = add_residual_fallback<uint8_t>; |
106 | 3.40k | accel->add_residual_16 = add_residual_fallback<uint16_t>; |
107 | 3.40k | accel->rdpcm_h = rdpcm_h_fallback; |
108 | 3.40k | accel->rdpcm_v = rdpcm_v_fallback; |
109 | 3.40k | accel->transform_skip_residual = transform_skip_residual_fallback; |
110 | | |
111 | 3.40k | accel->transform_idst_4x4 = transform_idst_4x4_fallback; |
112 | 3.40k | accel->transform_idct_4x4 = transform_idct_4x4_fallback; |
113 | 3.40k | accel->transform_idct_8x8 = transform_idct_8x8_fallback; |
114 | 3.40k | accel->transform_idct_16x16 = transform_idct_16x16_fallback; |
115 | 3.40k | accel->transform_idct_32x32 = transform_idct_32x32_fallback; |
116 | | |
117 | 3.40k | accel->fwd_transform_4x4_dst_8 = fdst_4x4_8_fallback; |
118 | 3.40k | accel->fwd_transform_8[0] = fdct_4x4_8_fallback; |
119 | 3.40k | accel->fwd_transform_8[1] = fdct_8x8_8_fallback; |
120 | 3.40k | accel->fwd_transform_8[2] = fdct_16x16_8_fallback; |
121 | 3.40k | accel->fwd_transform_8[3] = fdct_32x32_8_fallback; |
122 | | |
123 | 3.40k | accel->hadamard_transform_8[0] = hadamard_4x4_8_fallback; |
124 | 3.40k | accel->hadamard_transform_8[1] = hadamard_8x8_8_fallback; |
125 | 3.40k | accel->hadamard_transform_8[2] = hadamard_16x16_8_fallback; |
126 | 3.40k | accel->hadamard_transform_8[3] = hadamard_32x32_8_fallback; |
127 | 3.40k | } |