TMS320 DSP Algorithm Interoperability Standard QualiTI Compliance and Performance Testing
Date | Fri Dec 12 2008 12:32:20 GMT+0530 (GMT+05:30)
Vendor | TI
Algorithm | MP4VENC
Architecture | C64P
Algorithm Base Directory: C:\ceutils\examples\Sudha_RTSC_packages\packages-production\ti\sdo\codecs\mpeg4enc\lib Algorithm Archive(s): .\mp4venc_ti.l64P Header File(s):
Compliance Test Report
Test Results | PASS: 6 FAIL: 0 Skipped: 0 Not apply: 0 Total: 6
Test Notes This report has been generated with QualiTI Version 6.10.01 - the XDAIS compliance and performance test suite.

XDAIS Rules 8, 9, 10: Namespace compliance
Report: Passed
Test Description:

(Rule 8) All external definitions must be either API identifiers or API and vendor prefixed.
(Rule 9) All undefined references must refer either to the operations specified in Appendix B (a subset of C runtime support library functions and a subset of the DSP/BIOS HWI API functions), or TI's DSPLIB or IMGLIB functions or other XDAIS-compliant modules.
(Rule 10) All modules must follow the eXpressDSP naming conventions for those external declarations disclosed to the client.

Test Status Details:

Test passed.

Test Execution Log: XDAIS Rules 8, 9 and 10 execution log

XDAIS Rule 12: IALG interface implementation Report: Passed Test Description: All algorithms must implement the IALG interface. Test Status Details: Test passed. Test Execution Log: XDAIS Rule 12 execution log

XDAIS Rule 13+: correct linker section names
Report: Passed
Test Description:

Each of the IALG methods implemented by an algorithm must be independently relocatable.
Additional rule: there should be no non-standard linker sections. (Standard linker sections are: ".cinit", ".switch", ".far", ".text", ".const", ".bss", ".pinit".)

Test Status Details:

Test passed.

Test Execution Log: XDAIS Rule 13+ execution log

XDAIS Rule 15: library filename extension Report: Passed Test Description: Each XDAIS-compliant algorithm must be packaged in an archive which has a name that follows a uniform naming convention. Test Status Details: Test passed. Test Execution Log: XDAIS Rule 15 execution log
XDAIS Rule 25: All C6x algorithms must be supplied in little-endian format Report: Passed Test Description: All C6x algorithms must be supplied in little-endian format. Test Status Details: Test passed. Test Execution Log: XDAIS Rule 25 execution log
XDAIS Rule 26: All static/global data must be far on c6x Report: Passed Test Description: All C6x algorithms must access all static and global data as far data. Test Status Details: Test passed. Test Execution Log: XDAIS Rule 26 execution log
Performance Test Report
Test Results | PASS: 2 FAIL: 0 Skipped: 0 Not apply: 0 Total: 2
Test Notes This report has been generated with QualiTI Version 6.10.01 - the XDAIS compliance and performance test suite.
XDAIS Rule 20: must declare worst-case stack requirements Report: Passed Test Description: All algorithms must characterize their worst-case stack space memory requirements (including alignment). Test Status Details: Performance test completed. Calculated Worst Case Stack is 2504 bytes. Test Execution Log: XDAIS Rule 20 execution log
XDAIS Rules 21, 22: must characterize static data & program memory requirements Report: Passed Test Description: All algorithms must characterize their static data & program memory requirements Test Status Details: Performance test completed. CODE, DATA & UDATA sections characterized Test Execution Log: XDAIS Rules 21, 22 execution log

