Commit e2a96627 authored by Fiona Glaser's avatar Fiona Glaser

Fix quantization factor allocation

We don't need to wastefully allocate quant tables above QP_MAX_SPEC; they're
never used.
parent 8be6600d
......@@ -552,15 +552,15 @@ struct x264_t
int (*dequant4_mf[4])[16]; /* [4][6][16] */
int (*dequant8_mf[4])[64]; /* [4][6][64] */
/* quantization matrix for trellis, [cqm][qp][coef] */
int (*unquant4_mf[4])[16]; /* [4][52][16] */
int (*unquant8_mf[4])[64]; /* [4][52][64] */
int (*unquant4_mf[4])[16]; /* [4][QP_MAX_SPEC][16] */
int (*unquant8_mf[4])[64]; /* [4][QP_MAX_SPEC][64] */
/* quantization matrix for deadzone */
udctcoef (*quant4_mf[4])[16]; /* [4][52][16] */
udctcoef (*quant8_mf[4])[64]; /* [4][52][64] */
udctcoef (*quant4_bias[4])[16]; /* [4][52][16] */
udctcoef (*quant8_bias[4])[64]; /* [4][52][64] */
udctcoef (*quant4_bias0[4])[16]; /* [4][52][16] */
udctcoef (*quant8_bias0[4])[64]; /* [4][52][64] */
udctcoef (*quant4_mf[4])[16]; /* [4][QP_MAX_SPEC][16] */
udctcoef (*quant8_mf[4])[64]; /* [4][QP_MAX_SPEC][64] */
udctcoef (*quant4_bias[4])[16]; /* [4][QP_MAX_SPEC][16] */
udctcoef (*quant8_bias[4])[64]; /* [4][QP_MAX_SPEC][64] */
udctcoef (*quant4_bias0[4])[16]; /* [4][QP_MAX_SPEC][16] */
udctcoef (*quant8_bias0[4])[64]; /* [4][QP_MAX_SPEC][64] */
udctcoef (*nr_offset_emergency)[4][64];
/* mv/ref cost arrays. */
......
......@@ -159,7 +159,7 @@ int x264_cqm_init( x264_t *h )
quant8_mf[i_list][q][i] = DIV(def_quant8[q][i] * 16, h->pps->scaling_list[4+i_list][i]);
}
}
for( int q = 0; q < QP_MAX+1; q++ )
for( int q = 0; q <= QP_MAX_SPEC; q++ )
{
int j;
for( int i_list = 0; i_list < 4; i_list++ )
......
......@@ -1778,7 +1778,7 @@ static int check_quant( int cpu_ref, int cpu_new )
}
h->param.rc.i_qp_min = 0;
h->param.rc.i_qp_max = QP_MAX;
h->param.rc.i_qp_max = QP_MAX_SPEC;
x264_cqm_init( h );
x264_quant_init( h, 0, &qf_c );
x264_quant_init( h, cpu_ref, &qf_ref );
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment