avcodec/flacenc: Fix prediction_order parameter
authorMichael Niedermayer <michael@niedermayer.cc>
Sun, 31 Jan 2016 19:04:17 +0000 (20:04 +0100)
committerMichael Niedermayer <michael@niedermayer.cc>
Sun, 31 Jan 2016 19:05:41 +0000 (20:05 +0100)
Fixes regression

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
libavcodec/flacenc.c

index 6fed138..a91ed19 100644 (file)
@@ -315,8 +315,10 @@ static av_cold int flac_encode_init(AVCodecContext *avctx)
                                          FF_LPC_TYPE_LEVINSON, FF_LPC_TYPE_LEVINSON, FF_LPC_TYPE_LEVINSON,
                                          FF_LPC_TYPE_LEVINSON})[level];
 
-    s->options.min_prediction_order = ((int[]){  2,  0,  0,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1})[level];
-    s->options.max_prediction_order = ((int[]){  3,  4,  4,  6,  8,  8,  8,  8, 12, 12, 12, 32, 32})[level];
+    if (s->options.min_prediction_order < 0)
+        s->options.min_prediction_order = ((int[]){  2,  0,  0,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1})[level];
+    if (s->options.max_prediction_order < 0)
+        s->options.max_prediction_order = ((int[]){  3,  4,  4,  6,  8,  8,  8,  8, 12, 12, 12, 32, 32})[level];
 
     if (s->options.prediction_order_method < 0)
         s->options.prediction_order_method = ((int[]){ ORDER_METHOD_EST,    ORDER_METHOD_EST,    ORDER_METHOD_EST,