Mercurial > libavcodec.hg
comparison mpegvideo.c @ 1557:5d53c03186a1 libavcodec
floating point AAN DCT
author | michael |
---|---|
date | Wed, 22 Oct 2003 18:26:38 +0000 |
parents | 5ebb4ae753d3 |
children | bf452704100f |
comparison
equal
deleted
inserted
replaced
1556:5ebb4ae753d3 | 1557:5d53c03186a1 |
---|---|
26 | 26 |
27 #include <limits.h> | 27 #include <limits.h> |
28 #include "avcodec.h" | 28 #include "avcodec.h" |
29 #include "dsputil.h" | 29 #include "dsputil.h" |
30 #include "mpegvideo.h" | 30 #include "mpegvideo.h" |
31 #include "faandct.h" | |
31 | 32 |
32 #ifdef USE_FASTMEMCPY | 33 #ifdef USE_FASTMEMCPY |
33 #include "fastmemcpy.h" | 34 #include "fastmemcpy.h" |
34 #endif | 35 #endif |
35 | 36 |
98 { | 99 { |
99 int qscale; | 100 int qscale; |
100 | 101 |
101 for(qscale=qmin; qscale<=qmax; qscale++){ | 102 for(qscale=qmin; qscale<=qmax; qscale++){ |
102 int i; | 103 int i; |
103 if (s->dsp.fdct == ff_jpeg_fdct_islow) { | 104 if (s->dsp.fdct == ff_jpeg_fdct_islow || s->dsp.fdct == ff_faandct) { |
104 for(i=0;i<64;i++) { | 105 for(i=0;i<64;i++) { |
105 const int j= s->dsp.idct_permutation[i]; | 106 const int j= s->dsp.idct_permutation[i]; |
106 /* 16 <= qscale * quant_matrix[i] <= 7905 */ | 107 /* 16 <= qscale * quant_matrix[i] <= 7905 */ |
107 /* 19952 <= aanscales[i] * qscale * quant_matrix[i] <= 249205026 */ | 108 /* 19952 <= aanscales[i] * qscale * quant_matrix[i] <= 249205026 */ |
108 /* (1<<36)/19952 >= (1<<36)/(aanscales[i] * qscale * quant_matrix[i]) >= (1<<36)/249205026 */ | 109 /* (1<<36)/19952 >= (1<<36)/(aanscales[i] * qscale * quant_matrix[i]) >= (1<<36)/249205026 */ |