This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

Qualiti tool - test failing the VIDDEC_COPY Sample

I am Trying with QualiTI Compliance and Performance Testing for the given sample VIDDEC_COPY, which is failing the test .

can you please help us in solving this,

in the Algorithm tab i have set the following,

Module: VIDDEC_COPY    BaseDir:   /home/uma/dvsdk_2_00_00_22/ceutils_1_06/examples/viddec_copy_packaged/mycompany/mygroup/codecs/vc/lib

Vendor: TI                             Library: ./lib/viddec_copy.a64P

Interface: IVIDDEC_COPY    Headers: ./ividdec_copy.h

in tools tab, i have set the TI 'cg_xml' tools folder to "/home/uma/dvsdk_2_00_00_22/cg_xml_2_12_00/bin"

and C6000 TI 'cgtools' Dir: /home/uma/dvsdk_2_00_00_22/xdais_6_23/packages/ti/xdais/qualiti/cgtools

The test execution log reports

TMS320 DSP Algorithm Interoperability Standard

QualiTI Compliance and Performance Testing

Date      Fri Mar 05 2010 10:25:36 GMT+0530 (GMT+05:30)

Vendor TI

Algorithm            VIDDEC_COPY

Architecture       C6x

TI Compiler         true

Library Format   COFF

Compiler Version             TMS320C6x Compressor PC v6.0.8 Copyright (c) 1996-2006 Texas Instruments Incorporated

Test Execution Log          Test execution log for compiler info

Algorithm Base Directory: /home/uma/dvsdk_2_00_00_22/ceutils_1_06/examples/viddec_copy_packaged/mycompany/mygroup/codecs/vc

Algorithm Archive(s):

   ./lib/viddec_copy.a64P

Header File(s):

   ./ividdec_copy.h

Compliance Test Report

Test Results        PASS: 1

FAIL: 4     [ XDAIS Rules 8, 9 and 10   XDAIS Rule 12   XDAIS Rule 13+   XDAIS Rule 26   ]

Skipped: 0

Not apply: 0

Total: 5

Test Notes

 This report has been generated with QualiTI Version 6.23 - the XDAIS compliance and performance test suite.

XDAIS Rules 8, 9, 10: Namespace compliance

Report: Failed

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 failed.  Problem: Not all global symbols defined by the module have the "VIDDEC_COPY_TI_" prefix (i.e. module_vendor_).

The following is the list of offending symbols:

viddec_copy__versionNumArray

viddec_copy__versionString

viddec_copy__whatString

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

XDAIS Rule 12: IALG interface implementation

Report: Failed

Test Description: All algorithms must implement the IALG interface.

Test Status Details: Test failed. The module does not define data objects 'VIDDEC_COPY_TI_IALG' and 'VIDDEC_COPY_TI_IVIDDEC_COPY'.

Test Execution Log: XDAIS Rule 12 execution log

XDAIS Rule 13+: correct linker section names

Report: Failed to execute

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:

An unknown command line execution error occured. Please check the execution log and try to repeat the commands in the shell to see what the problem could be. Most likely the Settings are somehow wrong.

Test Execution Log: XDAIS Rule 13+ 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: Failed to execute

Test Description:  All C6x algorithms must access all static and global data as far data.

Test Status Details:

An unknown command line execution error occured. Please check the execution log and try to repeat the commands in the shell to see what the problem could be. Most likely the Settings are somehow wrong.

Test Execution Log: XDAIS Rule 26 execution log

Performance Test Report

Test Results        PASS: 0

FAIL: 2     [ XDAIS Rule 20   XDAIS Rules 21, 22   ]

Skipped: 0

Not apply: 0

Total: 2

Test Notes

 This report has been generated with QualiTI Version 6.23 - the XDAIS compliance and performance test suite.

XDAIS Rule 20: must declare worst-case stack requirements

Report: Failed to execute

Test Description: All algorithms must characterize their worst-case stack space memory requirements (including alignment).

Test Status Details:   An unknown command line execution error occured. Please check the execution log and try to repeat the commands in the shell to see what the problem could be. Most likely the Settings are somehow wrong.

Test Execution Log: XDAIS Rule 20 execution log

XDAIS Rules 21, 22: must characterize static data & program memory requirements

Report: Failed to execute

