Ignore:
Timestamp:
May 5, 2011, 5:36:53 AM (14 years ago)
Author:
Dmitry A. Kuminov
Message:

trunk: Merged in qt 4.7.2 sources from branches/vendor/nokia/qt.

Location:
trunk
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk

  • trunk/src/3rdparty/libjpeg/jfdctflt.c

    r2 r846  
    33 *
    44 * Copyright (C) 1994-1996, Thomas G. Lane.
     5 * Modified 2003-2009 by Guido Vollbeding.
    56 * This file is part of the Independent JPEG Group's software.
    67 * For conditions of distribution and use, see the accompanying README file.
     
    5758
    5859GLOBAL(void)
    59 jpeg_fdct_float (FAST_FLOAT * data)
     60jpeg_fdct_float (FAST_FLOAT * data, JSAMPARRAY sample_data, JDIMENSION start_col)
    6061{
    6162  FAST_FLOAT tmp0, tmp1, tmp2, tmp3, tmp4, tmp5, tmp6, tmp7;
     
    6364  FAST_FLOAT z1, z2, z3, z4, z5, z11, z13;
    6465  FAST_FLOAT *dataptr;
     66  JSAMPROW elemptr;
    6567  int ctr;
    6668
     
    6870
    6971  dataptr = data;
    70   for (ctr = DCTSIZE-1; ctr >= 0; ctr--) {
    71     tmp0 = dataptr[0] + dataptr[7];
    72     tmp7 = dataptr[0] - dataptr[7];
    73     tmp1 = dataptr[1] + dataptr[6];
    74     tmp6 = dataptr[1] - dataptr[6];
    75     tmp2 = dataptr[2] + dataptr[5];
    76     tmp5 = dataptr[2] - dataptr[5];
    77     tmp3 = dataptr[3] + dataptr[4];
    78     tmp4 = dataptr[3] - dataptr[4];
    79    
     72  for (ctr = 0; ctr < DCTSIZE; ctr++) {
     73    elemptr = sample_data[ctr] + start_col;
     74
     75    /* Load data into workspace */
     76    tmp0 = (FAST_FLOAT) (GETJSAMPLE(elemptr[0]) + GETJSAMPLE(elemptr[7]));
     77    tmp7 = (FAST_FLOAT) (GETJSAMPLE(elemptr[0]) - GETJSAMPLE(elemptr[7]));
     78    tmp1 = (FAST_FLOAT) (GETJSAMPLE(elemptr[1]) + GETJSAMPLE(elemptr[6]));
     79    tmp6 = (FAST_FLOAT) (GETJSAMPLE(elemptr[1]) - GETJSAMPLE(elemptr[6]));
     80    tmp2 = (FAST_FLOAT) (GETJSAMPLE(elemptr[2]) + GETJSAMPLE(elemptr[5]));
     81    tmp5 = (FAST_FLOAT) (GETJSAMPLE(elemptr[2]) - GETJSAMPLE(elemptr[5]));
     82    tmp3 = (FAST_FLOAT) (GETJSAMPLE(elemptr[3]) + GETJSAMPLE(elemptr[4]));
     83    tmp4 = (FAST_FLOAT) (GETJSAMPLE(elemptr[3]) - GETJSAMPLE(elemptr[4]));
     84
    8085    /* Even part */
    81    
     86
    8287    tmp10 = tmp0 + tmp3;        /* phase 2 */
    8388    tmp13 = tmp0 - tmp3;
    8489    tmp11 = tmp1 + tmp2;
    8590    tmp12 = tmp1 - tmp2;
    86    
    87     dataptr[0] = tmp10 + tmp11; /* phase 3 */
     91
     92    /* Apply unsigned->signed conversion */
     93    dataptr[0] = tmp10 + tmp11 - 8 * CENTERJSAMPLE; /* phase 3 */
    8894    dataptr[4] = tmp10 - tmp11;
    89    
     95
    9096    z1 = (tmp12 + tmp13) * ((FAST_FLOAT) 0.707106781); /* c4 */
    9197    dataptr[2] = tmp13 + z1;    /* phase 5 */
    9298    dataptr[6] = tmp13 - z1;
    93    
     99
    94100    /* Odd part */
    95101
     
    127133    tmp3 = dataptr[DCTSIZE*3] + dataptr[DCTSIZE*4];
    128134    tmp4 = dataptr[DCTSIZE*3] - dataptr[DCTSIZE*4];
    129    
     135
    130136    /* Even part */
    131    
     137
    132138    tmp10 = tmp0 + tmp3;        /* phase 2 */
    133139    tmp13 = tmp0 - tmp3;
    134140    tmp11 = tmp1 + tmp2;
    135141    tmp12 = tmp1 - tmp2;
    136    
     142
    137143    dataptr[DCTSIZE*0] = tmp10 + tmp11; /* phase 3 */
    138144    dataptr[DCTSIZE*4] = tmp10 - tmp11;
    139    
     145
    140146    z1 = (tmp12 + tmp13) * ((FAST_FLOAT) 0.707106781); /* c4 */
    141147    dataptr[DCTSIZE*2] = tmp13 + z1; /* phase 5 */
    142148    dataptr[DCTSIZE*6] = tmp13 - z1;
    143    
     149
    144150    /* Odd part */
    145151
Note: See TracChangeset for help on using the changeset viewer.