Mercurial > libavcodec.hg
changeset 10365:b44de7b79bee libavcodec
alacenc: add a fixed LPC coefficient mode as compression level 1. old
compression level 1 is now compression level 2 and is still the default.
author | jbr |
---|---|
date | Mon, 05 Oct 2009 21:27:36 +0000 |
parents | 917c88a80b67 |
children | 55f4c141dbb0 |
files | alacenc.c |
diffstat | 1 files changed, 13 insertions(+), 2 deletions(-) [+] |
line wrap: on
line diff
--- a/alacenc.c Mon Oct 05 20:18:16 2009 +0000 +++ b/alacenc.c Mon Oct 05 21:27:36 2009 +0000 @@ -132,12 +132,23 @@ int shift[MAX_LPC_ORDER]; int opt_order; + if (s->avctx->compression_level > 1) { opt_order = ff_lpc_calc_coefs(&s->dspctx, s->sample_buf[ch], s->avctx->frame_size, s->min_prediction_order, s->max_prediction_order, ALAC_MAX_LPC_PRECISION, coefs, shift, 1, ORDER_METHOD_EST, ALAC_MAX_LPC_SHIFT, 1); s->lpc[ch].lpc_order = opt_order; s->lpc[ch].lpc_quant = shift[opt_order-1]; memcpy(s->lpc[ch].lpc_coeff, coefs[opt_order-1], opt_order*sizeof(int)); + } else { + s->lpc[ch].lpc_order = 6; + s->lpc[ch].lpc_quant = 6; + s->lpc[ch].lpc_coeff[0] = 160; + s->lpc[ch].lpc_coeff[1] = -190; + s->lpc[ch].lpc_coeff[2] = 170; + s->lpc[ch].lpc_coeff[3] = -130; + s->lpc[ch].lpc_coeff[4] = 80; + s->lpc[ch].lpc_coeff[5] = -25; + } } static int estimate_stereo_mode(int32_t *left_ch, int32_t *right_ch, int n) @@ -375,9 +386,9 @@ // Set default compression level if(avctx->compression_level == FF_COMPRESSION_DEFAULT) - s->compression_level = 1; + s->compression_level = 2; else - s->compression_level = av_clip(avctx->compression_level, 0, 1); + s->compression_level = av_clip(avctx->compression_level, 0, 2); // Initialize default Rice parameters s->rc.history_mult = 40;