/** * Convert from <n x i32> packed GR_BR to <4n x i8> RGBA AoS */ static LLVMValueRef grbr_to_rgba_aos(struct gallivm_state *gallivm, unsigned n, LLVMValueRef packed, LLVMValueRef i) { LLVMValueRef r, g, b; LLVMValueRef rgba; uyvy_to_yuv_soa(gallivm, n, packed, i, &r, &g, &b); rgba = rgb_to_rgba_aos(gallivm, n, r, g, b); return rgba; }
/** * Convert from <n x i32> packed RG_BG to <4n x i8> RGBA AoS */ static LLVMValueRef rgbg_to_rgba_aos(LLVMBuilderRef builder, unsigned n, LLVMValueRef packed, LLVMValueRef i) { LLVMValueRef r, g, b; LLVMValueRef rgba; uyvy_to_yuv_soa(builder, n, packed, i, &g, &r, &b); rgba = rgb_to_rgba_aos(builder, n, r, g, b); return rgba; }