Dear group,

 

This time with a proper subject ;)...

 

I want to integrate the DM6446 JPEG encoder
(xdc.useModule('ti.sdo.codecs.jpegenc.ce.JPEGENC')) into a codec server
to run on DSP side and create a matching ceapp on gpp side.

 

We're using DVSDK 1.30.01.41 (BIOS 5.31.08, CMEM 2.00.01, CE 2.00.01, FC
2.00.01, XDAIS 6.00.01, XDC 3.00.02). Our test environment is a dvevm
board plus our self designed DM6446 based pcb (both using 256MB).

 

I've used the video_copy example to setup both sides. I modified the
all.tcf file from the all_codecs dir to use 32kb L1 Cache again, plus
some modifications on heap/stack sizes. I have attached the server tcf &
cfg files (I hope attaching works)

 

I'm currently facing following problem:

 

Whenever I call IMGENC1_create on the engine the function returns an
error (if I pass NULL as params it succeeds but I can't do any
control/process calls on the encoder after creation).

 

I activated DSKT2 tracing and I receive the following output:

 

[DSP] @2,399,765tk: [+0 T:0x8fa0348c] ti.sdo.fc.dskt2 - _DSKT2_init>
Enter

[DSP] @2,399,839tk: [+0 T:0x8fa0348c] ti.sdo.fc.dskt2 - _DSKT2_init>
Exit

[DSP] @2,399,883tk: [+0 T:0x8fa0348c] ti.sdo.fc.dskt2 - DSKT2_createAlg>
Enter (scratchId=1, fxns=0x8fb66a84, parentAlg=0x0, params=0x8fe05cc0)

[DSP] @2,399,970tk: [+0 T:0x8fa0348c] ti.sdo.fc.dskt2 - _DSKT2_init>
Enter

[DSP] @2,400,016tk: [+0 T:0x8fa0348c] ti.sdo.fc.dskt2 - _DSKT2_init>
Exit

[DSP] @2,400,060tk: [+0 T:0x8fa0348c] ti.sdo.fc.dskt2 -
DSKT2_createAlg3> Enter (scratchId=1, fxns=0x8fb66a84, parentAlg=0x0,
params=0x8fe05cc0, extHeapId=-1881121600, singleHeap=0)

[DSP] @2,400,202tk: [+2 T:0x8fa0348c] ti.sdo.fc.dskt2 -
DSKT2_createAlg3> Num memory recs requested 8

[DSP] @2,400,276tk: [+2 T:0x8fa0348c] ti.sdo.fc.dskt2 -
DSKT2_createAlg3> Num memory recs requested 5

[DSP] @2,400,343tk: [+4 T:0x8fa0348c] ti.sdo.fc.dskt2 -
DSKT2_createAlg3> Requested memTab[0]: size=0x260, align=0x8,
space=IALG_EXTERNAL, attrs=IALG_PERSIST

[DSP] @2,400,434tk: [+4 T:0x8fa0348c] ti.sdo.fc.dskt2 -
DSKT2_createAlg3> Requested memTab[1]: size=0xe00, align=0x8,
space=IALG_EXTERNAL, attrs=IALG_SCRATCH

[DSP] @2,400,522tk: [+4 T:0x8fa0348c] ti.sdo.fc.dskt2 -
DSKT2_createAlg3> Requested memTab[2]: size=0x253, align=0x8,
space=IALG_EXTERNAL, attrs=IALG_PERSIST

[DSP] @2,400,611tk: [+4 T:0x8fa0348c] ti.sdo.fc.dskt2 -
DSKT2_createAlg3> Requested memTab[3]: size=0x1400, align=0x8,
space=IALG_EXTERNAL, attrs=IALG_SCRATCH

[DSP] @2,400,700tk: [+4 T:0x8fa0348c] ti.sdo.fc.dskt2 -
DSKT2_createAlg3> Requested memTab[4]: size=0xe54, align=0x80,
space=IALG_EXTERNAL, attrs=IALG_PERSIST

