Frank, You may need to use the IMGENC APIs rather than the IMGENC1 APIs for this release of the JPEG codec. Last I checked the JPEG encoder for DM6446 used the xDM 0.9 APIs.
If you can you may want to upgrade to DVSDK 2.00 which contains DMAI. The DMAI package includes sample applications for JPEG encode and decode for DM6446. At the very least this might help you see how to use the image encoder. Sincerely, Chase Maupin Software Applications Catalog DSP Products e-mail: [email protected] phone: (281) 274-3285 For support: Forums - http://community.ti.com/forums/ Wiki - http://wiki.davincidsp.com/ ________________________________ From: [email protected] [mailto:[email protected]] On Behalf Of Frank Bhattacharyya Sent: Thursday, August 13, 2009 7:27 AM To: [email protected] Subject: (no subject) Dear group, 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 boards (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). 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) 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. Some questions: Is there a generic tcf file for using the TI JPEG encoder? Since I assume it's a very simple thing that I'm currently doing wrong: Has anyone else faced the same problem and found the simple solution? Any comment/hint is appreciated. Regards & thanks in advance Frank
_______________________________________________ Davinci-linux-open-source mailing list [email protected] http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source
