[cvs] / xvidcore / src / dct / idct.c Repository:
ViewVC logotype

Diff of /xvidcore/src/dct/idct.c

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.1, Fri Mar 8 02:44:39 2002 UTC revision 1.2, Wed Jun 12 20:38:40 2002 UTC
# Line 209  Line 209 
209  /* two dimensional inverse discrete cosine transform */  /* two dimensional inverse discrete cosine transform */
210  //void j_rev_dct(block)  //void j_rev_dct(block)
211  //short *block;  //short *block;
212  void idct_int32(short * const block)  void
213    idct_int32(short *const block)
214  {  {
215    
216    // idct_int32_init() must be called before the first call to this function!    // idct_int32_init() must be called before the first call to this function!
# Line 231  Line 232 
232    for (i=0; i<8; i++)   // idct rows    for (i=0; i<8; i++)   // idct rows
233    {    {
234          blk = block+(i<<3);          blk = block+(i<<3);
235          if (!((X1 = blk[4]<<11) | (X2 = blk[6]) | (X3 = blk[2]) |                  if (!
236          (X4 = blk[1]) | (X5 = blk[7]) | (X6 = blk[5]) | (X7 = blk[3])))                          ((X1 = blk[4] << 11) | (X2 = blk[6]) | (X3 = blk[2]) | (X4 =
237          {                                                                                                                                          blk[1]) |
238                  blk[0]=blk[1]=blk[2]=blk[3]=blk[4]=blk[5]=blk[6]=blk[7]=blk[0]<<3;                           (X5 = blk[7]) | (X6 = blk[5]) | (X7 = blk[3]))) {
239                            blk[0] = blk[1] = blk[2] = blk[3] = blk[4] = blk[5] = blk[6] =
240                                    blk[7] = blk[0] << 3;
241                  continue;                  continue;
242          }          }
243    
# Line 286  Line 289 
289    {    {
290          blk = block + i;          blk = block + i;
291      // shortcut      // shortcut
292          if (!((X1 = (blk[8*4]<<8)) | (X2 = blk[8*6]) | (X3 = blk[8*2]) |                  if (!
293          (X4 = blk[8*1]) | (X5 = blk[8*7]) | (X6 = blk[8*5]) | (X7 = blk[8*3])))                          ((X1 = (blk[8 * 4] << 8)) | (X2 = blk[8 * 6]) | (X3 =
294          {                                                                                                                           blk[8 *
295                                                                                                                                     2]) | (X4 =
296                                                                                                                                                    blk[8 *
297                                                                                                                                                            1])
298                             | (X5 = blk[8 * 7]) | (X6 = blk[8 * 5]) | (X7 = blk[8 * 3]))) {
299                  blk[8*0]=blk[8*1]=blk[8*2]=blk[8*3]=blk[8*4]=                  blk[8*0]=blk[8*1]=blk[8*2]=blk[8*3]=blk[8*4]=
300                          blk[8*5]=blk[8*6]=blk[8*7]=iclp[(blk[8*0]+32)>>6];                                  blk[8 * 5] = blk[8 * 6] = blk[8 * 7] =
301                                    iclp[(blk[8 * 0] + 32) >> 6];
302                  continue;                  continue;
303          }          }
304    
# Line 339  Line 347 
347    
348  //void  //void
349  //idct_int32_init()  //idct_int32_init()
350  void idct_int32_init()  void
351    idct_int32_init()
352  {  {
353    int i;    int i;
354    

Legend:
Removed from v.1.1  
changed lines
  Added in v.1.2

No admin address has been configured
ViewVC Help
Powered by ViewVC 1.0.4