Mercurial > libavcodec.hg
comparison mpegvideo.c @ 1562:bf452704100f libavcodec
optionally merge postscale into quantization table for the float aan dct
author | michael |
---|---|
date | Thu, 23 Oct 2003 09:11:56 +0000 |
parents | 5d53c03186a1 |
children | a4aa536938b8 |
comparison
equal
deleted
inserted
replaced
1561:aa71c7981523 | 1562:bf452704100f |
---|---|
99 { | 99 { |
100 int qscale; | 100 int qscale; |
101 | 101 |
102 for(qscale=qmin; qscale<=qmax; qscale++){ | 102 for(qscale=qmin; qscale<=qmax; qscale++){ |
103 int i; | 103 int i; |
104 if (s->dsp.fdct == ff_jpeg_fdct_islow || s->dsp.fdct == ff_faandct) { | 104 if (s->dsp.fdct == ff_jpeg_fdct_islow |
105 #ifdef FAAN_POSTSCALE | |
106 || s->dsp.fdct == ff_faandct | |
107 #endif | |
108 ) { | |
105 for(i=0;i<64;i++) { | 109 for(i=0;i<64;i++) { |
106 const int j= s->dsp.idct_permutation[i]; | 110 const int j= s->dsp.idct_permutation[i]; |
107 /* 16 <= qscale * quant_matrix[i] <= 7905 */ | 111 /* 16 <= qscale * quant_matrix[i] <= 7905 */ |
108 /* 19952 <= aanscales[i] * qscale * quant_matrix[i] <= 249205026 */ | 112 /* 19952 <= aanscales[i] * qscale * quant_matrix[i] <= 249205026 */ |
109 /* (1<<36)/19952 >= (1<<36)/(aanscales[i] * qscale * quant_matrix[i]) >= (1<<36)/249205026 */ | 113 /* (1<<36)/19952 >= (1<<36)/(aanscales[i] * qscale * quant_matrix[i]) >= (1<<36)/249205026 */ |
110 /* 3444240 >= (1<<36)/(aanscales[i] * qscale * quant_matrix[i]) >= 275 */ | 114 /* 3444240 >= (1<<36)/(aanscales[i] * qscale * quant_matrix[i]) >= 275 */ |
111 | 115 |
112 qmat[qscale][i] = (int)((uint64_t_C(1) << QMAT_SHIFT) / | 116 qmat[qscale][i] = (int)((uint64_t_C(1) << QMAT_SHIFT) / |
113 (qscale * quant_matrix[j])); | 117 (qscale * quant_matrix[j])); |
114 } | 118 } |
115 } else if (s->dsp.fdct == fdct_ifast) { | 119 } else if (s->dsp.fdct == fdct_ifast |
120 #ifndef FAAN_POSTSCALE | |
121 || s->dsp.fdct == ff_faandct | |
122 #endif | |
123 ) { | |
116 for(i=0;i<64;i++) { | 124 for(i=0;i<64;i++) { |
117 const int j= s->dsp.idct_permutation[i]; | 125 const int j= s->dsp.idct_permutation[i]; |
118 /* 16 <= qscale * quant_matrix[i] <= 7905 */ | 126 /* 16 <= qscale * quant_matrix[i] <= 7905 */ |
119 /* 19952 <= aanscales[i] * qscale * quant_matrix[i] <= 249205026 */ | 127 /* 19952 <= aanscales[i] * qscale * quant_matrix[i] <= 249205026 */ |
120 /* (1<<36)/19952 >= (1<<36)/(aanscales[i] * qscale * quant_matrix[i]) >= (1<<36)/249205026 */ | 128 /* (1<<36)/19952 >= (1<<36)/(aanscales[i] * qscale * quant_matrix[i]) >= (1<<36)/249205026 */ |