From e755b13e6076689142f24f24c7bfc45d0df41e91 Mon Sep 17 00:00:00 2001 From: Georg Holzmann Date: Sat, 18 Jun 2005 06:29:30 +0000 Subject: added YUV and Gray support svn path=/trunk/externals/gem2pdp/; revision=3204 --- pix_2pdp.cpp | 116 ++++++++++++++++++++++++++++++++++++++++------------------- 1 file changed, 80 insertions(+), 36 deletions(-) diff --git a/pix_2pdp.cpp b/pix_2pdp.cpp index 2fb8903..34d0a12 100755 --- a/pix_2pdp.cpp +++ b/pix_2pdp.cpp @@ -44,51 +44,95 @@ void pix_2pdp::bangMess() { t_int psize, px, py; short int *pY, *pU, *pV; - unsigned char r,g,b; + unsigned char g1,g2,g3,g4; t_int helper; if(gem_image) { - if(gem_format == GL_RGBA) - { - // make pdp packet - psize = gem_xsize * gem_ysize; - m_packet0 = pdp_packet_new_image_YCrCb( gem_xsize, gem_ysize); - m_header = pdp_packet_header(m_packet0); - m_data = (short int *)pdp_packet_data(m_packet0); + // make pdp packet + psize = gem_xsize * gem_ysize; + m_packet0 = pdp_packet_new_image_YCrCb( gem_xsize, gem_ysize); + m_header = pdp_packet_header(m_packet0); + m_data = (short int *)pdp_packet_data(m_packet0); - pY = m_data; - pV = m_data+psize; - pU = m_data+psize+(psize>>2); - - for ( py=0; py>2); + + switch(gem_format) + { + // RGB + case GL_RGB: + case GL_RGBA: + for ( py=0; py