[SCM] libav/experimental: 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.

siretart at users.alioth.debian.org siretart at users.alioth.debian.org
Sun Jun 30 16:52:36 UTC 2013


The following commit has been merged in the experimental branch:
commit d6eee9f3e9bb5a5b8833d28d68612a25758438f7
Author: Justin Ruggles <justin.ruggles at gmail.com>
Date:   Mon Oct 5 21:27:36 2009 +0000

    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.
    
    Originally committed as revision 20173 to svn://svn.ffmpeg.org/ffmpeg/trunk

diff --git a/libavcodec/alacenc.c b/libavcodec/alacenc.c
index 691e6df..4f869ee 100644
--- a/libavcodec/alacenc.c
+++ b/libavcodec/alacenc.c
@@ -132,12 +132,23 @@ static void calc_predictor_params(AlacEncodeContext *s, int ch)
     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 @@ static av_cold int alac_encode_init(AVCodecContext *avctx)
 
     // 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;

-- 
Libav/FFmpeg packaging



More information about the pkg-multimedia-commits mailing list