FreeRDP
Loading...
Searching...
No Matches
prim_YCoCg.h
1
21#ifndef FREERDP_LIB_PRIM_YCoCg_H
22#define FREERDP_LIB_PRIM_YCoCg_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
32FREERDP_LOCAL void primitives_init_YCoCg_ssse3_int(primitives_t* WINPR_RESTRICT prims);
33static inline void primitives_init_YCoCg_ssse3(primitives_t* WINPR_RESTRICT prims)
34{
35 if (!IsProcessorFeaturePresentEx(PF_EX_SSSE3) ||
36 !IsProcessorFeaturePresent(PF_SSE2_INSTRUCTIONS_AVAILABLE) ||
37 !IsProcessorFeaturePresent(PF_SSE3_INSTRUCTIONS_AVAILABLE))
38 return;
39
40 primitives_init_YCoCg_ssse3_int(prims);
41}
42
43FREERDP_LOCAL void primitives_init_YCoCg_neon_int(primitives_t* WINPR_RESTRICT prims);
44static inline void primitives_init_YCoCg_neon(primitives_t* WINPR_RESTRICT prims)
45{
46 if (!IsProcessorFeaturePresent(PF_ARM_NEON_INSTRUCTIONS_AVAILABLE))
47 return;
48 primitives_init_YCoCg_neon_int(prims);
49}
50
51#endif