mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2025-03-23 04:24:35 +02:00
use limited range of lpc orders when quantizing coefficients
Originally committed as revision 14794 to svn://svn.ffmpeg.org/ffmpeg/trunk
This commit is contained in:
parent
e748e34dd6
commit
56c07e2989
@ -855,7 +855,7 @@ static int encode_residual(FlacEncodeContext *ctx, int ch)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* LPC */
|
/* LPC */
|
||||||
opt_order = ff_lpc_calc_coefs(&ctx->dsp, smp, n, max_order, precision, coefs,
|
opt_order = ff_lpc_calc_coefs(&ctx->dsp, smp, n, min_order, max_order, precision, coefs,
|
||||||
shift, ctx->options.use_lpc, omethod, MAX_LPC_SHIFT, 0);
|
shift, ctx->options.use_lpc, omethod, MAX_LPC_SHIFT, 0);
|
||||||
|
|
||||||
if(omethod == ORDER_METHOD_2LEVEL ||
|
if(omethod == ORDER_METHOD_2LEVEL ||
|
||||||
|
@ -135,7 +135,7 @@ static int estimate_best_order(double *ref, int max_order)
|
|||||||
* Calculate LPC coefficients for multiple orders
|
* Calculate LPC coefficients for multiple orders
|
||||||
*/
|
*/
|
||||||
int ff_lpc_calc_coefs(DSPContext *s,
|
int ff_lpc_calc_coefs(DSPContext *s,
|
||||||
const int32_t *samples, int blocksize, int max_order,
|
const int32_t *samples, int blocksize, int min_order, int max_order,
|
||||||
int precision, int32_t coefs[][MAX_LPC_ORDER],
|
int precision, int32_t coefs[][MAX_LPC_ORDER],
|
||||||
int *shift, int use_lpc, int omethod, int max_shift, int zero_shift)
|
int *shift, int use_lpc, int omethod, int max_shift, int zero_shift)
|
||||||
{
|
{
|
||||||
@ -195,7 +195,7 @@ int ff_lpc_calc_coefs(DSPContext *s,
|
|||||||
i = opt_order-1;
|
i = opt_order-1;
|
||||||
quantize_lpc_coefs(lpc[i], i+1, precision, coefs[i], &shift[i], max_shift, zero_shift);
|
quantize_lpc_coefs(lpc[i], i+1, precision, coefs[i], &shift[i], max_shift, zero_shift);
|
||||||
} else {
|
} else {
|
||||||
for(i=0; i<max_order; i++) {
|
for(i=min_order-1; i<max_order; i++) {
|
||||||
quantize_lpc_coefs(lpc[i], i+1, precision, coefs[i], &shift[i], max_shift, zero_shift);
|
quantize_lpc_coefs(lpc[i], i+1, precision, coefs[i], &shift[i], max_shift, zero_shift);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -39,7 +39,7 @@
|
|||||||
* Calculate LPC coefficients for multiple orders
|
* Calculate LPC coefficients for multiple orders
|
||||||
*/
|
*/
|
||||||
int ff_lpc_calc_coefs(DSPContext *s,
|
int ff_lpc_calc_coefs(DSPContext *s,
|
||||||
const int32_t *samples, int blocksize, int max_order,
|
const int32_t *samples, int blocksize, int min_order, int max_order,
|
||||||
int precision, int32_t coefs[][MAX_LPC_ORDER],
|
int precision, int32_t coefs[][MAX_LPC_ORDER],
|
||||||
int *shift, int use_lpc, int omethod, int max_shift, int zero_shift);
|
int *shift, int use_lpc, int omethod, int max_shift, int zero_shift);
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user