21#ifndef FREERDP_LIB_PRIM_YCoCg_H
22#define FREERDP_LIB_PRIM_YCoCg_H
24#include <winpr/wtypes.h>
25#include <winpr/sysinfo.h>
27#include <freerdp/config.h>
28#include <freerdp/primitives.h>
30#include "prim_internal.h"
32FREERDP_LOCAL
void primitives_init_YCoCg_ssse3_int(
primitives_t* WINPR_RESTRICT prims);
34static inline void primitives_init_YCoCg_ssse3(
primitives_t* WINPR_RESTRICT prims)
36 if (!IsProcessorFeaturePresentEx(PF_EX_SSSE3) ||
37 !IsProcessorFeaturePresent(PF_SSE2_INSTRUCTIONS_AVAILABLE) ||
38 !IsProcessorFeaturePresent(PF_SSE3_INSTRUCTIONS_AVAILABLE))
41 primitives_init_YCoCg_ssse3_int(prims);
44FREERDP_LOCAL
void primitives_init_YCoCg_neon_int(
primitives_t* WINPR_RESTRICT prims);
46static inline void primitives_init_YCoCg_neon(
primitives_t* WINPR_RESTRICT prims)
48 if (!IsProcessorFeaturePresent(PF_ARM_NEON_INSTRUCTIONS_AVAILABLE))
50 primitives_init_YCoCg_neon_int(prims);