[DSP] @2,400,790tk: [+0 T:0x8fa0348c] ti.sdo.fc.dskt2 -
_DSKT2_assignInstanceMemory> Enter (scratchId=1, numRecs=5, extHeapId=1)

[DSP] @2,400,868tk: [+0 T:0x8fa0348c] ti.sdo.fc.dskt2 -
_DSKT2_usesInternalScratch> Enter (numRecs=5)

[DSP] @2,400,927tk: [+0 T:0x8fa0348c] ti.sdo.fc.dskt2 -
_DSKT2_usesInternalScratch> Exit (returnVal=0)

[DSP] @2,400,994tk: [+0 T:0x8fa0348c] ti.sdo.fc.dskt2 -
_DSKT2_allocateInDesignatedSpace> Enter (index=0,
ialgSpace=IALG_EXTERNAL, extHeapId=1)

[DSP] @2,401,081tk: [+0 T:0x8fa0348c] ti.sdo.fc.dskt2 -
_DSKT2_allocateInDesignatedSpace> Exit (returnVal=1)

[DSP] @2,401,145tk: [+0 T:0x8fa0348c] ti.sdo.fc.dskt2 -
_DSKT2_allocateInDesignatedSpace> Enter (index=1,
ialgSpace=IALG_EXTERNAL, extHeapId=1)

[DSP] @2,401,256tk: [+0 T:0x8fa0348c] ti.sdo.fc.dskt2 -
_DSKT2_allocateInDesignatedSpace> Exit (returnVal=1)

[DSP] @2,401,318tk: [+0 T:0x8fa0348c] ti.sdo.fc.dskt2 -
_DSKT2_allocateInDesignatedSpace> Enter (index=2,
ialgSpace=IALG_EXTERNAL, extHeapId=1)

[DSP] @2,401,403tk: [+0 T:0x8fa0348c] ti.sdo.fc.dskt2 -
_DSKT2_allocateInDesignatedSpace> Exit (returnVal=1)

[DSP] @2,401,466tk: [+0 T:0x8fa0348c] ti.sdo.fc.dskt2 -
_DSKT2_allocateInDesignatedSpace> Enter (index=3,
ialgSpace=IALG_EXTERNAL, extHeapId=1)

[DSP] @2,401,592tk: [+0 T:0x8fa0348c] ti.sdo.fc.dskt2 -
_DSKT2_allocateInDesignatedSpace> Exit (returnVal=1)

[DSP] @2,401,655tk: [+0 T:0x8fa0348c] ti.sdo.fc.dskt2 -
_DSKT2_allocateInDesignatedSpace> Enter (index=4,
ialgSpace=IALG_EXTERNAL, extHeapId=1)

[DSP] @2,401,772tk: [+0 T:0x8fa0348c] ti.sdo.fc.dskt2 -
_DSKT2_allocateInDesignatedSpace> Exit (returnVal=1)

[DSP] @2,401,834tk: [+0 T:0x8fa0348c] ti.sdo.fc.dskt2 -
_DSKT2_usesInternalScratch> Enter (numRecs=5)

[DSP] @2,401,893tk: [+0 T:0x8fa0348c] ti.sdo.fc.dskt2 -
_DSKT2_usesInternalScratch> Exit (returnVal=0)

[DSP] @2,401,952tk: [+0 T:0x8fa0348c] ti.sdo.fc.dskt2 -
_DSKT2_assignInstanceMemory> Exit (returnVal=1)

[DSP] @2,402,013tk: [+4 T:0x8fa0348c] ti.sdo.fc.dskt2 -
DSKT2_createAlg3> Allocated memTab[0]: base=0x88000250, size=0x260,
align=0x8, space=IALG_EXTERNAL, attrs=IALG_PERSIST

[DSP] @2,402,114tk: [+4 T:0x8fa0348c] ti.sdo.fc.dskt2 -
DSKT2_createAlg3> Allocated memTab[1]: base=0x880004b0, size=0xe00,
align=0x8, space=IALG_EXTERNAL, attrs=IALG_PERSIST

