TMS320 DSP Algorithm Interoperability Standard

QualiTI Compliance and Performance Testing

DateFri Jul 10 2009 20:06:32 GMT+0530 (GMT+05:30)
VendorTI
AlgorithmJPEGDEC
ArchitectureC64P
Algorithm Base Directory:
   F:\user\kartik\h264\QualiTI\JPEGDEC\c64xplus_jpegdec_2_00_005_production\packages\ti\sdo\codecs\jpegdec\lib

Algorithm Archive(s):
   .\jpegdec_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.20 - 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.20 - 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 1096 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.2\C6000\cgtools\bin\nm6x.exe" -g F:\user\kartik\h264\QualiTI\JPEGDEC\c64xplus_jpegdec_2_00_005_production\packages\ti\sdo\codecs\jpegdec\lib\.\jpegdec_ti.l64P | "F:\user\kartik\h264\QualiTI\xdais_6_20_00_07\packages\ti\xdais\qualiti\bin\grep\grep.exe" " [TBCU] "
                   (from "C:\Documents and Settings\x0087137\Local Settings\Temp\qualiti_runcmd_63269.sh"
  000244fc B _IJPEGDEC_PARAMS
  00024554 B _JPEGDEC_TI_IALG
  00024554 B _JPEGDEC_TI_IJPEGDEC
  00024580 T _JPEGDEC_TI_activate
  00023240 T _JPEGDEC_TI_control
  000245a0 T _JPEGDEC_TI_deactivate
  00011920 T _JPEGDEC_TI_decode
  000245c0 T _JPEGDEC_TI_exit
  00024300 T _JPEGDEC_TI_free
  000245e0 T _JPEGDEC_TI_init
  00023a80 T _JPEGDEC_TI_initObj
  00024620 T _JPEGDEC_TI_numAlloc
  00000000 U __divi
  00000000 U __divli
  00000000 U __divu
  00000000 U __remi
  00000000 U __remli
  00000000 U __remu
  00000000 U _memcpy
Verifying that all global symbols are named XXX_TI_xxx ...
and that no blacklisted external references are made
Found symbol 'IJPEGDEC_PARAMS', that's okay.

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.2\C6000\cgtools\bin\nm6x.exe" -g F:\user\kartik\h264\QualiTI\JPEGDEC\c64xplus_jpegdec_2_00_005_production\packages\ti\sdo\codecs\jpegdec\lib\.\jpegdec_ti.l64P | "F:\user\kartik\h264\QualiTI\xdais_6_20_00_07\packages\ti\xdais\qualiti\bin\grep\grep.exe" " [BD] "
                   (from "C:\Documents and Settings\x0087137\Local Settings\Temp\qualiti_runcmd_63270.sh"
  000244fc B _IJPEGDEC_PARAMS
  00024554 B _JPEGDEC_TI_IALG
  00024554 B _JPEGDEC_TI_IJPEGDEC
Verifying that objects 'JPEGDEC_TI_IALG' and 'JPEGDEC_TI_IJPEGDEC' are defined...
Data object 'JPEGDEC_TI_IALG' found.
Data object 'JPEGDEC_TI_IJPEGDEC' 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:> "F:\user\kartik\h264\QualiTI\cg_xml\utils\ofd6x.exe" -x --xml_indent=0 --obj_display=none,sections,header F:\user\kartik\h264\QualiTI\JPEGDEC\c64xplus_jpegdec_2_00_005_production\packages\ti\sdo\codecs\jpegdec\lib\.\jpegdec_ti.l64P | "F:\user\kartik\h264\QualiTI\cg_xml\bin\sectti.exe" --csv
                   (from "C:\Documents and Settings\x0087137\Local Settings\Temp\qualiti_runcmd_63271.sh"
  Reading from stdin ...
  Library,Filename,Section,Type,Size
  F:/user/kartik/h264/QualiTI/JPEGDEC/c64xplus_jpegdec_2_00_005_production/packages/ti/sdo/codecs/jpegdec/lib/./jpegdec_ti.l64P,jpegdec_ti_plink.o64P,.const:JPEGIDEC_TI_dSect,DATA,436
  F:/user/kartik/h264/QualiTI/JPEGDEC/c64xplus_jpegdec_2_00_005_production/packages/ti/sdo/codecs/jpegdec/lib/./jpegdec_ti.l64P,jpegdec_ti_plink.o64P,.far:JPEGIDEC_TI_uSect,UDATA,132
  F:/user/kartik/h264/QualiTI/JPEGDEC/c64xplus_jpegdec_2_00_005_production/packages/ti/sdo/codecs/jpegdec/lib/./jpegdec_ti.l64P,jpegdec_ti_plink.o64P,.text:JPEGIDEC_TI_cSect,CODE,143904
  F:/user/kartik/h264/QualiTI/JPEGDEC/c64xplus_jpegdec_2_00_005_production/packages/ti/sdo/codecs/jpegdec/lib/./jpegdec_ti.l64P,jpegdec_ti_plink.o64P,.text:_JPEGDEC_TI_control,CODE,2112
  F:/user/kartik/h264/QualiTI/JPEGDEC/c64xplus_jpegdec_2_00_005_production/packages/ti/sdo/codecs/jpegdec/lib/./jpegdec_ti.l64P,jpegdec_ti_plink.o64P,.text:_JPEGDEC_TI_alloc,CODE,384
  F:/user/kartik/h264/QualiTI/JPEGDEC/c64xplus_jpegdec_2_00_005_production/packages/ti/sdo/codecs/jpegdec/lib/./jpegdec_ti.l64P,jpegdec_ti_plink.o64P,.text:_JPEGDEC_TI_free,CODE,352
  F:/user/kartik/h264/QualiTI/JPEGDEC/c64xplus_jpegdec_2_00_005_production/packages/ti/sdo/codecs/jpegdec/lib/./jpegdec_ti.l64P,jpegdec_ti_plink.o64P,.text:_JPEGDEC_TI_activate,CODE,32
  F:/user/kartik/h264/QualiTI/JPEGDEC/c64xplus_jpegdec_2_00_005_production/packages/ti/sdo/codecs/jpegdec/lib/./jpegdec_ti.l64P,jpegdec_ti_plink.o64P,.text:_JPEGDEC_TI_deactivate,CODE,32
  F:/user/kartik/h264/QualiTI/JPEGDEC/c64xplus_jpegdec_2_00_005_production/packages/ti/sdo/codecs/jpegdec/lib/./jpegdec_ti.l64P,jpegdec_ti_plink.o64P,.text:_JPEGDEC_TI_numAlloc,CODE,32
  F:/user/kartik/h264/QualiTI/JPEGDEC/c64xplus_jpegdec_2_00_005_production/packages/ti/sdo/codecs/jpegdec/lib/./jpegdec_ti.l64P,jpegdec_ti_plink.o64P,.text:_JPEGDEC_TI_initObj,CODE,864
  F:/user/kartik/h264/QualiTI/JPEGDEC/c64xplus_jpegdec_2_00_005_production/packages/ti/sdo/codecs/jpegdec/lib/./jpegdec_ti.l64P,jpegdec_ti_plink.o64P,.switch,DATA,484
  F:/user/kartik/h264/QualiTI/JPEGDEC/c64xplus_jpegdec_2_00_005_production/packages/ti/sdo/codecs/jpegdec/lib/./jpegdec_ti.l64P,jpegdec_ti_plink.o64P,.cinit,DATA,156
  F:/user/kartik/h264/QualiTI/JPEGDEC/c64xplus_jpegdec_2_00_005_production/packages/ti/sdo/codecs/jpegdec/lib/./jpegdec_ti.l64P,jpegdec_ti_plink.o64P,.text:_JPEGDEC_TI_moved,CODE,32
  F:/user/kartik/h264/QualiTI/JPEGDEC/c64xplus_jpegdec_2_00_005_production/packages/ti/sdo/codecs/jpegdec/lib/./jpegdec_ti.l64P,jpegdec_ti_plink.o64P,.text:_JPEGDEC_TI_init,CODE,32
  F:/user/kartik/h264/QualiTI/JPEGDEC/c64xplus_jpegdec_2_00_005_production/packages/ti/sdo/codecs/jpegdec/lib/./jpegdec_ti.l64P,jpegdec_ti_plink.o64P,.text:_JPEGDEC_TI_exit,CODE,32
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 ".\jpegdec_ti.l64P" is ".l64P"
Verifying that the file ".\jpegdec_ti.l64P" is really a library, and not a partially linked object file or something like that.
 Running command:> "F:\user\kartik\h264\QualiTI\cg_xml\utils\ofd6x.exe" -x --xml_indent=0 --obj_display=none,sections,header F:\user\kartik\h264\QualiTI\JPEGDEC\c64xplus_jpegdec_2_00_005_production\packages\ti\sdo\codecs\jpegdec\lib\.\jpegdec_ti.l64P | "F:\user\kartik\h264\QualiTI\xdais_6_20_00_07\packages\ti\xdais\qualiti\bin\grep\grep.exe" "<archive>"
                   (from "C:\Documents and Settings\x0087137\Local Settings\Temp\qualiti_runcmd_63272.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:> "F:\user\kartik\h264\QualiTI\cg_xml\utils\ofd6x.exe" -xg --xml_indent=0 --obj_display=none,header,optheader,symbols --dwarf_display=none,dinfo  F:\user\kartik\h264\QualiTI\JPEGDEC\c64xplus_jpegdec_2_00_005_production\packages\ti\sdo\codecs\jpegdec\lib\.\jpegdec_ti.l64P | "F:\user\kartik\h264\QualiTI\cg_xml\bin\call_graph.exe" --stack_max
                   (from "C:\Documents and Settings\x0087137\Local Settings\Temp\qualiti_runcmd_63273.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.
  _JPEGDEC_TI_installHuffTable : wcs = 1096
Extracting worst case stack from a stdout line that ends with ': wcs = <num>'
Calculated worst case stack is 1096 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:> "F:\user\kartik\h264\QualiTI\cg_xml\utils\ofd6x.exe" -x --xml_indent=0 --obj_display=none,sections,header F:\user\kartik\h264\QualiTI\JPEGDEC\c64xplus_jpegdec_2_00_005_production\packages\ti\sdo\codecs\jpegdec\lib\.\jpegdec_ti.l64P | "F:\user\kartik\h264\QualiTI\cg_xml\bin\sectti.exe"
                   (from "C:\Documents and Settings\x0087137\Local Settings\Temp\qualiti_runcmd_63274.sh"
  Reading from stdin ...
  ====================================================================
  REPORT FOR LIBRARY: F:/user/kartik/h264/QualiTI/JPEGDEC/c64xplus_jpegdec_2_00_005_production/packages/ti/sdo/codecs/jpegdec/lib/./jpegdec_ti.l64P
  ====================================================================
  
  
  ************************************************************
  REPORT FOR FILE: jpegdec_ti_plink.o64P
  ************************************************************
                            Name : Size (dec)  Size (hex)  Type
  ------------------------------ : ----------  ----------  ----
        .const:JPEGIDEC_TI_dSect :        436  0x000001b4  DATA 
          .far:JPEGIDEC_TI_uSect :        132  0x00000084  UDATA
         .text:JPEGIDEC_TI_cSect :     143904  0x00023220  CODE 
       .text:_JPEGDEC_TI_control :       2112  0x00000840  CODE 
         .text:_JPEGDEC_TI_alloc :        384  0x00000180  CODE 
          .text:_JPEGDEC_TI_free :        352  0x00000160  CODE 
      .text:_JPEGDEC_TI_activate :         32  0x00000020  CODE 
    .text:_JPEGDEC_TI_deactivate :         32  0x00000020  CODE 
      .text:_JPEGDEC_TI_numAlloc :         32  0x00000020  CODE 
       .text:_JPEGDEC_TI_initObj :        864  0x00000360  CODE 
                         .switch :        484  0x000001e4  DATA 
                          .cinit :        156  0x0000009c  DATA 
         .text:_JPEGDEC_TI_moved :         32  0x00000020  CODE 
          .text:_JPEGDEC_TI_init :         32  0x00000020  CODE 
          .text:_JPEGDEC_TI_exit :         32  0x00000020  CODE 
  
  ------------------------------------------------------------
  Totals by section type
  ------------------------------------------------------------
    Uninitialized Data :        132  0x00000084
      Initialized Data :       1076  0x00000434
                  Code :     147808  0x00024160

back
Test execution log for XDAIS Rule 25:
Running test 'XDAIS Rule 25'
Using ofd output to parse for endianness attribute...
 Running command:> "F:\user\kartik\h264\QualiTI\cg_xml\utils\ofd6x.exe" -x --xml_indent=0 --obj_display=none,header F:\user\kartik\h264\QualiTI\JPEGDEC\c64xplus_jpegdec_2_00_005_production\packages\ti\sdo\codecs\jpegdec\lib\.\jpegdec_ti.l64P | "F:\user\kartik\h264\QualiTI\xdais_6_20_00_07\packages\ti\xdais\qualiti\bin\grep\grep.exe" "<endian>"
                   (from "C:\Documents and Settings\x0087137\Local Settings\Temp\qualiti_runcmd_63275.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:> "F:\user\kartik\h264\QualiTI\cg_xml\utils\ofd6x.exe" -x --xml_indent=0 --obj_display=none,sections,header F:\user\kartik\h264\QualiTI\JPEGDEC\c64xplus_jpegdec_2_00_005_production\packages\ti\sdo\codecs\jpegdec\lib\.\jpegdec_ti.l64P | "F:\user\kartik\h264\QualiTI\cg_xml\bin\sectti.exe" --csv
                  (from "C:\Documents and Settings\x0087137\Local Settings\Temp\qualiti_runcmd_63271.sh"
Reading from stdin ...
Library,Filename,Section,Type,Size
F:/user/kartik/h264/QualiTI/JPEGDEC/c64xplus_jpegdec_2_00_005_production/packages/ti/sdo/codecs/jpegdec/lib/./jpegdec_ti.l64P,jpegdec_ti_plink.o64P,.const:JPEGIDEC_TI_dSect,DATA,436
F:/user/kartik/h264/QualiTI/JPEGDEC/c64xplus_jpegdec_2_00_005_production/packages/ti/sdo/codecs/jpegdec/lib/./jpegdec_ti.l64P,jpegdec_ti_plink.o64P,.far:JPEGIDEC_TI_uSect,UDATA,132
F:/user/kartik/h264/QualiTI/JPEGDEC/c64xplus_jpegdec_2_00_005_production/packages/ti/sdo/codecs/jpegdec/lib/./jpegdec_ti.l64P,jpegdec_ti_plink.o64P,.text:JPEGIDEC_TI_cSect,CODE,143904
F:/user/kartik/h264/QualiTI/JPEGDEC/c64xplus_jpegdec_2_00_005_production/packages/ti/sdo/codecs/jpegdec/lib/./jpegdec_ti.l64P,jpegdec_ti_plink.o64P,.text:_JPEGDEC_TI_control,CODE,2112
F:/user/kartik/h264/QualiTI/JPEGDEC/c64xplus_jpegdec_2_00_005_production/packages/ti/sdo/codecs/jpegdec/lib/./jpegdec_ti.l64P,jpegdec_ti_plink.o64P,.text:_JPEGDEC_TI_alloc,CODE,384
F:/user/kartik/h264/QualiTI/JPEGDEC/c64xplus_jpegdec_2_00_005_production/packages/ti/sdo/codecs/jpegdec/lib/./jpegdec_ti.l64P,jpegdec_ti_plink.o64P,.text:_JPEGDEC_TI_free,CODE,352
F:/user/kartik/h264/QualiTI/JPEGDEC/c64xplus_jpegdec_2_00_005_production/packages/ti/sdo/codecs/jpegdec/lib/./jpegdec_ti.l64P,jpegdec_ti_plink.o64P,.text:_JPEGDEC_TI_activate,CODE,32
F:/user/kartik/h264/QualiTI/JPEGDEC/c64xplus_jpegdec_2_00_005_production/packages/ti/sdo/codecs/jpegdec/lib/./jpegdec_ti.l64P,jpegdec_ti_plink.o64P,.text:_JPEGDEC_TI_deactivate,CODE,32
F:/user/kartik/h264/QualiTI/JPEGDEC/c64xplus_jpegdec_2_00_005_production/packages/ti/sdo/codecs/jpegdec/lib/./jpegdec_ti.l64P,jpegdec_ti_plink.o64P,.text:_JPEGDEC_TI_numAlloc,CODE,32
F:/user/kartik/h264/QualiTI/JPEGDEC/c64xplus_jpegdec_2_00_005_production/packages/ti/sdo/codecs/jpegdec/lib/./jpegdec_ti.l64P,jpegdec_ti_plink.o64P,.text:_JPEGDEC_TI_initObj,CODE,864
F:/user/kartik/h264/QualiTI/JPEGDEC/c64xplus_jpegdec_2_00_005_production/packages/ti/sdo/codecs/jpegdec/lib/./jpegdec_ti.l64P,jpegdec_ti_plink.o64P,.switch,DATA,484
F:/user/kartik/h264/QualiTI/JPEGDEC/c64xplus_jpegdec_2_00_005_production/packages/ti/sdo/codecs/jpegdec/lib/./jpegdec_ti.l64P,jpegdec_ti_plink.o64P,.cinit,DATA,156
F:/user/kartik/h264/QualiTI/JPEGDEC/c64xplus_jpegdec_2_00_005_production/packages/ti/sdo/codecs/jpegdec/lib/./jpegdec_ti.l64P,jpegdec_ti_plink.o64P,.text:_JPEGDEC_TI_moved,CODE,32
F:/user/kartik/h264/QualiTI/JPEGDEC/c64xplus_jpegdec_2_00_005_production/packages/ti/sdo/codecs/jpegdec/lib/./jpegdec_ti.l64P,jpegdec_ti_plink.o64P,.text:_JPEGDEC_TI_init,CODE,32
F:/user/kartik/h264/QualiTI/JPEGDEC/c64xplus_jpegdec_2_00_005_production/packages/ti/sdo/codecs/jpegdec/lib/./jpegdec_ti.l64P,jpegdec_ti_plink.o64P,.text:_JPEGDEC_TI_exit,CODE,32
[end of reused output]

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

back