From: Anuradha S. <asu...@us...> - 2007-08-24 16:13:44
|
Update of /cvsroot/dirac/compress/libdirac_decoder In directory sc8-pr-cvs12.sourceforge.net:/tmp/cvs-serv13228/libdirac_decoder Modified Files: dirac_parser.cpp Log Message: All the encoded components now represent signed integer signals i.e. bipolar signals. Index: dirac_parser.cpp =================================================================== RCS file: /cvsroot/dirac/compress/libdirac_decoder/dirac_parser.cpp,v retrieving revision 1.9 retrieving revision 1.10 diff -C2 -d -r1.9 -r1.10 *** dirac_parser.cpp 16 Jul 2007 15:11:52 -0000 1.9 --- dirac_parser.cpp 24 Aug 2007 16:13:38 -0000 1.10 *************** *** 208,211 **** --- 208,212 ---- #if defined HAVE_MMX int last_idx = (xl>>3)<<3; + __m64 tmp = _mm_set_pi16(128, 128, 128, 128); for (int j=0 ; j<yl ;++j) { *************** *** 213,217 **** --- 214,220 ---- { __m64 pic1 = *(__m64 *)&pic_data[j][i]; + pic1 = _mm_add_pi16 (pic1, tmp); __m64 pic2 = *(__m64 *)(&pic_data[j][i+4]); + pic2 = _mm_add_pi16 (pic2, tmp); __m64 *tmp = (__m64 *)&buf[j*xl+i]; *tmp = _mm_packs_pu16 (pic1, pic2); *************** *** 225,241 **** for (int i=last_idx ; i<xl ; i++ ) { ! buf[j*xl+i]=(unsigned char) pic_data[j][i]; }//i }//j return; #else for (int j=0 ; j<yl ;++j) { for (int i=0 ; i<xl ; ++i) { ! buf[j*xl+i]=(unsigned char) pic_data[j][i]; }//i - }//j #endif } --- 228,245 ---- for (int i=last_idx ; i<xl ; i++ ) { ! buf[j*xl+i]=(unsigned char) pic_data[j][i]+128; }//i }//j return; #else + for (int j=0 ; j<yl ;++j) { for (int i=0 ; i<xl ; ++i) { ! buf[j*xl+i]=(unsigned char) (pic_data[j][i]+128); }//i }//j + #endif } |