This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

TMS320DM8168: AAC Audio Decoder Stuck on Rpe_process() call

Part Number: TMS320DM8168

Hello,

EZSDK 5.05.01.04

CGT Sourcery G++ Lite 2010q1-202

We have a multi-decoder product on DM8168 . It supports AAC Decode using the TI DSP implementation through the RPE interface.

The decoder works properly most of the time but intermittently locks up on the Rpe_process() call. No error messages are logged immediately before to indicate there might be a problem. The interface simply goes dark, forcing us into an automatic reboot.

I have sampled the XDM interface structures for the 2 active decoders at the time of the crash, I'm hoping someone at TI can advise me on if anything looks out of the ordinary.

Thank you.

 Rpe IAUDDEC1_Cmd:

    cmdId               = 0

 Rpe IAUDDEC1_DynamicParams:

    size                = 8

    downSampleSbrFlag   = 0

 Rpe IAUDDEC1_OutArgs:

    size                = 32

    extendedError       = 0

    bytesConsumed       = 683

    numSamples          = 1024

    channelMode         = 1

    lfeFlag             = 0

    dualMonoMode        = 0

    sampleRate          = 48000

 Rpe IAUDDEC1_InArgs:

    size                = 16

    numBytes            = 4779

    desiredChannelMode  = 1

    lfeFlag             = 0

 Rpe IAUDDEC1_Status:

    size                = 192

    extendedError       = 0

    data:

      buf               = (nil)

      bufsize           = 5

      accessMask        = 16

    validFlag           = 1

    lfeFlag             = 0

    bitRate             = 256000

    sampleRate          = 48000

    channelMode         = 1

    pcmFormat           = 1

    numSamples          = 1024

    outputBitsPerSample = 16

    bufInfo:

      minNumInBufs      = 1

      minNumOutBufs     = 1

      minInBufSize      = 3840 

      minOutBufSize     = 4096 

    dualMonoMode        = 0

 Rpe XDM1_BufDesc In:

    numBufs             = 1

    buffer index 0:

      buf               = 0xa919262b

      bufsize           = 4779

      accessMask        = 0

 Rpe XDM1_BufDesc Out:

    numBufs             = 1

    buffer index 0:

      buf               = 0xa919b380

      bufsize           = 4096

      accessMask        = -57342

 Rpe decoder structure:

    magic               = 1095913541

    inputData           = ff f1 4c 80 55 61 a8 21 ...

    inputDataSize       = 131072

    inputReadIndex      = 94891

    inputWriteIndex     = 99670

    minInputBufSize     = 3840

    outputData          = 26 0 25 0 23 0 22 0 ...

    outputDataSize      = 16384

    outputReadIndex     = 4096

    decoder             = AAC_ADEC_TI

    line                = 0

    inputTimestampIndex = 75

    outputTimestampIndex = 69

 Rpe IAUDDEC1_Cmd:

    cmdId               = 0

 Rpe IAUDDEC1_DynamicParams:

    size                = 8

    downSampleSbrFlag   = 0

 Rpe IAUDDEC1_OutArgs:

    size                = 32

    extendedError       = 0

    bytesConsumed       = 683

    numSamples          = 1024

    channelMode         = 1

    lfeFlag             = 0

    dualMonoMode        = 0

    sampleRate          = 48000

 Rpe IAUDDEC1_InArgs:

    size                = 16

    numBytes            = 4778

    desiredChannelMode  = 1

    lfeFlag             = 0

 Rpe IAUDDEC1_Status:

    size                = 192

    extendedError       = 0

    data:

      buf               = (nil)

      bufsize           = 1

      accessMask        = 16

    validFlag           = 1

    lfeFlag             = 0

    bitRate             = 256000

    sampleRate          = 48000

    channelMode         = 1

    pcmFormat           = 1

    numSamples          = 1024

    outputBitsPerSample = 16

    bufInfo:

      minNumInBufs      = 1

      minNumOutBufs     = 1

      minInBufSize      = 3840 

      minOutBufSize     = 4096 

    dualMonoMode        = 0

 Rpe XDM1_BufDesc In:

    numBufs             = 1

    buffer index 0:

      buf               = 0x41568dd6

      bufsize           = 4778

      accessMask        = 2

 Rpe XDM1_BufDesc Out:

    numBufs             = 1

    buffer index 0:

      buf               = 0x41573080

      bufsize           = 4096

      accessMask        = 2

 Rpe decoder structure:

    magic               = 1095913541

    inputData           = ff f1 4c 80 55 61 a8 21 ...

    inputDataSize       = 131072

    inputReadIndex      = 89430

    inputWriteIndex     = 94208

    minInputBufSize     = 3840

    outputData          = ac fe ab fe bd fe bd fe ...

    outputDataSize      = 16384

    outputReadIndex     = 4096

    decoder             = AAC_ADEC_TI

    line                = 0

    inputTimestampIndex = 36

    outputTimestampIndex = 30

 Rpe IAUDDEC1_Cmd:    cmdId               = 0 Rpe IAUDDEC1_DynamicParams:    size                = 8    downSampleSbrFlag   = 0 Rpe IAUDDEC1_OutArgs:    size                = 32    extendedError       = 0    bytesConsumed       = 683    numSamples          = 1024    channelMode         = 1    lfeFlag             = 0    dualMonoMode        = 0    sampleRate          = 48000 Rpe IAUDDEC1_InArgs:    size                = 16    numBytes            = 4779    desiredChannelMode  = 1    lfeFlag             = 0 Rpe IAUDDEC1_Status:    size                = 192    extendedError       = 0    data:      buf               = (nil)      bufsize           = 5      accessMask        = 16    validFlag           = 1    lfeFlag             = 0    bitRate             = 256000    sampleRate          = 48000    channelMode         = 1    pcmFormat           = 1    numSamples          = 1024    outputBitsPerSample = 16    bufInfo:      minNumInBufs      = 1      minNumOutBufs     = 1      minInBufSize      = 3840       minOutBufSize     = 4096     dualMonoMode        = 0 Rpe XDM1_BufDesc In:    numBufs             = 1    buffer index 0:      buf               = 0xa919262b      bufsize           = 4779      accessMask        = 0 Rpe XDM1_BufDesc Out:    numBufs             = 1    buffer index 0:      buf               = 0xa919b380      bufsize           = 4096      accessMask        = -57342 Rpe decoder structure:    magic               = 1095913541    inputData           = ff f1 4c 80 55 61 a8 21 ...    inputDataSize       = 131072    inputReadIndex      = 94891    inputWriteIndex     = 99670    minInputBufSize     = 3840    outputData          = 26 0 25 0 23 0 22 0 ...    outputDataSize      = 16384    outputReadIndex     = 4096    decoder             = AAC_ADEC_TI    line                = 0    inputTimestampIndex = 75    outputTimestampIndex = 69
 Rpe IAUDDEC1_Cmd:    cmdId               = 0 Rpe IAUDDEC1_DynamicParams:    size                = 8    downSampleSbrFlag   = 0 Rpe IAUDDEC1_OutArgs:    size                = 32    extendedError       = 0    bytesConsumed       = 683    numSamples          = 1024    channelMode         = 1    lfeFlag             = 0    dualMonoMode        = 0    sampleRate          = 48000 Rpe IAUDDEC1_InArgs:    size                = 16    numBytes            = 4778    desiredChannelMode  = 1    lfeFlag             = 0 Rpe IAUDDEC1_Status:    size                = 192    extendedError       = 0    data:      buf               = (nil)      bufsize           = 1      accessMask        = 16    validFlag           = 1    lfeFlag             = 0    bitRate             = 256000    sampleRate          = 48000    channelMode         = 1    pcmFormat           = 1    numSamples          = 1024    outputBitsPerSample = 16    bufInfo:      minNumInBufs      = 1      minNumOutBufs     = 1      minInBufSize      = 3840       minOutBufSize     = 4096     dualMonoMode        = 0 Rpe XDM1_BufDesc In:    numBufs             = 1    buffer index 0:      buf               = 0x41568dd6      bufsize           = 4778      accessMask        = 2 Rpe XDM1_BufDesc Out:    numBufs             = 1    buffer index 0:      buf               = 0x41573080      bufsize           = 4096      accessMask        = 2 Rpe decoder structure:    magic               = 1095913541    inputData           = ff f1 4c 80 55 61 a8 21 ...    inputDataSize       = 131072    inputReadIndex      = 89430    inputWriteIndex     = 94208    minInputBufSize     = 3840    outputData          = ac fe ab fe bd fe bd fe ...    outputDataSize      = 16384    outputReadIndex     = 4096    decoder             = AAC_ADEC_TI    line                = 0    inputTimestampIndex = 36    outputTimestampIndex = 30