linphone-developers
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Linphone-developers] bcg729 codec poblem


From: Ričardas Stoma
Subject: [Linphone-developers] bcg729 codec poblem
Date: Fri, 19 Sep 2014 11:26:33 +0300

I already asked this question but ill try one more time...  Im using bcg729 codec in freeswitch but sometimes calls get stuck and CPU load jumps to 100%. I don't know how to reproduce this issue but it happens occasionally.

This is a backtrace of one of those stuck threads:

#0  0x00007f428f5329ed in countLeadingZeros (x=0) at ../include/utils.h:101
        leadingZeros = 10619
#1  0x00007f428f532a1b in g729Sqrt_Q0Q7 (x=-128) at ../include/g729FixedPointMath.h:144
        k = 130067277
        rt = 10
#2  0x00007f428f5339f6 in postFilter (decoderChannelContext=0x7f421c0025d0, LPCoefficients=0x7f428d4873b4, reconstructedSpeech=0x7f421c002822, intPitchDelay=20,
    subframeIndex=40, postFilteredSignal=0x7f428d4872f0) at postFilter.c:325
        fractionResult = -128
        scaledShortTermFilteredResidualSignalSquareSum = -16279623
        numeratorShift = 3
        currentAdaptativeGain = 0
        reconstructedSpeechSquareSum = 2092397968
        i = 40
        j = 10
        LPGammaNCoefficients = {-2062, 916, -141, -19, -62, 65, -44, 17, -5, 1}
        residualSignal = 0x7f421c002a52
        scaledResidualSignal = 0x7f421c002c10
        correlationMax = 1084396736
        intPitchDelayMax = 23
        bestIntPitchDelay = 20
        delayedResidualSignal = 0x7f421c002a2a
        residualSignalEnergy = 1168149276
        delayedResidualSignalEnergy = 1081228463
        maximumThree = 1168149276
        leadingZeros = 0
        correlationMaxWord16 = 16546
        residualSignalEnergyWord16 = 17824
        delayedResidualSignalEnergyWord16 = 16498
        LPGammaDCoefficients = {-2625, 1483, -290, -50, -209, 276, -238, 119, -48, 8}
        hf = {4096, 563, -206, -187, 26, 224, -64, 23, -11, 11, 16, -9, 5, -4, 2, 1, 0, 1, -1, 0, 0, 0}
        rh1 = 1770638
        tiltCompensatedSignal = {19215, 19136, 19103, 19113, 19112, 19112, 19112, 19112, 19112, -13908, -25758, -6042, 30065, 12109, 15865, 22684, 17874, 19152,
          19403, 19076, 19860, 19882, 19803, 19838, 19828, 19830, 19830, 19830, 14343, -25360, -17818, 8228, 26798, 13288, 19080, 22259, 18820, 19936, 20041, 19773}
        gainScalingFactor = 7168
        shortTermFilteredResidualSignalSquareSum = -2083791742
#3  0x00007f428f52f8b5 in bcg729Decoder (decoderChannelContext=0x7f421c0025d0, bitStream=0x7f421c017e8c "address@hidden",
    frameErasureFlag=0 '\000', signal=0x7f427c06aa48) at decoder.c:222
        i = 40
        parameters = {1, 52, 8, 9, 1, 1, 2689, 3, 2, 13, 1, 8166, 14, 2, 13}
        qLSP = {31946, 27821, 21973, 14643, 8733, 3091, -4672, -16858, -27695, -28984}
        interpolatedqLSP = {31929, 27804, 23172, 17372, 10325, 2866, -5506, -17185, -26878, -28759}
        LP = {-4392, 3165, -1151, 684, -1641, 2442, -2781, 1829, -1047, 228, -3750, 3027, -846, -207, -1241, 2342, -2893, 2063, -1191, 275}
        intPitchDelay = 20
        fixedCodebookVector = {0 <repeats 21 times>, 8192, 0, 0, 0, 0, 0, 0, 0, 0, -8192, 0, 0, 0, 0, 0, 0, 8192, 0, 8192}
        postFilteredSignal = {-6536, -5704, -5003, -4595, -4171, -3739, -3319, -2930, -2572, 1316, 32767, 32767, 27495, -8347, -9931, -6631, -6415, -6512, -7165,
          -6305, -6742, -6794, -6440, -6094, -5611, -5261, -4868, -4505, -4157, 9049, 32767, 32767, 9748, -10962, -10440, -8916, -8482, -8343, -7891, -7407}
        parityErrorFlag = 0 '\000'
        subframeIndex = 40
        parametersIndex = 15
        LPCoefficientsIndex = 10
#4  0x00007f428f52efff in switch_bcg729_decode (codec=<value optimized out>, other_codec=<value optimized out>, encoded_data=<value optimized out>,
    encoded_data_len=2, encoded_rate=<value optimized out>, decoded_data=<value optimized out>, decoded_data_len=0x7f427c06a998, decoded_rate=0x7f427c06a9a4,
    flag=0x7f424403c50c) at mod_bcg729.c:164
        context = 0x7f4244047df8
        framesize = 2
        x = <value optimized out>
        new_len = <value optimized out>
        edp = <value optimized out>
        ddp = <value optimized out>
        __func__ = "switch_bcg729_decode"

Any ideas why it happens?

reply via email to

[Prev in Thread] Current Thread [Next in Thread]