Test execution log for XDAIS Rules 8, 9 and 10:

    Running test 'XDAIS Rules 8, 9 and 10'
    Extracting names of global symbols defined by the algorithm...
     Running command:> "C:\CCStudio_v3.3\C6000\cgtools\bin\nm6x.exe" -g C:\ceutils\examples\Sudha_RTSC_packages\packages-production\ti\sdo\codecs\mpeg4enc\lib\.\mp4venc_ti.l64P | "D:\XDAIS_QualiTI_Tools\xdais_6_10_01\packages\ti\xdais\qualiti\bin\grep\grep.exe" " [TBCU] "
                       (from "C:\Documents and Settings\x0088154\Local Settings\Temp\qualiti_runcmd_25446.sh"
      0000e4c0 B _MP4VENC_TI_IALG
      0000e4ec B _MP4VENC_TI_IDMA3
      0000e4c0 B _MP4VENC_TI_IMP4VENC
      0000e500 T _MP4VENC_TI_activate
      0000e0a0 T _MP4VENC_TI_alloc
      0000d120 T _MP4VENC_TI_control
      0000e540 T _MP4VENC_TI_deactivate
      0000bd40 T _MP4VENC_TI_encode
      0000e5a0 T _MP4VENC_TI_exit
      0000e380 T _MP4VENC_TI_free
      0000e5c0 T _MP4VENC_TI_init
      0000a900 T _MP4VENC_TI_initObj
      0000e600 T _MP4VENC_TI_numAlloc
      00000000 U __cmpd
      00000000 U __divd
      00000000 U __divi
      00000000 U __divli
      00000000 U __divu
      00000000 U __fixdi
      00000000 U __fltid
      00000000 U __mpyd
      00000000 U __remi
      00000000 U __remu
      00000000 U __strasgi_64plus
      00000000 U _memcpy
      00000000 U _strcpy
      00000000 U _strlen
    Verifying that all global symbols are named XXX_TI_xxx ...
    and that no blacklisted external references are made

back

Test execution log for XDAIS Rule 12:

    Running test 'XDAIS Rule 12'
    Extracting names of global BSS data symbols...
     Running command:> "C:\CCStudio_v3.3\C6000\cgtools\bin\nm6x.exe" -g C:\ceutils\examples\Sudha_RTSC_packages\packages-production\ti\sdo\codecs\mpeg4enc\lib\.\mp4venc_ti.l64P | "D:\XDAIS_QualiTI_Tools\xdais_6_10_01\packages\ti\xdais\qualiti\bin\grep\grep.exe" " [BD] "
                       (from "C:\Documents and Settings\x0088154\Local Settings\Temp\qualiti_runcmd_25447.sh"
      000000b4 D _IMP4VENC_PARAMS
      0000e4c0 B _MP4VENC_TI_IALG
      0000e4ec B _MP4VENC_TI_IDMA3
      0000e4c0 B _MP4VENC_TI_IMP4VENC
    Verifying that objects 'MP4VENC_TI_IALG' and 'MP4VENC_TI_IMP4VENC' are defined...
    Data object 'MP4VENC_TI_IALG' found.
    Data object 'MP4VENC_TI_IMP4VENC' found.

back

Test execution log for XDAIS Rule 13+:

    Running test 'XDAIS Rule 13+'
    Extracting names of all sections in which all algorithms' symbols are...
     Running command:> "D:\XDAIS_QualiTI_Tools\cg_xml\utils\ofd6x.exe" -x --xml_indent=0 --obj_display=none,sections,header C:\ceutils\examples\Sudha_RTSC_packages\packages-production\ti\sdo\codecs\mpeg4enc\lib\.\mp4venc_ti.l64P | "D:\XDAIS_QualiTI_Tools\cg_xml\bin\sectti.exe" --csv
                       (from "C:\Documents and Settings\x0088154\Local Settings\Temp\qualiti_runcmd_25448.sh"
      Reading from stdin ...
      Library,Filename,Section,Type,Size
      C:/ceutils/examples/Sudha_RTSC_packages/packages-production/ti/sdo/codecs/mpeg4enc/lib/./mp4venc_ti.l64P,mp4venc_ti_plink.o64P,.const:MP4VENC_TI_dSect1,DATA,30584
      C:/ceutils/examples/Sudha_RTSC_packages/packages-production/ti/sdo/codecs/mpeg4enc/lib/./mp4venc_ti.l64P,mp4venc_ti_plink.o64P,.far:MP4VENC_TI_uSect1,UDATA,64
      C:/ceutils/examples/Sudha_RTSC_packages/packages-production/ti/sdo/codecs/mpeg4enc/lib/./mp4venc_ti.l64P,mp4venc_ti_plink.o64P,.text:MP4VENC_TI_cSect1,CODE,148064
      C:/ceutils/examples/Sudha_RTSC_packages/packages-production/ti/sdo/codecs/mpeg4enc/lib/./mp4venc_ti.l64P,mp4venc_ti_plink.o64P,.switch,DATA,160
      C:/ceutils/examples/Sudha_RTSC_packages/packages-production/ti/sdo/codecs/mpeg4enc/lib/./mp4venc_ti.l64P,mp4venc_ti_plink.o64P,.cinit,DATA,12652
      C:/ceutils/examples/Sudha_RTSC_packages/packages-production/ti/sdo/codecs/mpeg4enc/lib/./mp4venc_ti.l64P,mp4venc_ti_plink.o64P,.text:_MP4VENC_TI_numAlloc,CODE,32
      C:/ceutils/examples/Sudha_RTSC_packages/packages-production/ti/sdo/codecs/mpeg4enc/lib/./mp4venc_ti.l64P,mp4venc_ti_plink.o64P,.text:_MP4VENC_TI_moved,CODE,32
      C:/ceutils/examples/Sudha_RTSC_packages/packages-production/ti/sdo/codecs/mpeg4enc/lib/./mp4venc_ti.l64P,mp4venc_ti_plink.o64P,.text:_MP4VENC_TI_initObj,CODE,5184
      C:/ceutils/examples/Sudha_RTSC_packages/packages-production/ti/sdo/codecs/mpeg4enc/lib/./mp4venc_ti.l64P,mp4venc_ti_plink.o64P,.text:_MP4VENC_TI_init,CODE,32
      C:/ceutils/examples/Sudha_RTSC_packages/packages-production/ti/sdo/codecs/mpeg4enc/lib/./mp4venc_ti.l64P,mp4venc_ti_plink.o64P,.text:_MP4VENC_TI_free,CODE,128
      C:/ceutils/examples/Sudha_RTSC_packages/packages-production/ti/sdo/codecs/mpeg4enc/lib/./mp4venc_ti.l64P,mp4venc_ti_plink.o64P,.text:_MP4VENC_TI_exit,CODE,32
      C:/ceutils/examples/Sudha_RTSC_packages/packages-production/ti/sdo/codecs/mpeg4enc/lib/./mp4venc_ti.l64P,mp4venc_ti_plink.o64P,.text:_MP4VENC_TI_encode,CODE,5088
      C:/ceutils/examples/Sudha_RTSC_packages/packages-production/ti/sdo/codecs/mpeg4enc/lib/./mp4venc_ti.l64P,mp4venc_ti_plink.o64P,.text:_MP4VENC_TI_deactivate,CODE,64
      C:/ceutils/examples/Sudha_RTSC_packages/packages-production/ti/sdo/codecs/mpeg4enc/lib/./mp4venc_ti.l64P,mp4venc_ti_plink.o64P,.text:_MP4VENC_TI_control,CODE,3968
      C:/ceutils/examples/Sudha_RTSC_packages/packages-production/ti/sdo/codecs/mpeg4enc/lib/./mp4venc_ti.l64P,mp4venc_ti_plink.o64P,.text:_MP4VENC_TI_alloc,CODE,352
      C:/ceutils/examples/Sudha_RTSC_packages/packages-production/ti/sdo/codecs/mpeg4enc/lib/./mp4venc_ti.l64P,mp4venc_ti_plink.o64P,.text:_MP4VENC_TI_activate,CODE,64
      C:/ceutils/examples/Sudha_RTSC_packages/packages-production/ti/sdo/codecs/mpeg4enc/lib/./mp4venc_ti.l64P,mp4venc_ti_plink.o64P,.text:_MP4VENC_TI_dmaInit,CODE,96
      C:/ceutils/examples/Sudha_RTSC_packages/packages-production/ti/sdo/codecs/mpeg4enc/lib/./mp4venc_ti.l64P,mp4venc_ti_plink.o64P,.text:_MP4VENC_TI_dmaGetChannels,CODE,224
      C:/ceutils/examples/Sudha_RTSC_packages/packages-production/ti/sdo/codecs/mpeg4enc/lib/./mp4venc_ti.l64P,mp4venc_ti_plink.o64P,.text:_MP4VENC_TI_dmaGetChannelCnt,CODE,32
      C:/ceutils/examples/Sudha_RTSC_packages/packages-production/ti/sdo/codecs/mpeg4enc/lib/./mp4venc_ti.l64P,mp4venc_ti_plink.o64P,.text:_MP4VENC_TI_dmaChangeChannels,CODE,96
    Verifying that IALG functions are in separate sections,
    i.e. that there exist sections that match regexp /\.text:.*[aA]lloc.*/,
    and also that there are no non-standard sections.

back

Test execution log for XDAIS Rule 15:

    Running test 'XDAIS Rule 15'
    Verifying that the extension for library ".\mp4venc_ti.l64P" is ".l64P"
    Verifying that the file ".\mp4venc_ti.l64P" is really a library, and not a partially linked object file or something like that.
     Running command:> "D:\XDAIS_QualiTI_Tools\cg_xml\utils\ofd6x.exe" -x --xml_indent=0 --obj_display=none,sections,header C:\ceutils\examples\Sudha_RTSC_packages\packages-production\ti\sdo\codecs\mpeg4enc\lib\.\mp4venc_ti.l64P | "D:\XDAIS_QualiTI_Tools\xdais_6_10_01\packages\ti\xdais\qualiti\bin\grep\grep.exe" "<archive>"
                       (from "C:\Documents and Settings\x0088154\Local Settings\Temp\qualiti_runcmd_25449.sh"
      <archive>

back

Test execution log for XDAIS Rule 20:

    Running test 'XDAIS Rule 20'
    Using call_graph on ofd output to find out worst case stack...
     Running command:> "D:\XDAIS_QualiTI_Tools\cg_xml\utils\ofd6x.exe" -xg --xml_indent=0 --obj_display=none,header,optheader,symbols --dwarf_display=none,dinfo  C:\ceutils\examples\Sudha_RTSC_packages\packages-production\ti\sdo\codecs\mpeg4enc\lib\.\mp4venc_ti.l64P | "D:\XDAIS_QualiTI_Tools\cg_xml\bin\call_graph.exe" --stack_max
                       (from "C:\Documents and Settings\x0088154\Local Settings\Temp\qualiti_runcmd_25450.sh"
      Reading from stdin ...
      The function which uses the most stack also makes no direct function calls.
      The max stack size is almost certainly too low.  Please view the online
      documentation with the command 'perldoc call_graph.pl' for possible
      explanations.
      _MP4VENC_TI_putpict_h263 : wcs = 2504
    Extracting worst case stack from a stdout line that ends with ': wcs = <num>'
    Calculated worst case stack is 2504 bytes.

back

Test execution log for XDAIS Rules 21, 22:

    Running test 'XDAIS Rules 21, 22'
    Using sectti on ofd output to find static data & program memory requirements...
     Running command:> "D:\XDAIS_QualiTI_Tools\cg_xml\utils\ofd6x.exe" -x --xml_indent=0 --obj_display=none,sections,header C:\ceutils\examples\Sudha_RTSC_packages\packages-production\ti\sdo\codecs\mpeg4enc\lib\.\mp4venc_ti.l64P | "D:\XDAIS_QualiTI_Tools\cg_xml\bin\sectti.exe"
                       (from "C:\Documents and Settings\x0088154\Local Settings\Temp\qualiti_runcmd_25451.sh"
      Reading from stdin ...
      ====================================================================
      REPORT FOR LIBRARY: C:/ceutils/examples/Sudha_RTSC_packages/packages-production/ti/sdo/codecs/mpeg4enc/lib/./mp4venc_ti.l64P
      ====================================================================

      ************************************************************
      REPORT FOR FILE: mp4venc_ti_plink.o64P
      ************************************************************
                                Name : Size (dec)  Size (hex)  Type
      ------------------------------ : ----------  ----------  ----
            .const:MP4VENC_TI_dSect1 :      30584  0x00007778  DATA
              .far:MP4VENC_TI_uSect1 :         64  0x00000040  UDATA
             .text:MP4VENC_TI_cSect1 :     148064  0x00024260  CODE
                             .switch :        160  0x000000a0  DATA
                              .cinit :      12652  0x0000316c  DATA
          .text:_MP4VENC_TI_numAlloc :         32  0x00000020  CODE
             .text:_MP4VENC_TI_moved :         32  0x00000020  CODE
           .text:_MP4VENC_TI_initObj :       5184  0x00001440  CODE
              .text:_MP4VENC_TI_init :         32  0x00000020  CODE
              .text:_MP4VENC_TI_free :        128  0x00000080  CODE
              .text:_MP4VENC_TI_exit :         32  0x00000020  CODE
            .text:_MP4VENC_TI_encode :       5088  0x000013e0  CODE
        .text:_MP4VENC_TI_deactivate :         64  0x00000040  CODE
           .text:_MP4VENC_TI_control :       3968  0x00000f80  CODE
             .text:_MP4VENC_TI_alloc :        352  0x00000160  CODE
          .text:_MP4VENC_TI_activate :         64  0x00000040  CODE
           .text:_MP4VENC_TI_dmaInit :         96  0x00000060  CODE
      .text:_MP4VENC_TI_dmaGetChannels :        224  0x000000e0  CODE
      .text:_MP4VENC_TI_dmaGetChannelCnt :         32  0x00000020  CODE
      .text:_MP4VENC_TI_dmaChangeChannels :         96  0x00000060  CODE

      ------------------------------------------------------------
      Totals by section type
      ------------------------------------------------------------
        Uninitialized Data :         64  0x00000040
          Initialized Data :      43396  0x0000a984
                      Code :     163488  0x00027ea0

back

Test execution log for XDAIS Rule 25:

    Running test 'XDAIS Rule 25'
    Using ofd output to parse for endianness attribute...
     Running command:> "D:\XDAIS_QualiTI_Tools\cg_xml\utils\ofd6x.exe" -x --xml_indent=0 --obj_display=none,header C:\ceutils\examples\Sudha_RTSC_packages\packages-production\ti\sdo\codecs\mpeg4enc\lib\.\mp4venc_ti.l64P | "D:\XDAIS_QualiTI_Tools\xdais_6_10_01\packages\ti\xdais\qualiti\bin\grep\grep.exe" "<endian>"
                       (from "C:\Documents and Settings\x0088154\Local Settings\Temp\qualiti_runcmd_25452.sh"
      <endian>little</endian>

back

Test execution log for XDAIS Rule 26:

    Running test 'XDAIS Rule 26'
    Extracting names of all used sections to see if there is a '.bss' in there.
    [Using output generated by the command from test 'XDAIS Rule 13+"]:
    Running command:> "D:\XDAIS_QualiTI_Tools\cg_xml\utils\ofd6x.exe" -x --xml_indent=0 --obj_display=none,sections,header C:\ceutils\examples\Sudha_RTSC_packages\packages-production\ti\sdo\codecs\mpeg4enc\lib\.\mp4venc_ti.l64P | "D:\XDAIS_QualiTI_Tools\cg_xml\bin\sectti.exe" --csv
                      (from "C:\Documents and Settings\x0088154\Local Settings\Temp\qualiti_runcmd_25448.sh"
    Reading from stdin ...
    Library,Filename,Section,Type,Size
    C:/ceutils/examples/Sudha_RTSC_packages/packages-production/ti/sdo/codecs/mpeg4enc/lib/./mp4venc_ti.l64P,mp4venc_ti_plink.o64P,.const:MP4VENC_TI_dSect1,DATA,30584
    C:/ceutils/examples/Sudha_RTSC_packages/packages-production/ti/sdo/codecs/mpeg4enc/lib/./mp4venc_ti.l64P,mp4venc_ti_plink.o64P,.far:MP4VENC_TI_uSect1,UDATA,64
    C:/ceutils/examples/Sudha_RTSC_packages/packages-production/ti/sdo/codecs/mpeg4enc/lib/./mp4venc_ti.l64P,mp4venc_ti_plink.o64P,.text:MP4VENC_TI_cSect1,CODE,148064
    C:/ceutils/examples/Sudha_RTSC_packages/packages-production/ti/sdo/codecs/mpeg4enc/lib/./mp4venc_ti.l64P,mp4venc_ti_plink.o64P,.switch,DATA,160
    C:/ceutils/examples/Sudha_RTSC_packages/packages-production/ti/sdo/codecs/mpeg4enc/lib/./mp4venc_ti.l64P,mp4venc_ti_plink.o64P,.cinit,DATA,12652
    C:/ceutils/examples/Sudha_RTSC_packages/packages-production/ti/sdo/codecs/mpeg4enc/lib/./mp4venc_ti.l64P,mp4venc_ti_plink.o64P,.text:_MP4VENC_TI_numAlloc,CODE,32
    C:/ceutils/examples/Sudha_RTSC_packages/packages-production/ti/sdo/codecs/mpeg4enc/lib/./mp4venc_ti.l64P,mp4venc_ti_plink.o64P,.text:_MP4VENC_TI_moved,CODE,32
    C:/ceutils/examples/Sudha_RTSC_packages/packages-production/ti/sdo/codecs/mpeg4enc/lib/./mp4venc_ti.l64P,mp4venc_ti_plink.o64P,.text:_MP4VENC_TI_initObj,CODE,5184
    C:/ceutils/examples/Sudha_RTSC_packages/packages-production/ti/sdo/codecs/mpeg4enc/lib/./mp4venc_ti.l64P,mp4venc_ti_plink.o64P,.text:_MP4VENC_TI_init,CODE,32
    C:/ceutils/examples/Sudha_RTSC_packages/packages-production/ti/sdo/codecs/mpeg4enc/lib/./mp4venc_ti.l64P,mp4venc_ti_plink.o64P,.text:_MP4VENC_TI_free,CODE,128
    C:/ceutils/examples/Sudha_RTSC_packages/packages-production/ti/sdo/codecs/mpeg4enc/lib/./mp4venc_ti.l64P,mp4venc_ti_plink.o64P,.text:_MP4VENC_TI_exit,CODE,32
    C:/ceutils/examples/Sudha_RTSC_packages/packages-production/ti/sdo/codecs/mpeg4enc/lib/./mp4venc_ti.l64P,mp4venc_ti_plink.o64P,.text:_MP4VENC_TI_encode,CODE,5088
    C:/ceutils/examples/Sudha_RTSC_packages/packages-production/ti/sdo/codecs/mpeg4enc/lib/./mp4venc_ti.l64P,mp4venc_ti_plink.o64P,.text:_MP4VENC_TI_deactivate,CODE,64
    C:/ceutils/examples/Sudha_RTSC_packages/packages-production/ti/sdo/codecs/mpeg4enc/lib/./mp4venc_ti.l64P,mp4venc_ti_plink.o64P,.text:_MP4VENC_TI_control,CODE,3968
    C:/ceutils/examples/Sudha_RTSC_packages/packages-production/ti/sdo/codecs/mpeg4enc/lib/./mp4venc_ti.l64P,mp4venc_ti_plink.o64P,.text:_MP4VENC_TI_alloc,CODE,352
    C:/ceutils/examples/Sudha_RTSC_packages/packages-production/ti/sdo/codecs/mpeg4enc/lib/./mp4venc_ti.l64P,mp4venc_ti_plink.o64P,.text:_MP4VENC_TI_activate,CODE,64
    C:/ceutils/examples/Sudha_RTSC_packages/packages-production/ti/sdo/codecs/mpeg4enc/lib/./mp4venc_ti.l64P,mp4venc_ti_plink.o64P,.text:_MP4VENC_TI_dmaInit,CODE,96
    C:/ceutils/examples/Sudha_RTSC_packages/packages-production/ti/sdo/codecs/mpeg4enc/lib/./mp4venc_ti.l64P,mp4venc_ti_plink.o64P,.text:_MP4VENC_TI_dmaGetChannels,CODE,224
    C:/ceutils/examples/Sudha_RTSC_packages/packages-production/ti/sdo/codecs/mpeg4enc/lib/./mp4venc_ti.l64P,mp4venc_ti_plink.o64P,.text:_MP4VENC_TI_dmaGetChannelCnt,CODE,32
    C:/ceutils/examples/Sudha_RTSC_packages/packages-production/ti/sdo/codecs/mpeg4enc/lib/./mp4venc_ti.l64P,mp4venc_ti_plink.o64P,.text:_MP4VENC_TI_dmaChangeChannels,CODE,96
    [end of reused output]

    Verifying that there are no '.bss' sections in the output

back