void get_conversion(t_prf *env, t_specs *specs) { size_t save; size_t to_copy; save = env->index; if (!(env->format[env->index]) || (!ft_strchr(ALL_MODIFIERS, env->format[env->index]) && !ft_strchr(ALL_FORMATS, env->format[env->index]))) return ; to_copy = 1; while (env->format && env->format[env->index] && !ft_strchr(ALL_FORMATS, env->format[env->index])) { env->index++; to_copy++; } if (to_copy <= PRF_LEN_MAX_CONV) register_conversion(env, specs, to_copy, save); env->index++; }
int ac_imgconvert_init_yuv_planar(int accel) { if (!register_conversion(IMG_YUV420P, IMG_YUV420P, yuv420p_copy) || !register_conversion(IMG_YUV420P, IMG_YUV411P, yuv420p_yuv411p) || !register_conversion(IMG_YUV420P, IMG_YUV422P, yuv420p_yuv422p) || !register_conversion(IMG_YUV420P, IMG_YUV444P, yuv420p_yuv444p) || !register_conversion(IMG_YUV420P, IMG_Y8, yuvp_y8) || !register_conversion(IMG_YUV411P, IMG_YUV420P, yuv411p_yuv420p) || !register_conversion(IMG_YUV411P, IMG_YUV411P, yuv411p_copy) || !register_conversion(IMG_YUV411P, IMG_YUV422P, yuv411p_yuv422p) || !register_conversion(IMG_YUV411P, IMG_YUV444P, yuv411p_yuv444p) || !register_conversion(IMG_YUV411P, IMG_Y8, yuvp_y8) || !register_conversion(IMG_YUV422P, IMG_YUV420P, yuv422p_yuv420p) || !register_conversion(IMG_YUV422P, IMG_YUV411P, yuv422p_yuv411p) || !register_conversion(IMG_YUV422P, IMG_YUV422P, yuv422p_copy) || !register_conversion(IMG_YUV422P, IMG_YUV444P, yuv422p_yuv444p) || !register_conversion(IMG_YUV422P, IMG_Y8, yuvp_y8) || !register_conversion(IMG_YUV444P, IMG_YUV420P, yuv444p_yuv420p) || !register_conversion(IMG_YUV444P, IMG_YUV411P, yuv444p_yuv411p) || !register_conversion(IMG_YUV444P, IMG_YUV422P, yuv444p_yuv422p) || !register_conversion(IMG_YUV444P, IMG_YUV444P, yuv444p_copy) || !register_conversion(IMG_YUV444P, IMG_Y8, yuvp_y8) || !register_conversion(IMG_Y8, IMG_YUV420P, y8_yuv420p) || !register_conversion(IMG_Y8, IMG_YUV411P, y8_yuv411p) || !register_conversion(IMG_Y8, IMG_YUV422P, y8_yuv422p) || !register_conversion(IMG_Y8, IMG_YUV444P, y8_yuv444p) || !register_conversion(IMG_Y8, IMG_Y8, y8_copy) ) { return 0; } #if defined(HAVE_ASM_SSE2) if (accel & AC_SSE2) { if (!register_conversion(IMG_YUV420P, IMG_YUV411P, yuv420p_yuv411p_sse2) || !register_conversion(IMG_YUV420P, IMG_YUV444P, yuv420p_yuv444p_sse2) || !register_conversion(IMG_YUV411P, IMG_YUV420P, yuv411p_yuv420p_sse2) || !register_conversion(IMG_YUV411P, IMG_YUV422P, yuv411p_yuv422p_sse2) || !register_conversion(IMG_YUV411P, IMG_YUV444P, yuv411p_yuv444p_sse2) || !register_conversion(IMG_YUV422P, IMG_YUV420P, yuv422p_yuv420p_sse2) || !register_conversion(IMG_YUV422P, IMG_YUV411P, yuv422p_yuv411p_sse2) || !register_conversion(IMG_YUV422P, IMG_YUV444P, yuv422p_yuv444p_sse2) || !register_conversion(IMG_YUV444P, IMG_YUV420P, yuv444p_yuv420p_sse2) || !register_conversion(IMG_YUV444P, IMG_YUV411P, yuv444p_yuv411p_sse2) || !register_conversion(IMG_YUV444P, IMG_YUV422P, yuv444p_yuv422p_sse2) ) { return 0; } } #endif /* ARCH_X86 || ARCH_X86_64 */ return 1; }