| @@ -1034,6 +1034,7 @@ static inline void RENAME(rgb16to32)(const uint8_t *src, uint8_t *dst, int src_s | |||||
| } | } | ||||
| } | } | ||||
| #if COMPILE_TEMPLATE_MMXEXT | |||||
| static inline void RENAME(shuffle_bytes_2103)(const uint8_t *src, uint8_t *dst, int src_size) | static inline void RENAME(shuffle_bytes_2103)(const uint8_t *src, uint8_t *dst, int src_size) | ||||
| { | { | ||||
| x86_reg idx = 15 - src_size; | x86_reg idx = 15 - src_size; | ||||
| @@ -1052,7 +1053,6 @@ static inline void RENAME(shuffle_bytes_2103)(const uint8_t *src, uint8_t *dst, | |||||
| PREFETCH" 32(%1, %0) \n\t" | PREFETCH" 32(%1, %0) \n\t" | ||||
| "movq (%1, %0), %%mm0 \n\t" | "movq (%1, %0), %%mm0 \n\t" | ||||
| "movq 8(%1, %0), %%mm1 \n\t" | "movq 8(%1, %0), %%mm1 \n\t" | ||||
| # if COMPILE_TEMPLATE_MMXEXT | |||||
| "pshufw $177, %%mm0, %%mm3 \n\t" | "pshufw $177, %%mm0, %%mm3 \n\t" | ||||
| "pshufw $177, %%mm1, %%mm5 \n\t" | "pshufw $177, %%mm1, %%mm5 \n\t" | ||||
| "pand %%mm7, %%mm0 \n\t" | "pand %%mm7, %%mm0 \n\t" | ||||
| @@ -1061,24 +1061,6 @@ static inline void RENAME(shuffle_bytes_2103)(const uint8_t *src, uint8_t *dst, | |||||
| "pand %%mm6, %%mm5 \n\t" | "pand %%mm6, %%mm5 \n\t" | ||||
| "por %%mm3, %%mm0 \n\t" | "por %%mm3, %%mm0 \n\t" | ||||
| "por %%mm5, %%mm1 \n\t" | "por %%mm5, %%mm1 \n\t" | ||||
| # else | |||||
| "movq %%mm0, %%mm2 \n\t" | |||||
| "movq %%mm1, %%mm4 \n\t" | |||||
| "pand %%mm7, %%mm0 \n\t" | |||||
| "pand %%mm6, %%mm2 \n\t" | |||||
| "pand %%mm7, %%mm1 \n\t" | |||||
| "pand %%mm6, %%mm4 \n\t" | |||||
| "movq %%mm2, %%mm3 \n\t" | |||||
| "movq %%mm4, %%mm5 \n\t" | |||||
| "pslld $16, %%mm2 \n\t" | |||||
| "psrld $16, %%mm3 \n\t" | |||||
| "pslld $16, %%mm4 \n\t" | |||||
| "psrld $16, %%mm5 \n\t" | |||||
| "por %%mm2, %%mm0 \n\t" | |||||
| "por %%mm4, %%mm1 \n\t" | |||||
| "por %%mm3, %%mm0 \n\t" | |||||
| "por %%mm5, %%mm1 \n\t" | |||||
| # endif | |||||
| MOVNTQ" %%mm0, (%2, %0) \n\t" | MOVNTQ" %%mm0, (%2, %0) \n\t" | ||||
| MOVNTQ" %%mm1, 8(%2, %0) \n\t" | MOVNTQ" %%mm1, 8(%2, %0) \n\t" | ||||
| "add $16, %0 \n\t" | "add $16, %0 \n\t" | ||||
| @@ -1095,6 +1077,7 @@ static inline void RENAME(shuffle_bytes_2103)(const uint8_t *src, uint8_t *dst, | |||||
| *(uint32_t *)&d[idx] = (v>>16) + g + (v<<16); | *(uint32_t *)&d[idx] = (v>>16) + g + (v<<16); | ||||
| } | } | ||||
| } | } | ||||
| #endif | |||||
| static inline void RENAME(rgb24tobgr24)(const uint8_t *src, uint8_t *dst, int src_size) | static inline void RENAME(rgb24tobgr24)(const uint8_t *src, uint8_t *dst, int src_size) | ||||
| { | { | ||||
| @@ -2572,7 +2555,9 @@ static av_cold void RENAME(rgb2rgb_init)(void) | |||||
| rgb24to15 = RENAME(rgb24to15); | rgb24to15 = RENAME(rgb24to15); | ||||
| rgb24to16 = RENAME(rgb24to16); | rgb24to16 = RENAME(rgb24to16); | ||||
| rgb24tobgr24 = RENAME(rgb24tobgr24); | rgb24tobgr24 = RENAME(rgb24tobgr24); | ||||
| #if COMPILE_TEMPLATE_MMXEXT | |||||
| shuffle_bytes_2103 = RENAME(shuffle_bytes_2103); | shuffle_bytes_2103 = RENAME(shuffle_bytes_2103); | ||||
| #endif | |||||
| rgb32tobgr16 = RENAME(rgb32tobgr16); | rgb32tobgr16 = RENAME(rgb32tobgr16); | ||||
| rgb32tobgr15 = RENAME(rgb32tobgr15); | rgb32tobgr15 = RENAME(rgb32tobgr15); | ||||
| yv12toyuy2 = RENAME(yv12toyuy2); | yv12toyuy2 = RENAME(yv12toyuy2); | ||||