diff --git a/libfreerdp/primitives/prim_YUV.c b/libfreerdp/primitives/prim_YUV.c index e3d06bfae..dcdb466d5 100644 --- a/libfreerdp/primitives/prim_YUV.c +++ b/libfreerdp/primitives/prim_YUV.c @@ -616,29 +616,6 @@ static pstatus_t general_YUV420ToRGB_8u_P3AC4R(const BYTE* WINPR_RESTRICT pSrc[3 return PRIMITIVES_SUCCESS; } -/** - * | Y | ( | 54 183 18 | | R | ) | 0 | - * | U | = ( | -29 -99 128 | | G | ) >> 8 + | 128 | - * | V | ( | 128 -116 -12 | | B | ) | 128 | - */ -static INLINE BYTE RGB2Y(INT32 R, INT32 G, INT32 B) -{ - const INT32 val = ((54 * R + 183 * G + 18 * B) >> 8); - return WINPR_ASSERTING_INT_CAST(BYTE, val); -} - -static INLINE BYTE RGB2U(INT32 R, INT32 G, INT32 B) -{ - const INT32 val = (((-29 * R - 99 * G + 128 * B) >> 8) + 128); - return WINPR_ASSERTING_INT_CAST(BYTE, val); -} - -static INLINE BYTE RGB2V(INT32 R, INT32 G, INT32 B) -{ - const INT32 val = (((128 * R - 116 * G - 12 * B) >> 8) + 128); - return WINPR_ASSERTING_INT_CAST(BYTE, val); -} - static void BGRX_fillYUV(size_t offset, const BYTE* WINPR_RESTRICT pRGB[2], BYTE* WINPR_RESTRICT pY[2], BYTE* WINPR_RESTRICT pU[2], BYTE* WINPR_RESTRICT pV[2]) diff --git a/libfreerdp/primitives/prim_internal.h b/libfreerdp/primitives/prim_internal.h index 6cbfa2564..54e184d0c 100644 --- a/libfreerdp/primitives/prim_internal.h +++ b/libfreerdp/primitives/prim_internal.h @@ -286,6 +286,29 @@ static INLINE BYTE YUV2B(INT32 Y, INT32 U, INT32 V) return CLIP(b8); } +/** + * | Y | ( | 54 183 18 | | R | ) | 0 | + * | U | = ( | -29 -99 128 | | G | ) >> 8 + | 128 | + * | V | ( | 128 -116 -12 | | B | ) | 128 | + */ +static INLINE BYTE RGB2Y(INT32 R, INT32 G, INT32 B) +{ + const INT32 val = ((54 * R + 183 * G + 18 * B) >> 8); + return WINPR_ASSERTING_INT_CAST(BYTE, val); +} + +static INLINE BYTE RGB2U(INT32 R, INT32 G, INT32 B) +{ + const INT32 val = (((-29 * R - 99 * G + 128 * B) >> 8) + 128); + return WINPR_ASSERTING_INT_CAST(BYTE, val); +} + +static INLINE BYTE RGB2V(INT32 R, INT32 G, INT32 B) +{ + const INT32 val = (((128 * R - 116 * G - 12 * B) >> 8) + 128); + return WINPR_ASSERTING_INT_CAST(BYTE, val); +} + /* Function prototypes for all the init/deinit routines. */ FREERDP_LOCAL void primitives_init_copy(primitives_t* WINPR_RESTRICT prims); FREERDP_LOCAL void primitives_init_set(primitives_t* WINPR_RESTRICT prims);