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 */