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