Coverage Report

Created: 2026-08-31 06:22

next uncovered line (L), next uncovered region (R), next uncovered branch (B)
/work/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
#include "fallback-intrapred.h"
25
#include "fallback-deblk.h"
26
27
28
void init_acceleration_functions_fallback(struct acceleration_functions* accel)
29
61.3k
{
30
61.3k
  accel->put_weighted_pred_avg_8 = put_weighted_pred_avg_8_fallback;
31
61.3k
  accel->put_unweighted_pred_8   = put_unweighted_pred_8_fallback;
32
61.3k
  accel->put_weighted_pred_8 = put_weighted_pred_8_fallback;
33
61.3k
  accel->put_weighted_bipred_8 = put_weighted_bipred_8_fallback;
34
35
61.3k
  accel->put_weighted_pred_avg_16 = put_weighted_pred_avg_16_fallback;
36
61.3k
  accel->put_unweighted_pred_16   = put_unweighted_pred_16_fallback;
37
61.3k
  accel->put_weighted_pred_16 = put_weighted_pred_16_fallback;
38
61.3k
  accel->put_weighted_bipred_16 = put_weighted_bipred_16_fallback;
39
40
41
61.3k
  accel->put_hevc_epel_8    = put_epel_8_fallback;
42
61.3k
  accel->put_hevc_epel_h_8  = put_epel_hv_fallback<uint8_t>;
43
61.3k
  accel->put_hevc_epel_v_8  = put_epel_hv_fallback<uint8_t>;
44
61.3k
  accel->put_hevc_epel_hv_8 = put_epel_hv_fallback<uint8_t>;
45
46
61.3k
  accel->put_hevc_qpel_8[0][0] = put_qpel_0_0_fallback;
47
61.3k
  accel->put_hevc_qpel_8[0][1] = put_qpel_0_1_fallback;
48
61.3k
  accel->put_hevc_qpel_8[0][2] = put_qpel_0_2_fallback;
49
61.3k
  accel->put_hevc_qpel_8[0][3] = put_qpel_0_3_fallback;
50
61.3k
  accel->put_hevc_qpel_8[1][0] = put_qpel_1_0_fallback;
51
61.3k
  accel->put_hevc_qpel_8[1][1] = put_qpel_1_1_fallback;
52
61.3k
  accel->put_hevc_qpel_8[1][2] = put_qpel_1_2_fallback;
53
61.3k
  accel->put_hevc_qpel_8[1][3] = put_qpel_1_3_fallback;
54
61.3k
  accel->put_hevc_qpel_8[2][0] = put_qpel_2_0_fallback;
55
61.3k
  accel->put_hevc_qpel_8[2][1] = put_qpel_2_1_fallback;
56
61.3k
  accel->put_hevc_qpel_8[2][2] = put_qpel_2_2_fallback;
57
61.3k
  accel->put_hevc_qpel_8[2][3] = put_qpel_2_3_fallback;
58
61.3k
  accel->put_hevc_qpel_8[3][0] = put_qpel_3_0_fallback;
59
61.3k
  accel->put_hevc_qpel_8[3][1] = put_qpel_3_1_fallback;
60
61.3k
  accel->put_hevc_qpel_8[3][2] = put_qpel_3_2_fallback;
61
61.3k
  accel->put_hevc_qpel_8[3][3] = put_qpel_3_3_fallback;
62
63
61.3k
  accel->put_hevc_epel_16    = put_epel_16_fallback;
64
61.3k
  accel->put_hevc_epel_h_16  = put_epel_hv_fallback<uint16_t>;
65
61.3k
  accel->put_hevc_epel_v_16  = put_epel_hv_fallback<uint16_t>;
66
61.3k
  accel->put_hevc_epel_hv_16 = put_epel_hv_fallback<uint16_t>;
67
68
61.3k
  accel->put_hevc_qpel_16[0][0] = put_qpel_0_0_fallback_16;
69
61.3k
  accel->put_hevc_qpel_16[0][1] = put_qpel_0_1_fallback_16;
70
61.3k
  accel->put_hevc_qpel_16[0][2] = put_qpel_0_2_fallback_16;
71
61.3k
  accel->put_hevc_qpel_16[0][3] = put_qpel_0_3_fallback_16;
72
61.3k
  accel->put_hevc_qpel_16[1][0] = put_qpel_1_0_fallback_16;
73
61.3k
  accel->put_hevc_qpel_16[1][1] = put_qpel_1_1_fallback_16;
74
61.3k
  accel->put_hevc_qpel_16[1][2] = put_qpel_1_2_fallback_16;
75
61.3k
  accel->put_hevc_qpel_16[1][3] = put_qpel_1_3_fallback_16;
76
61.3k
  accel->put_hevc_qpel_16[2][0] = put_qpel_2_0_fallback_16;
77
61.3k
  accel->put_hevc_qpel_16[2][1] = put_qpel_2_1_fallback_16;
78
61.3k
  accel->put_hevc_qpel_16[2][2] = put_qpel_2_2_fallback_16;
79
61.3k
  accel->put_hevc_qpel_16[2][3] = put_qpel_2_3_fallback_16;
80
61.3k
  accel->put_hevc_qpel_16[3][0] = put_qpel_3_0_fallback_16;
81
61.3k
  accel->put_hevc_qpel_16[3][1] = put_qpel_3_1_fallback_16;
82
61.3k
  accel->put_hevc_qpel_16[3][2] = put_qpel_3_2_fallback_16;
83
61.3k
  accel->put_hevc_qpel_16[3][3] = put_qpel_3_3_fallback_16;
84
85
86
87
61.3k
  accel->transform_skip_8 = transform_skip_8_fallback;
88
61.3k
  accel->transform_skip_rdpcm_h_8 = transform_skip_rdpcm_h_8_fallback;
89
61.3k
  accel->transform_skip_rdpcm_v_8 = transform_skip_rdpcm_v_8_fallback;
90
61.3k
  accel->transform_bypass = transform_bypass_fallback;
91
61.3k
  accel->transform_bypass_rdpcm_h = transform_bypass_rdpcm_h_fallback;
92
61.3k
  accel->transform_bypass_rdpcm_v = transform_bypass_rdpcm_v_fallback;
93
61.3k
  accel->transform_4x4_dst_add_8 = transform_4x4_luma_add_8_fallback;
94
61.3k
  accel->transform_add_8[0] = transform_4x4_add_8_fallback;
95
61.3k
  accel->transform_add_8[1] = transform_8x8_add_8_fallback;
96
61.3k
  accel->transform_add_8[2] = transform_16x16_add_8_fallback;
97
61.3k
  accel->transform_add_8[3] = transform_32x32_add_8_fallback;
98
99
61.3k
  accel->transform_skip_16 = transform_skip_16_fallback;
100
61.3k
  accel->transform_4x4_dst_add_16 = transform_4x4_luma_add_16_fallback;
101
61.3k
  accel->transform_add_16[0] = transform_4x4_add_16_fallback;
102
61.3k
  accel->transform_add_16[1] = transform_8x8_add_16_fallback;
103
61.3k
  accel->transform_add_16[2] = transform_16x16_add_16_fallback;
104
61.3k
  accel->transform_add_16[3] = transform_32x32_add_16_fallback;
105
106
61.3k
  accel->rotate_coefficients = rotate_coefficients_fallback;
107
61.3k
  accel->add_residual_8  = add_residual_fallback<uint8_t>;
108
61.3k
  accel->add_residual_16 = add_residual_fallback<uint16_t>;
109
61.3k
  accel->dequant_coeff_block = dequant_coeff_block_fallback;
110
61.3k
  accel->rdpcm_h = rdpcm_h_fallback;
111
61.3k
  accel->rdpcm_v = rdpcm_v_fallback;
112
61.3k
  accel->transform_skip_residual = transform_skip_residual_fallback;
113
114
61.3k
  accel->transform_idst_4x4   = transform_idst_4x4_fallback;
115
61.3k
  accel->transform_idct_4x4   = transform_idct_4x4_fallback;
116
61.3k
  accel->transform_idct_8x8   = transform_idct_8x8_fallback;
117
61.3k
  accel->transform_idct_16x16 = transform_idct_16x16_fallback;
118
61.3k
  accel->transform_idct_32x32 = transform_idct_32x32_fallback;
119
120
61.3k
  accel->fwd_transform_4x4_dst_8 = fdst_4x4_8_fallback;
121
61.3k
  accel->fwd_transform_8[0] = fdct_4x4_8_fallback;
122
61.3k
  accel->fwd_transform_8[1] = fdct_8x8_8_fallback;
123
61.3k
  accel->fwd_transform_8[2] = fdct_16x16_8_fallback;
124
61.3k
  accel->fwd_transform_8[3] = fdct_32x32_8_fallback;
125
126
61.3k
  accel->hadamard_transform_8[0] = hadamard_4x4_8_fallback;
127
61.3k
  accel->hadamard_transform_8[1] = hadamard_8x8_8_fallback;
128
61.3k
  accel->hadamard_transform_8[2] = hadamard_16x16_8_fallback;
129
61.3k
  accel->hadamard_transform_8[3] = hadamard_32x32_8_fallback;
130
131
61.3k
  accel->intra_pred_dc_8  = intra_pred_dc_fallback<uint8_t>;
132
61.3k
  accel->intra_pred_dc_16 = intra_pred_dc_fallback<uint16_t>;
133
61.3k
  accel->intra_pred_planar_8  = intra_pred_planar_fallback<uint8_t>;
134
61.3k
  accel->intra_pred_planar_16 = intra_pred_planar_fallback<uint16_t>;
135
61.3k
  accel->intra_pred_angular_8  = intra_pred_angular_fallback<uint8_t>;
136
61.3k
  accel->intra_pred_angular_16 = intra_pred_angular_fallback<uint16_t>;
137
138
61.3k
  accel->deblock_luma_8   = deblock_luma_8_fallback;
139
61.3k
  accel->deblock_chroma_8 = deblock_chroma_8_fallback;
140
61.3k
}