[DSP] @2,402,214tk: [+4 T:0x8fa0348c] ti.sdo.fc.dskt2 -
DSKT2_createAlg3> Allocated memTab[2]: base=0x880012b0, size=0x253,
align=0x8, space=IALG_EXTERNAL, attrs=IALG_PERSIST

[DSP] @2,402,314tk: [+4 T:0x8fa0348c] ti.sdo.fc.dskt2 -
DSKT2_createAlg3> Allocated memTab[3]: base=0x88001508, size=0x1400,
align=0x8, space=IALG_EXTERNAL, attrs=IALG_PERSIST

[DSP] @2,402,415tk: [+4 T:0x8fa0348c] ti.sdo.fc.dskt2 -
DSKT2_createAlg3> Allocated memTab[4]: base=0x88002980, size=0xe54,
align=0x80, space=IALG_EXTERNAL, attrs=IALG_PERSIST

[DSP] @2,402,525tk: [+0 T:0x8fa0348c] ti.sdo.fc.dskt2 -
_DSKT2_enqueueMemTab> Enter (segId=0, memTabSize=160, numRecs=5,
extHeapId=1)

[DSP] @2,402,609tk: [+0 T:0x8fa0348c] ti.sdo.fc.dskt2 -
_DSKT2_enqueueMemTab> Exit (status=TRUE)

[DSP] @2,402,771tk: [+7 T:0x8fa0348c] ti.sdo.fc.dskt2 -
DSKT2_createAlg3> algInit call failed -1

[DSP] @2,402,828tk: [+0 T:0x8fa0348c] ti.sdo.fc.dskt2 - DSKT2_freeAlg>
Enter (scratchMutexId=1, alg=0x88000250)

[DSP] @2,402,897tk: [+0 T:0x8fa0348c] ti.sdo.fc.dskt2 -
_DSKT2_dequeueMemTab> Enter (segId=0, alg=0x88000250)

[DSP] @2,402,969tk: [+0 T:0x8fa0348c] ti.sdo.fc.dskt2 -
_DSKT2_dequeueMemTab> Exit (memTab=0x8fa0bfe8)

[DSP] @2,403,033tk: [+0 T:0x8fa0348c] ti.sdo.fc.dskt2 -
_DSKT2_freeInstanceMemory> Enter (scratchMutexId=1, numRecs=5,
extHeapId=1)

[DSP] @2,403,108tk: [+0 T:0x8fa0348c] ti.sdo.fc.dskt2 -
_DSKT2_freeAllocatedMemory> Enter (scratchMutexId=1, number=5,
extHeapId=1)

[DSP] @2,403,183tk: [+0 T:0x8fa0348c] ti.sdo.fc.dskt2 -
_DSKT2_isSharedScratchAddr> Enter (scratchMutexId=1, addr=0x88000250)

[DSP] @2,403,259tk: [+0 T:0x8fa0348c] ti.sdo.fc.dskt2 -
_DSKT2_isSharedScratch> Exit (status=0 )

[DSP] @2,403,317tk: [+0 T:0x8fa0348c] ti.sdo.fc.dskt2 -
_DSKT2_isSharedScratchAddr> Enter (scratchMutexId=1, addr=0x880004b0)

[DSP] @2,403,390tk: [+0 T:0x8fa0348c] ti.sdo.fc.dskt2 -
_DSKT2_isSharedScratch> Exit (status=0 )

[DSP] @2,403,448tk: [+0 T:0x8fa0348c] ti.sdo.fc.dskt2 -
_DSKT2_isSharedScratchAddr> Enter (scratchMutexId=1, addr=0x880012b0)

[DSP] @2,403,521tk: [+0 T:0x8fa0348c] ti.sdo.fc.dskt2 -
_DSKT2_isSharedScratch> Exit (status=0 )

[DSP] @2,403,579tk: [+0 T:0x8fa0348c] ti.sdo.fc.dskt2 -
_DSKT2_isSharedScratchAddr> Enter (scratchMutexId=1, addr=0x88001508)

[DSP] @2,403,652tk: [+0 T:0x8fa0348c] ti.sdo.fc.dskt2 -
_DSKT2_isSharedScratch> Exit (status=0 )

