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.

Do C64x+ video and audio codecs use caches?

Other Parts Discussed in Thread: DM3730

If I set Memory_CACHED in output buffer attribute of audio codecs (AAC, MP3) on DM3730 C64x+, I got noisy audio. Otherwise, if I set  Memory_NONECACHED, it is O.K. I checked CE trace, I got

[DSP] @0,121,507tk: [+5 T:0x8fbe1f64 S:0x8fbe472c] CN - NODE> 0x8fbe1a30(mp3dec#0) call(algHandle=0x8fbe1af8, msg=0x8d905880); messageId=0x00026182
[DSP] @0,121,606tk: [+0 T:0x8fbe1f64 S:0x8fbe455c] OM - Memory_cacheInv> Enter(addr=0x8b52f0b0, sizeInBytes=2880)
[DSP] @0,121,672tk: [+0 T:0x8fbe1f64 S:0x8fbe455c] OM - Memory_cacheInv> return
[DSP] @0,121,714tk: [+0 T:0x8fbe1f64 S:0x8fbe455c] OM - Memory_cacheInv> Enter(addr=0x8b529000, sizeInBytes=4608)
[DSP] @0,121,779tk: [+0 T:0x8fbe1f64 S:0x8fbe455c] OM - Memory_cacheInv> return
[DSP] @0,121,823tk: [+0 T:0x8fbe1f64 S:0x8fbe451c] ti.sdo.ce.audio1.AUDDEC1 - AUDDEC1_process> Enter (handle=0x8fbe1af8, inBufs=0x8fbe45c4, outBufs=0x8fbe4688, inArgs=0x8d905a38, outArgs=0x8d905a48)
[DSP] @0,121,938tk: [+5 T:0x8fbe1f64 S:0x8fbe44fc] CV - VISA_enter(visa=0x8fbe1af8): algHandle = 0x8fbe1b30
[DSP] @0,122,000tk: [+0 T:0x8fbe1f64 S:0x8fbe44dc] ti.sdo.ce.alg.Algorithm - Algorithm_activate> Enter(alg=0x8fbe1b30)
[DSP] @0,122,071tk: [+0 T:0x8fbe1f64 S:0x8fbe44dc] ti.sdo.ce.alg.Algorithm - Algorithm_activate> Exit
[DSP] @0,123,591tk: [+5 T:0x8fbe1f64 S:0x8fbe44fc] CV - VISA_exit(visa=0x8fbe1af8): algHandle = 0x8fbe1b30
[DSP] @0,123,700tk: [+0 T:0x8fbe1f64 S:0x8fbe44dc] ti.sdo.ce.alg.Algorithm - Algorithm_deactivate> Enter(alg=0x8fbe1b30)
[DSP] @0,123,769tk: [+0 T:0x8fbe1f64 S:0x8fbe44dc] ti.sdo.ce.alg.Algorithm - Algorithm_deactivate> Exit
[DSP] @0,123,823tk: [+0 T:0x8fbe1f64 S:0x8fbe451c] ti.sdo.ce.audio1.AUDDEC1 - AUDDEC1_process> Exit (handle=0x8fbe1af8, retVal=0x0)
[DSP] @0,123,892tk: [+0 T:0x8fbe1f64 S:0x8fbe455c] OM - Memory_cacheWb> Enter(addr=0x8b52f0b0, sizeInBytes=2880)
[DSP] @0,123,965tk: [+0 T:0x8fbe1f64 S:0x8fbe455c] OM - Memory_cacheWb> return
[DSP] @0,124,007tk: [+0 T:0x8fbe1f64 S:0x8fbe455c] OM - Memory_cacheWb> Enter(addr=0x8b529000, sizeInBytes=4608)
[DSP] @0,124,086tk: [+0 T:0x8fbe1f64 S:0x8fbe455c] OM - Memory_cacheWb> return
[DSP] @0,124,135tk: [+5 T:0x8fbe1f64 S:0x8fbe472c] CN - NODE> returned from call(algHandle=0x8fbe1af8, msg=0x8d905880); messageId=0x00026182
[DSP] @0,124,834tk: [+0 T:0x8fbdcf74 S:0x8fbe0f34] CR - processRmsCmd(0x8d9048a8, 4056): cmd = 5
[DSP] @0,124,897tk: [+0 T:0x8fbdcf74 S:0x8fbe0f34] CR - remote time = 0x0, trace buffer size = 4032

But I do same thing in video codecs (H264, MPEG4), I don't see any flaws and I don't see Memory_cacheInv/Memory_cacheWb in CE trace as follows,

[DSP] @24,932,166tk: [+5 T:0x8fbe207c S:0x8fbe8044] CN - NODE> 0x8fbe1a30(h264dec#0) call(algHandle=0x8fbe1af8, msg=0x8d905880); messageId=0x000265df
[DSP] @24,932,267tk: [+0 T:0x8fbe207c S:0x8fbe7edc] ti.sdo.ce.video2.VIDDEC2 - VIDDEC2_process> Enter (handle=0x8fbe1af8, inBufs=0x8fbe7f84, outBufs=0x8fbe8048, inArgs=0x8d9059f8, outArgs=0x8d905a04)
[DSP] @24,932,387tk: [+5 T:0x8fbe207c S:0x8fbe7ebc] CV - VISA_enter(visa=0x8fbe1af8): algHandle = 0x8fbe1b30
[DSP] @24,932,451tk: [+0 T:0x8fbe207c S:0x8fbe7e9c] ti.sdo.ce.alg.Algorithm - Algorithm_activate> Enter(alg=0x8fbe1b30)
[DSP] @24,932,524tk: [+0 T:0x8fbe207c S:0x8fbe7e9c] ti.sdo.ce.alg.Algorithm - Algorithm_activate> Exit
[DSP] @24,971,566tk: [+5 T:0x8fbe207c S:0x8fbe7ebc] CV - VISA_exit(visa=0x8fbe1af8): algHandle = 0x8fbe1b30
[DSP] @24,971,682tk: [+0 T:0x8fbe207c S:0x8fbe7e9c] ti.sdo.ce.alg.Algorithm - Algorithm_deactivate> Enter(alg=0x8fbe1b30)
[DSP] @24,971,753tk: [+0 T:0x8fbe207c S:0x8fbe7e9c] ti.sdo.ce.alg.Algorithm - Algorithm_deactivate> Exit
[DSP] @24,971,808tk: [+0 T:0x8fbe207c S:0x8fbe7edc] ti.sdo.ce.video2.VIDDEC2 - VIDDEC2_process> Exit (handle=0x8fbe1af8, retVal=0x0)
[DSP] @24,971,892tk: [+5 T:0x8fbe207c S:0x8fbe8044] CN - NODE> returned from call(algHandle=0x8fbe1af8, msg=0x8d905880); messageId=0x000265df
[DSP] @24,973,039tk: [+0 T:0x8fbdcf74 S:0x8fbe0f34] CR - processRmsCmd(0x8d9048a8, 4056): cmd = 5
[DSP] @24,973,103tk: [+0 T:0x8fbdcf74 S:0x8fbe0f34] CR - remote time = 0x0, trace buffer size = 4032

It seems to me that video/audio codecs DSP don't use any cache. Is this correct? If yes, I just wonder why caches are not used in video and audio codecs.

Thanks

Kai