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/jfdctfst.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.
     
    112113
    113114GLOBAL(void)
    114 jpeg_fdct_ifast (DCTELEM * data)
     115jpeg_fdct_ifast (DCTELEM * data, JSAMPARRAY sample_data, JDIMENSION start_col)
    115116{
    116117  DCTELEM tmp0, tmp1, tmp2, tmp3, tmp4, tmp5, tmp6, tmp7;
     
    118119  DCTELEM z1, z2, z3, z4, z5, z11, z13;
    119120  DCTELEM *dataptr;
     121  JSAMPROW elemptr;
    120122  int ctr;
    121123  SHIFT_TEMPS
     
    124126
    125127  dataptr = data;
    126   for (ctr = DCTSIZE-1; ctr >= 0; ctr--) {
    127     tmp0 = dataptr[0] + dataptr[7];
    128     tmp7 = dataptr[0] - dataptr[7];
    129     tmp1 = dataptr[1] + dataptr[6];
    130     tmp6 = dataptr[1] - dataptr[6];
    131     tmp2 = dataptr[2] + dataptr[5];
    132     tmp5 = dataptr[2] - dataptr[5];
    133     tmp3 = dataptr[3] + dataptr[4];
    134     tmp4 = dataptr[3] - dataptr[4];
    135    
     128  for (ctr = 0; ctr < DCTSIZE; ctr++) {
     129    elemptr = sample_data[ctr] + start_col;
     130
     131    /* Load data into workspace */
     132    tmp0 = GETJSAMPLE(elemptr[0]) + GETJSAMPLE(elemptr[7]);
     133    tmp7 = GETJSAMPLE(elemptr[0]) - GETJSAMPLE(elemptr[7]);
     134    tmp1 = GETJSAMPLE(elemptr[1]) + GETJSAMPLE(elemptr[6]);
     135    tmp6 = GETJSAMPLE(elemptr[1]) - GETJSAMPLE(elemptr[6]);
     136    tmp2 = GETJSAMPLE(elemptr[2]) + GETJSAMPLE(elemptr[5]);
     137    tmp5 = GETJSAMPLE(elemptr[2]) - GETJSAMPLE(elemptr[5]);
     138    tmp3 = GETJSAMPLE(elemptr[3]) + GETJSAMPLE(elemptr[4]);
     139    tmp4 = GETJSAMPLE(elemptr[3]) - GETJSAMPLE(elemptr[4]);
     140
    136141    /* Even part */
    137    
     142
    138143    tmp10 = tmp0 + tmp3;        /* phase 2 */
    139144    tmp13 = tmp0 - tmp3;
    140145    tmp11 = tmp1 + tmp2;
    141146    tmp12 = tmp1 - tmp2;
    142    
    143     dataptr[0] = tmp10 + tmp11; /* phase 3 */
     147
     148    /* Apply unsigned->signed conversion */
     149    dataptr[0] = tmp10 + tmp11 - 8 * CENTERJSAMPLE; /* phase 3 */
    144150    dataptr[4] = tmp10 - tmp11;
    145    
     151
    146152    z1 = MULTIPLY(tmp12 + tmp13, FIX_0_707106781); /* c4 */
    147153    dataptr[2] = tmp13 + z1;    /* phase 5 */
    148154    dataptr[6] = tmp13 - z1;
    149    
     155
    150156    /* Odd part */
    151157
     
    183189    tmp3 = dataptr[DCTSIZE*3] + dataptr[DCTSIZE*4];
    184190    tmp4 = dataptr[DCTSIZE*3] - dataptr[DCTSIZE*4];
    185    
     191
    186192    /* Even part */
    187    
     193
    188194    tmp10 = tmp0 + tmp3;        /* phase 2 */
    189195    tmp13 = tmp0 - tmp3;
    190196    tmp11 = tmp1 + tmp2;
    191197    tmp12 = tmp1 - tmp2;
    192    
     198
    193199    dataptr[DCTSIZE*0] = tmp10 + tmp11; /* phase 3 */
    194200    dataptr[DCTSIZE*4] = tmp10 - tmp11;
    195    
     201
    196202    z1 = MULTIPLY(tmp12 + tmp13, FIX_0_707106781); /* c4 */
    197203    dataptr[DCTSIZE*2] = tmp13 + z1; /* phase 5 */
    198204    dataptr[DCTSIZE*6] = tmp13 - z1;
    199    
     205
    200206    /* Odd part */
    201207
Note: See TracChangeset for help on using the changeset viewer.