[DSP] @2,403,711tk: [+0 T:0x8fa0348c] ti.sdo.fc.dskt2 -
_DSKT2_isSharedScratchAddr> Enter (scratchMutexId=1, addr=0x88002980)

[DSP] @2,403,784tk: [+0 T:0x8fa0348c] ti.sdo.fc.dskt2 -
_DSKT2_isSharedScratch> Exit (status=0 )

[DSP] @2,403,843tk: [+0 T:0x8fa0348c] ti.sdo.fc.dskt2 -
_DSKT2_freeAllocatedMemory> Exit (returnVal=1)

[DSP] @2,403,902tk: [+0 T:0x8fa0348c] ti.sdo.fc.dskt2 -
_DSKT2_usesInternalScratch> Enter (numRecs=5)

[DSP] @2,403,961tk: [+0 T:0x8fa0348c] ti.sdo.fc.dskt2 -
_DSKT2_usesInternalScratch> Exit (returnVal=0)

[DSP] @2,404,019tk: [+0 T:0x8fa0348c] ti.sdo.fc.dskt2 -
_DSKT2_freeInstanceMemory> Exit (returnVal=1)

[DSP] @2,404,078tk: [+0 T:0x8fa0348c] ti.sdo.fc.dskt2 - DSKT2_freeAlg>
Exit

[DSP] @2,404,123tk: [+0 T:0x8fa0348c] ti.sdo.fc.dskt2 -
DSKT2_createAlg3> Exit (algHandle=NULL)

[DSP] @2,404,178tk: [+0 T:0x8fa0348c] ti.sdo.fc.dskt2 - DSKT2_createAlg>
Exit (algHandle=0x0)

[DSP] @2,404,233tk: [+7 T:0x8fa0348c] ti.sdo.ce.alg.Algorithm -
Algorithm_create> Algorithm creation FAILED; make sure that 1) alg
params are correct/appropriate, 2) there is enough internal and external
algorithm memory available -- check DSKT2 settings for heap assignments
and scratch allocation

[DSP] @2,404,388tk: [+0 T:0x8fa0348c] ti.sdo.ce.alg.Algorithm -
Algorithm_delete> Enter(handle=0x8fa0bc68)

 

The IIMGENC1_Params are well setup (IMO), so it can't be 1) of the given
hint, so I assume it's 2 (DSKT2). The point where it fails is

[DSP] @2,402,771tk: [+7 T:0x8fa0348c] ti.sdo.fc.dskt2 -
DSKT2_createAlg3> algInit call failed -1

 

Questionable is the following sequence:

 

[DSP] @2,400,202tk: [+2 T:0x8fa0348c] ti.sdo.fc.dskt2 -
DSKT2_createAlg3> Num memory recs requested 8

[DSP] @2,400,276tk: [+2 T:0x8fa0348c] ti.sdo.fc.dskt2 -
DSKT2_createAlg3> Num memory recs requested 5

 

There seem to be 8 records requested but none is allocated but the
latter 5 records are allocated.

 

Replacing the used encoder in the server configuration file with the
simple Img1enc_copy encoder
(xdc.useModule('ti.sdo.ce.examples.codecs.imgenc1_copy.IMGENC1_COPY'))
all further processing is working w/o any problem. The DSKT2 output in
this case is similar and the algorithm creation succeeds. Here's the
output:

 

[DSP] @2,402,455tk: [+0 T:0x8fa0348c] ti.sdo.fc.dskt2 - _DSKT2_init>
Enter

[DSP] @2,402,532tk: [+0 T:0x8fa0348c] ti.sdo.fc.dskt2 - _DSKT2_init>
Exit

[DSP] @2,402,576tk: [+0 T:0x8fa0348c] ti.sdo.fc.dskt2 - DSKT2_createAlg>
Enter (scratchId=0, fxns=0x8fb5d610, parentAlg=0x0, params=0x8fe05cc0)

[DSP] @2,402,662tk: [+0 T:0x8fa0348c] ti.sdo.fc.dskt2 - _DSKT2_init>
Enter

