Hi Chase,
thank you for your quick reply. Here's some additional information: I quite confident that it's an IMGENC1 encoder since I'm also querying this information from the encoder (unfortunately left that out in the trace log). Here's the missing output ####### CEapp-> alg[0]: name = jpgenc typeTab = ti.sdo.ce.image1.IIMGENC1 local = 0 Finally replacing all IMGENC1_ with IMGENC_ function calls/structs, leads to linker errors since the linker uses 1> will link with ti.sdo.ce.image1:lib/imgdec1.a470MV;lib/imgenc1.a470MV Instead of the image libraries. Finally the encoder datasheet states that it's: "eXpressDSP(tm) Digital Media (XDM 1.0 IIMGENC1) interface compliant" Maybe my problem is a tools versioning problem (thanks for the hint with DVSDK 2.00 which made me look for versions again) There's a file named "JPEGENC.version.2.00.002.wizardversion.0.5.2" within the JPEG encoder directory structure, I assume that's the version. There are following requirements listed in the encoder user manual DSP/BIOS 5.31.02, we're using 5.31.08 CGTOOLS 6.0.14, we're using 6.0.15 FC 2.20.01, we're using 2.00.01. This is not an explicit requirement, but it's listed in the section 2.3.2 (installing FC). Maybe this is the problem, I'm currently downloading/installing the new FC. I'll keep you informed. Regards Frank Von: Maupin, Chase [mailto:[email protected]] Gesendet: Donnerstag, 13. August 2009 15:57 An: Frank Bhattacharyya; [email protected] Betreff: RE: (no subject) 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
