DeckLink 필터그래프

학술 2010. 11. 8. 16:36 Posted by 양고


YUV4:2:2 --> RGB conversion.
 for(int y = 0; y < 1080; y += 2) // discard the odd line
 for(int x = 0; x < 3840; x += 4) // 4byte 두 픽셀마다 -> 4byte 한 픽셀로
 {
  U0 = pbFrame[y*3840 + x + 0];
  Y0 = pbFrame[y*3840 + x + 1];
  V0 = pbFrame[y*3840 + x + 2];
  Y1 = pbFrame[y*3840 + x + 3];
  Y = (Y0+Y1)/2;
  frame[(1080-y)*1920 + x + 0] = min(Y + 1.772*(U0-128), 255);     // B
  frame[(1080-y)*1920 + x + 1] = min(Y - 0.344*(U0-128) - 0.714*(V0-128), 255); // G
  frame[(1080-y)*1920 + x + 2] = min(Y + 1.402*(V0-128), 255);     // R
 }
문제는 심각한 연산 시간 (45ms) ㅠㅠ