diff --git a/configure.ac b/configure.ac index 65e4fbd8ff815bd98e0e2f338c6504cdcfe0d77d..fdad7bbb00ce7be414289bb95810f098eb69e990 100644 --- a/configure.ac +++ b/configure.ac @@ -5,8 +5,8 @@ AC_INIT(libcelt/arch.h) AM_CONFIG_HEADER([config.h]) CELT_MAJOR_VERSION=0 -CELT_MINOR_VERSION=8 -CELT_MICRO_VERSION=1 +CELT_MINOR_VERSION=9 +CELT_MICRO_VERSION=0 CELT_EXTRA_VERSION= CELT_VERSION=$CELT_MAJOR_VERSION.$CELT_MINOR_VERSION.$CELT_MICRO_VERSION$CELT_EXTRA_VERSION LIBCELT_SUFFIX=0 @@ -118,7 +118,7 @@ AC_ARG_ENABLE(fixed-point-debug, [ --enable-fixed-point-debug debug fixed-poin fi]) float_approx=$has_float_approx -AC_ARG_ENABLE(float-approx, [ --disable-float-approx do not use fast approximations for floating point], +AC_ARG_ENABLE(float-approx, [ --enable-float-approx enable fast approximations for floating point], [ if test "$enableval" = yes; then AC_WARN([Floating point approximations are not supported on all platforms.]) float_approx=yes diff --git a/libcelt/celt.c b/libcelt/celt.c index e667f20e527ad064414130a36f5e07e98d2d61a2..be90a673e271b34e81f835b9b399d6926e0884c4 100644 --- a/libcelt/celt.c +++ b/libcelt/celt.c @@ -629,7 +629,7 @@ int celt_encode_with_ec_float(CELTEncoder * restrict st, const celt_sig * pcm, c resynth = optional_resynthesis!=NULL; - if (st->complexity > 1) + if (st->complexity > 1 && LM>0) { isTransient = M > 1 && transient_analysis(in, N+st->overlap, C, &transient_time, @@ -746,7 +746,8 @@ int celt_encode_with_ec_float(CELTEncoder * restrict st, const celt_sig * pcm, c error, enc, C, LM, nbAvailableBytes, st->force_intra, &st->delayedIntra, st->complexity >= 4); - ec_enc_bit_prob(enc, shortBlocks!=0, 8192); + if (LM > 0) + ec_enc_bit_prob(enc, shortBlocks!=0, 8192); if (shortBlocks) { @@ -1488,7 +1489,10 @@ int celt_decode_with_ec_float(CELTDecoder * restrict st, const unsigned char *da unquant_coarse_energy(st->mode, st->start, st->end, bandE, oldBandE, intra_ener, st->mode->prob, dec, C, LM); - isTransient = ec_dec_bit_prob(dec, 8192); + if (LM > 0) + isTransient = ec_dec_bit_prob(dec, 8192); + else + isTransient = 0; if (isTransient) shortBlocks = M; diff --git a/libcelt/modes.h b/libcelt/modes.h index c7bd526c58136e91c1bf22877db96c28b521bd75..826ab40053b90bf7b08c5c5019b9c0dfbb873f0b 100644 --- a/libcelt/modes.h +++ b/libcelt/modes.h @@ -43,7 +43,7 @@ #define MAX_CONFIG_SIZES 5 -#define CELT_BITSTREAM_VERSION 0x8000000d +#define CELT_BITSTREAM_VERSION 0x8000000e #ifdef STATIC_MODES #include "static_modes.h"