Test Description:  All algorithms must characterize their static data & program memory requirements

Test Status Details:   An unknown command line execution error occured. Please check the execution log and try to repeat the commands in the shell to see what the problem could be. Most likely the Settings are somehow wrong.

Test Execution Log: XDAIS Rules 21, 22 execution log

Test execution log for Compiler Info:

Determining compiler info.

Checking if this library was created with a TI compiler...

 Running command:> /home/uma/dvsdk_2_00_00_22/xdais_6_23/packages/ti/xdais/qualiti/cgtools/bin/ofd6x -x --xml_indent=0 --obj_display=none /home/uma/dvsdk_2_00_00_22/ceutils_1_06/examples/viddec_copy_packaged/mycompany/mygroup/codecs/vc/./lib/viddec_copy.a64P | grep "<ti_coff>"

This library was  created with a TI compiler.

Attempting to determine library format...

 Running command:> /home/uma/dvsdk_2_00_00_22/xdais_6_23/packages/ti/xdais/qualiti/cgtools/bin/ofd6x -x --xml_indent=0 --obj_display=none /home/uma/dvsdk_2_00_00_22/ceutils_1_06/examples/viddec_copy_packaged/mycompany/mygroup/codecs/vc/./lib/viddec_copy.a64P | grep -E "<.*coff>|<.*elf>"

The library is in COFF format.

Attempting to determine the compiler version...

 Running command:> strings /home/uma/dvsdk_2_00_00_22/ceutils_1_06/examples/viddec_copy_packaged/mycompany/mygroup/codecs/vc/./lib/viddec_copy.a64P|grep "Texas Instruments"

The compiler is TMS320C6x Compressor PC v6.0.8 Copyright (c) 1996-2006 Texas Instruments Incorporated.

back

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:> /home/uma/dvsdk_2_00_00_22/xdais_6_23/packages/ti/xdais/qualiti/cgtools/bin/nm6x -g /home/uma/dvsdk_2_00_00_22/ceutils_1_06/examples/viddec_copy_packaged/mycompany/mygroup/codecs/vc/./lib/viddec_copy.a64P | grep " [TBCU] "

Verifying that all global symbols are named XXX_TI_xxx ...

and that no blacklisted external references are made

Found bad symbol '...__dummy__' but pretending to have not because the algorithm is in an XDC package.

Error: here-defined global name 'viddec_copy__versionNumArray' does not comply.

Error: here-defined global name 'viddec_copy__versionString' does not comply.

Error: here-defined global name 'viddec_copy__whatString' does not comply.

back Test execution log for XDAIS Rule 12:

Running test 'XDAIS Rule 12'

Extracting names of global BSS data symbols...

 Running command:> /home/uma/dvsdk_2_00_00_22/xdais_6_23/packages/ti/xdais/qualiti/cgtools/bin/nm6x -g /home/uma/dvsdk_2_00_00_22/ceutils_1_06/examples/viddec_copy_packaged/mycompany/mygroup/codecs/vc/./lib/viddec_copy.a64P | grep " [BD] "

Verifying that objects 'VIDDEC_COPY_TI_IALG' and 'VIDDEC_COPY_TI_IVIDDEC_COPY' are defined...

Error: data object 'VIDDEC_COPY_TI_IALG' not found.

Error: data object 'VIDDEC_COPY_TI_IVIDDEC_COPY' not 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:> /home/uma/dvsdk_2_00_00_22/xdais_6_23/packages/ti/xdais/qualiti/cgtools/bin/ofd6x -x --xml_indent=0 --obj_display=none,sections,header /home/uma/dvsdk_2_00_00_22/ceutils_1_06/examples/viddec_copy_packaged/mycompany/mygroup/codecs/vc/./lib/viddec_copy.a64P | /home/uma/dvsdk_2_00_00_22/cg_xml_2_12_00/bin/sectti --csv

  Reading from stdin ...

 Can't locate object method "new" via package "XML::Parser" at XML/Simple.pm line 404, <STDIN> line 1.

