Coverage Report

Created: 2025-07-01 06:46

/src/FreeRDP/libfreerdp/primitives/prim_YUV.h
Line
Count
Source (jump to first uncovered line)
1
/**
2
 * FreeRDP: A Remote Desktop Protocol Implementation
3
 * Primitives copy
4
 *
5
 * Copyright 2024 Armin Novak <anovak@thincast.com>
6
 * Copyright 2024 Thincast Technologies GmbH
7
 *
8
 * Licensed under the Apache License, Version 2.0 (the "License");
9
 * you may not use this file except in compliance with the License.
10
 * You may obtain a copy of the License at
11
 *
12
 *     http://www.apache.org/licenses/LICENSE-2.0
13
 *
14
 * Unless required by applicable law or agreed to in writing, software
15
 * distributed under the License is distributed on an "AS IS" BASIS,
16
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
17
 * See the License for the specific language governing permissions and
18
 * limitations under the License.
19
 */
20
21
#ifndef FREERDP_LIB_PRIM_YUV_H
22
#define FREERDP_LIB_PRIM_YUV_H
23
24
#include <winpr/wtypes.h>
25
#include <winpr/sysinfo.h>
26
27
#include <freerdp/config.h>
28
#include <freerdp/primitives.h>
29
30
#include "prim_internal.h"
31
32
FREERDP_LOCAL void primitives_init_YUV_sse41_int(primitives_t* WINPR_RESTRICT prims);
33
static inline void primitives_init_YUV_sse41(primitives_t* WINPR_RESTRICT prims)
34
0
{
35
0
  if (!IsProcessorFeaturePresentEx(PF_EX_SSE41) ||
36
0
      !IsProcessorFeaturePresent(PF_SSE4_1_INSTRUCTIONS_AVAILABLE))
37
0
    return;
38
39
0
  primitives_init_YUV_sse41_int(prims);
40
0
}
Unexecuted instantiation: prim_YUV.c:primitives_init_YUV_sse41
Unexecuted instantiation: prim_YUV_neon.c:primitives_init_YUV_sse41
Unexecuted instantiation: prim_YUV_sse4.1.c:primitives_init_YUV_sse41
41
42
FREERDP_LOCAL void primitives_init_YUV_neon_int(primitives_t* WINPR_RESTRICT prims);
43
static inline void primitives_init_YUV_neon(primitives_t* WINPR_RESTRICT prims)
44
0
{
45
0
  if (!IsProcessorFeaturePresent(PF_ARM_NEON_INSTRUCTIONS_AVAILABLE))
46
0
    return;
47
48
0
  primitives_init_YUV_neon_int(prims);
49
0
}
Unexecuted instantiation: prim_YUV.c:primitives_init_YUV_neon
Unexecuted instantiation: prim_YUV_neon.c:primitives_init_YUV_neon
Unexecuted instantiation: prim_YUV_sse4.1.c:primitives_init_YUV_neon
50
51
#endif