[DSP] @2,402,706tk: [+0 T:0x8fa0348c] ti.sdo.fc.dskt2 - _DSKT2_init>
Exit

[DSP] @2,402,750tk: [+0 T:0x8fa0348c] ti.sdo.fc.dskt2 -
DSKT2_createAlg3> Enter (scratchId=0, fxns=0x8fb5d610, parentAlg=0x0,
params=0x8fe05cc0, extHeapId=-1881121600, singleHeap=0)

[DSP] @2,402,874tk: [+2 T:0x8fa0348c] ti.sdo.fc.dskt2 -
DSKT2_createAlg3> Num memory recs requested 1

[DSP] @2,402,938tk: [+4 T:0x8fa0348c] ti.sdo.fc.dskt2 -
DSKT2_createAlg3> Requested memTab[0]: size=0x4, align=0x0,
space=IALG_EXTERNAL, attrs=IALG_PERSIST

[DSP] @2,403,027tk: [+0 T:0x8fa0348c] ti.sdo.fc.dskt2 -
_DSKT2_assignInstanceMemory> Enter (scratchId=0, numRecs=1, extHeapId=1)

[DSP] @2,403,101tk: [+0 T:0x8fa0348c] ti.sdo.fc.dskt2 -
_DSKT2_usesInternalScratch> Enter (numRecs=1)

[DSP] @2,403,160tk: [+0 T:0x8fa0348c] ti.sdo.fc.dskt2 -
_DSKT2_usesInternalScratch> Exit (returnVal=0)

[DSP] @2,403,226tk: [+0 T:0x8fa0348c] ti.sdo.fc.dskt2 -
_DSKT2_allocateInDesignatedSpace> Enter (index=0,
ialgSpace=IALG_EXTERNAL, extHeapId=1)

[DSP] @2,403,310tk: [+0 T:0x8fa0348c] ti.sdo.fc.dskt2 -
_DSKT2_allocateInDesignatedSpace> Exit (returnVal=1)

[DSP] @2,403,373tk: [+0 T:0x8fa0348c] ti.sdo.fc.dskt2 -
_DSKT2_usesInternalScratch> Enter (numRecs=1)

[DSP] @2,403,431tk: [+0 T:0x8fa0348c] ti.sdo.fc.dskt2 -
_DSKT2_usesInternalScratch> Exit (returnVal=0)

[DSP] @2,403,489tk: [+0 T:0x8fa0348c] ti.sdo.fc.dskt2 -
_DSKT2_assignInstanceMemory> Exit (returnVal=1)

[DSP] @2,403,551tk: [+4 T:0x8fa0348c] ti.sdo.fc.dskt2 -
DSKT2_createAlg3> Allocated memTab[0]: base=0x88000250, size=0x4,
align=0x0, space=IALG_EXTERNAL, attrs=IALG_PERSIST

[DSP] @2,403,652tk: [+0 T:0x8fa0348c] ti.sdo.fc.dskt2 -
_DSKT2_enqueueMemTab> Enter (segId=0, memTabSize=80, numRecs=1,
extHeapId=1)

[DSP] @2,403,735tk: [+0 T:0x8fa0348c] ti.sdo.fc.dskt2 -
_DSKT2_enqueueMemTab> Exit (status=TRUE)

[DSP] @2,403,797tk: [+4 T:0x8fa0348c] ti.sdo.fc.dskt2 -
DSKT2_createAlg3> Algorithm init successful.

 

The DSKT2 output is similar up to the DSKT2_createAlg3 call (except much
less memory records are allocated).

 

Some questions:

 

Is there a generic tcf file for using the TI JPEG encoder, with a proper
DSKT2 setup for the TI JPEG encoder?

 

Since I assume it's a very simple thing that I'm currently doing wrong
(I'm quite new to the matter): Has anyone else faced the same problem
and found the simple solution?

 

Any comment/hint is appreciated.

 

Regards & thanks in advance

 

Frank Bhattacharyya

 

 

 

_______________________________________________
Davinci-linux-open-source mailing list
[email protected]
http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source

Reply via email to