태그 : IPP
- Y'= 0.299*R' + 0.587*G' + 0.114*B'
- U'= -0.147*R' - 0.289*G' + 0.436*B' = 0.492*(B'- Y')
- V'= 0.615*R' - 0.515*G' - 0.100*B' = 0.877*(R'- Y')
- R' = Y' + 1.140*V'
- G' = Y' - 0.394*U' - 0.581*V'
- B' = Y' + 2.032*U'
void YUV420toRGB565(unsigned char *rgb565, unsigned char *y, unsigned char *u, unsigned char *v, size_t width, size_t height)
{
IppStatus ipp_status;
Ipp8u *yuv[3] = { y, u, v };
int steps[3] = { width, width/2, width/2 }; // UV는 1/2로 다운 샘플링 됨
IppiSize size = { x, y };
ipp_status = ippiYUV420ToRGB565_8u16u_P3C3R(srcs, steps, rgb565, 2*x, size);
if ( ipp_status != 0 ) {
fprintf(stderr, "[%s] IPP Error: %d\n", __func__, ipp_status);
}
}# by | 2007/07/19 22:53 | 개발 :: 회사 | 트랙백 | 덧글(0)
◀ 이전 페이지 다음 페이지 ▶