~ubuntu-branches/ubuntu/trusty/libav/trusty-proposed

« back to all changes in this revision

Viewing changes to libavcodec/faandct.c

  • Committer: Package Import Robot
  • Author(s): Reinhard Tartler
  • Date: 2013-10-22 23:24:08 UTC
  • mfrom: (1.3.36 sid)
  • Revision ID: package-import@ubuntu.com-20131022232408-b8tvvn4pyzri9mi3
Tags: 6:9.10-1ubuntu1
* Build all -extra flavors from this source package, as libav got demoted
  from main to universe, cf LP: #1243235
* Simplify debian/rules to follow exactly the code that debian executes
* New upstream (LP: #1180288) fixes lots of security issues (LP: #1242802)
* Merge from unstable, remaining changes:
  - build-depend on libtiff5-dev rather than libtiff4-dev,
    avoids FTBFS caused by imlib
  - follow the regular debian codepaths

Show diffs side-by-side

added added

removed removed

Lines of Context:
27
27
 
28
28
#include "dsputil.h"
29
29
#include "faandct.h"
 
30
#include "libavutil/internal.h"
 
31
#include "libavutil/libm.h"
30
32
 
31
33
#define FLOAT float
32
 
#ifdef FAAN_POSTSCALE
33
 
#    define SCALE(x) postscale[x]
34
 
#else
35
 
#    define SCALE(x) 1
36
 
#endif
37
34
 
38
35
//numbers generated by simple c code (not as accurate as they could be)
39
36
/*
150
147
        tmp11= tmp1 + tmp2;
151
148
        tmp12= tmp1 - tmp2;
152
149
 
153
 
        data[8*0 + i]= lrintf(SCALE(8*0 + i) * (tmp10 + tmp11));
154
 
        data[8*4 + i]= lrintf(SCALE(8*4 + i) * (tmp10 - tmp11));
 
150
        data[8*0 + i]= lrintf(postscale[8*0 + i] * (tmp10 + tmp11));
 
151
        data[8*4 + i]= lrintf(postscale[8*4 + i] * (tmp10 - tmp11));
155
152
 
156
153
        tmp12 += tmp13;
157
154
        tmp12 *= A1;
158
 
        data[8*2 + i]= lrintf(SCALE(8*2 + i) * (tmp13 + tmp12));
159
 
        data[8*6 + i]= lrintf(SCALE(8*6 + i) * (tmp13 - tmp12));
 
155
        data[8*2 + i]= lrintf(postscale[8*2 + i] * (tmp13 + tmp12));
 
156
        data[8*6 + i]= lrintf(postscale[8*6 + i] * (tmp13 - tmp12));
160
157
 
161
158
        tmp4 += tmp5;
162
159
        tmp5 += tmp6;
175
172
        z11= tmp7 + tmp5;
176
173
        z13= tmp7 - tmp5;
177
174
 
178
 
        data[8*5 + i]= lrintf(SCALE(8*5 + i) * (z13 + z2));
179
 
        data[8*3 + i]= lrintf(SCALE(8*3 + i) * (z13 - z2));
180
 
        data[8*1 + i]= lrintf(SCALE(8*1 + i) * (z11 + z4));
181
 
        data[8*7 + i]= lrintf(SCALE(8*7 + i) * (z11 - z4));
 
175
        data[8*5 + i]= lrintf(postscale[8*5 + i] * (z13 + z2));
 
176
        data[8*3 + i]= lrintf(postscale[8*3 + i] * (z13 - z2));
 
177
        data[8*1 + i]= lrintf(postscale[8*1 + i] * (z11 + z4));
 
178
        data[8*7 + i]= lrintf(postscale[8*7 + i] * (z11 - z4));
182
179
    }
183
180
}
184
181
 
208
205
        tmp12 = tmp1 - tmp2;
209
206
        tmp13 = tmp0 - tmp3;
210
207
 
211
 
        data[8*0 + i] = lrintf(SCALE(8*0 + i) * (tmp10 + tmp11));
212
 
        data[8*4 + i] = lrintf(SCALE(8*4 + i) * (tmp10 - tmp11));
 
208
        data[8*0 + i] = lrintf(postscale[8*0 + i] * (tmp10 + tmp11));
 
209
        data[8*4 + i] = lrintf(postscale[8*4 + i] * (tmp10 - tmp11));
213
210
 
214
211
        tmp12 += tmp13;
215
212
        tmp12 *= A1;
216
 
        data[8*2 + i] = lrintf(SCALE(8*2 + i) * (tmp13 + tmp12));
217
 
        data[8*6 + i] = lrintf(SCALE(8*6 + i) * (tmp13 - tmp12));
 
213
        data[8*2 + i] = lrintf(postscale[8*2 + i] * (tmp13 + tmp12));
 
214
        data[8*6 + i] = lrintf(postscale[8*6 + i] * (tmp13 - tmp12));
218
215
 
219
216
        tmp10 = tmp4 + tmp7;
220
217
        tmp11 = tmp5 + tmp6;
221
218
        tmp12 = tmp5 - tmp6;
222
219
        tmp13 = tmp4 - tmp7;
223
220
 
224
 
        data[8*1 + i] = lrintf(SCALE(8*0 + i) * (tmp10 + tmp11));
225
 
        data[8*5 + i] = lrintf(SCALE(8*4 + i) * (tmp10 - tmp11));
 
221
        data[8*1 + i] = lrintf(postscale[8*0 + i] * (tmp10 + tmp11));
 
222
        data[8*5 + i] = lrintf(postscale[8*4 + i] * (tmp10 - tmp11));
226
223
 
227
224
        tmp12 += tmp13;
228
225
        tmp12 *= A1;
229
 
        data[8*3 + i] = lrintf(SCALE(8*2 + i) * (tmp13 + tmp12));
230
 
        data[8*7 + i] = lrintf(SCALE(8*6 + i) * (tmp13 - tmp12));
 
226
        data[8*3 + i] = lrintf(postscale[8*2 + i] * (tmp13 + tmp12));
 
227
        data[8*7 + i] = lrintf(postscale[8*6 + i] * (tmp13 - tmp12));
231
228
    }
232
229
}