Error: Command execution failed.

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:> /home/uma/dvsdk_2_00_00_22/xdais_6_23/packages/ti/xdais/qualiti/cgtools/bin/ofd6x -xg --xml_indent=0 --obj_display=none,header,optheader,symbols --dwarf_display=none,dinfo  /home/uma/dvsdk_2_00_00_22/ceutils_1_06/examples/viddec_copy_packaged/mycompany/mygroup/codecs/vc/./lib/viddec_copy.a64P | /home/uma/dvsdk_2_00_00_22/cg_xml_2_12_00/bin/call_graph --stack_max

  Reading from stdin ...

  Can't locate object method "new" via package "XML::Parser" at XML/Simple.pm line 404, <STDIN> line 1.

Error: Command execution failed.

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:> /home/uma/dvsdk_2_00_00_22/xdais_6_23/packages/ti/xdais/qualiti/cgtools/bin/ofd6x -x --xml_indent=0 --obj_display=none,sections,header /home/uma/dvsdk_2_00_00_22/ceutils_1_06/examples/viddec_copy_packaged/mycompany/mygroup/codecs/vc/./lib/viddec_copy.a64P | /home/uma/dvsdk_2_00_00_22/cg_xml_2_12_00/bin/sectti

 Reading from stdin ...

 Can't locate object method "new" via package "XML::Parser" at XML/Simple.pm line 404, <STDIN> line 1.

Error: Command execution failed.

back Test execution log for XDAIS Rule 25:

Running test 'XDAIS Rule 25'

Using ofd output to parse for endianness attribute...

 Running command:> /home/uma/dvsdk_2_00_00_22/xdais_6_23/packages/ti/xdais/qualiti/cgtools/bin/ofd6x -x --xml_indent=0 --obj_display=none,header /home/uma/dvsdk_2_00_00_22/ceutils_1_06/examples/viddec_copy_packaged/mycompany/mygroup/codecs/vc/./lib/viddec_copy.a64P | grep "<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:> /home/uma/dvsdk_2_00_00_22/xdais_6_23/packages/ti/xdais/qualiti/cgtools/bin/ofd6x -x --xml_indent=0 --obj_display=none,sections,header /home/uma/dvsdk_2_00_00_22/ceutils_1_06/examples/viddec_copy_packaged/mycompany/mygroup/codecs/vc/./lib/viddec_copy.a64P | /home/uma/dvsdk_2_00_00_22/cg_xml_2_12_00/bin/sectti --csv

Reading from stdin ...

Can't locate object method "new" via package "XML::Parser" at XML/Simple.pm line 404, <STDIN> line 1.

[end of reused output]

Error: Command execution failed.

Thanks,

Uma

  • I'm getting similar problems but with VIDDEC2_COPY (DVSDK 3.10.00.19). It fails on rule 13+ and has a "run error" on rule 20.

     

    If I run the command for rule 20 manually this is what I get:


    viper@cobalt:~/dvsdk/dvsdk_3_10_00_19/xdais_6_25_02_11$ /home/viper/dvsdk/dvsdk_3_10_00_19/xdais_6_25_02_11/packages/ti/xdais/qualiti/cgtools/bin/ofd6x -xg --xml_indent=0 --obj_display=none,header,optheader,symbols --dwarf_display=none,dinfo  /home/viper/dvsdk/dvsdk_3_10_00_19/xdais_6_25_02_11/examples/ti/xdais/dm/examples/viddec2_copy/./package/lib/lib/whole_program/viddec2_copy/viddec2_copy.o64P | /home/viper/dvsdk/dvsdk_3_10_00_19/cg_xml/bin/call_graph --stack_max
    Reading from stdin ...
    Cannot find entry point.  Stopped at script/call_graph.pl line 977, <STDIN> line 1.

     

    It's a sad day when TI's codecs fail their own compatibility tests. Please correct me if I'm wrong. I'm going to try and edit the code to correct the rule 13+ failure and see if that fixes both problems.

    Update: interestingly, although most of the binaries fail the compatibility test at least the one in the "lib/release" folder passes which is good news.

     

    Ralph

     

     

     

  • The failures and run error are happening because the file being tested is an object file(.o64P), not a library(.a64P). Try testing dvsdk_3_10_00_19/xdais_6_25_02_11/examples/ti/xdais/dm/examples/viddec2_copy/lib/whole_program/viddec2_copy.a64P.  In response to your post, we will modify QualiTI to try to detect an invalid library being loaded, and notify the user.

    Joe

  • Hi, thanks for the information. That clears up the confusion.

     

    Ralph