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