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.

c6678 H264 HP decoder building h264vdecAlg

Hi,

I obtained source code for H264 HP from TI last year. Version is decoder HP 1.1.0.1 and encoder HP 01.0.0.0. The decoder seems to have been built with a version of ccs v4. I tried to compile the codec algorithm library using the project that comes under the Src/Build directory for both the decoder and encoder and have not been successful. This is what I am trying to do. Please let me know if their are any gotchas.

For decoder: I am using my ccs v5.2.1.18. I import the h264vdec_alg project under the decoder Src/Build/h264vdecAlg. I then added the H264VDEC_ROOT under windows->preferences->general-workspace->linked resources to point to the codec root folder as outlined in the user guide. I then updated the variables under Build properties i.e. BIOS_ROOT to use Bios_6_33_06_50, FRWK_ROOT to use 3_23_02_16, XDC_ROOT to use 3.23.4.60. Can I use these newer versions of BIOS/XDC etc and not the ones that they were tested with which are much older. I then wanted to build a big endian library so changed the name to be and also selected generate big endian code. When I compile this I got the following errors in multiple .h files when compiling because it could not open the file "ti/xdais/ialg.h". How can I go about including this .h file as it is not anywhere in the decoder that I got from TI.

Similarly, when I try to run the encoder by importing the ccs project under Src/build and change the FRWK_ROOT,XDC_ROOT and XDAIS_ROOT to use the video mcsdk versions as above and make the big endian changes as above and compile, I see somewhat similar erros in multiple .h files when compiling because it could not open the file "xdc/std.h". How do I resolve this?

I would prefer to get the newer version of your source that matches those versions of the decoder/encoder that come with the mcsdk and will have an offline discussion with TI about getting those.

I have updated my CCS to v5.2.1.18 and the mcsdk to 2_01_2_5 and the video mcsdk to 2_1_0_8. The video H264 HP decoder and encoder that come with that video mcsdk release are 1.1.1.4 and 1.0.0.1 respectively. However, neither of them contain big endian libraries of the h264 decoder or encoder and I am interested in getting those. Is it possible to get the big endian libraries for this particular version of encoder and decoder and I can then try and integrate a suitably modifed application code into our product together with the big endian encoder/decoder libraries? I will be requesting offline TI business development in this regards too?

Thanks, Aamir

  • Hi Aamir,

    I will check your post througly tomorrow, but just for starting, as a thumb rule please stick with the tools version mentioned in the user guide. At least until you can have a setup working correctly them we can see what need to be migrated to a newer version. About *.h paths, it sometimes have happened to me, should be a better way to resolve it but what I do is using the complete path (for example: C:\Program Files\Texas Instruments\xdais_7_23_00_06\packages\ti\xdais\ialg.h).

    thank you,

    Paula

  • Paula,

    Thanks for the suggestions. I was able to get my encoder and decoder source to build and create a big endian library. I resolved the .h file issues too. Some changes needed to made to the "include file options" under build as well as the build "variables" for the projects. I will try these big endian libraries with the application code and see that they are working correctly not withstanding the different tool versions.

    Thanks, Aamir

  • Paula,

    I tried using the big endian library with the application code project but was unsuccessful. I then downloaded the BIOS (6.31.00.18), IPC (1.22.4.25), framework components (3.20.02.29) and XDC (3.20.08.88) that were tested with the version of the decoder source I obtained from TI and built the little endian library and then was successful in building the little endian application code with the little endian library h264vdec_alg. However, when I tried to build the big endian application code after building the big endian libary, I was unsuccessful. The errors are shown below. Any assistance would be appreciated.

    Thanks, Aamir

    **** Build of configuration Debug for project TestAppDecoder ****

    C:\Program Files\Texas Instruments\ccsv5.2.1\ccsv5\utils\bin\gmake -k all

    'Building file: ../h264vDecApp6678.cfg'

    'Invoking: XDCtools'

    "C:\Program Files\Texas Instruments\ccsv5.2.1\xdctools_3_20_08_88/xs" --xdcpath="C:/Program Files/Texas Instruments/ccsv5.2.1/ipc_1_22_04_25/packages;C:/Program Files/Texas Instruments/ccsv5.2.1/bios_6_31_00_18/packages;C:/Program Files/Texas Instruments/ccsv5.2.1/framework_components_3_20_02_29/fctools/packages;C:/Program Files/Texas Instruments/ccsv5.2.1/framework_components_3_20_02_29/packages;C:/Program Files/Texas Instruments/ccsv5.2.1/framework_components_3_20_02_29/examples;C:/Program Files/Texas Instruments/ccsv5.2.1/Codecs/H264AVC.HP.D/100_V_H264AVC_D_01_01/C6678_HP_001/Client/Build/Repository/Packages;C:/Program Files/Texas Instruments/ccsv5.2.1/ccsv5/ccs_base;" xdc.tools.configuro -o configPkg -t ti.targets.elf.C66_big_endian -p ti.platforms.custom66x -r whole_program -c "C:/Program Files/Texas Instruments/ccsv5.2.1/C6000 Code Generation Tools 7.4.0" "../h264vDecApp6678.cfg"

    making package.mak (because of package.bld) ...

    generating interfaces for package configPkg (because package/package.xdc.inc is older than package.xdc) ...

    configuring h264vDecApp6678.pe66e from package/cfg/h264vDecApp6678_pe66e.cfg ...

    Auto-registering resource manager for EDMA3CHAN

    ti.sdo.fc.edma3.getLibs(): Can't find suffix for C66_big_endian target.

    ti.sdo.fc.rman.getLibs(): Can't find suffix for C66_big_endian target.

    ti.sdo.fc.ecpy.getLibs(): Can't find suffix for C66_big_endian target.

    ti.sdo.fc.memutils.getLibs(): Can't find suffix for C66_big_endian target.

    ti.sdo.fc.ires.nullresource.getLibs(): Can't find suffix for C66_big_endian target.

    ti.sdo.fc.ires.bufres.getLibs(): Can't find suffix for C66_big_endian target.

    ti.sdo.fc.utils.gtinfra.getLibs(): Can't find suffix for C66_big_endian target.

    Inside EDMA3 RM getLibs

    will link with ti.sdo.edma3.rm:lib/generic/Release/ti.sdo.edma3.rm.ae66e

    ti.sdo.fc.trace.gt: Returning null

    ti.sdo.fc.edma3.getLibs(): Can't find suffix for C66_big_endian target.

    ti.sdo.fc.rman.getLibs(): Can't find suffix for C66_big_endian target.

    ti.sdo.fc.ecpy.getLibs(): Can't find suffix for C66_big_endian target.

    ti.sdo.fc.memutils.getLibs(): Can't find suffix for C66_big_endian target.

    ti.sdo.fc.ires.nullresource.getLibs(): Can't find suffix for C66_big_endian target.

    ti.sdo.fc.ires.bufres.getLibs(): Can't find suffix for C66_big_endian target.

    ti.sdo.fc.utils.gtinfra.getLibs(): Can't find suffix for C66_big_endian target.

    Inside EDMA3 RM getLibs

    will link with ti.sdo.edma3.rm:lib/generic/Release/ti.sdo.edma3.rm.ae66e

    ti.sdo.fc.trace.gt: Returning null

    cle66e package/cfg/h264vDecApp6678_pe66e.c ...

    lnke66e h264vDecApp6678.pe66e ...

    'Finished building: ../h264vDecApp6678.cfg'

    ' '

    'Building file: C:/Program Files/Texas Instruments/ccsv5.2.1/Codecs/H264AVC.HP.D/100_V_H264AVC_D_01_01/C6678_HP_001/Client/Test/Src/GateMPBarrier.c'

    'Invoking: C6000 Compiler'

    "C:/Program Files/Texas Instruments/ccsv5.2.1/C6000 Code Generation Tools 7.4.0/bin/cl6x" -mv6600 --big_endian --abi=eabi -g --include_path="C:/Program Files/Texas Instruments/ccsv5.2.1/C6000 Code Generation Tools 7.4.0/include" --include_path="C:/Program Files/Texas Instruments/ccsv5.2.1/xdctools_3_20_08_88/packages" --include_path="C:/Program Files/Texas Instruments/ccsv5.2.1/framework_components_3_20_02_29/packages/ti/sdo/fc/utils/api" --include_path="C:/Program Files/Texas Instruments/ccsv5.2.1/framework_components_3_20_02_29/fctools/packages/ti/xdais/dm" --include_path="C:/Program Files/Texas Instruments/ccsv5.2.1/framework_components_3_20_02_29/fctools/packages" --include_path="C:/Program Files/Texas Instruments/ccsv5.2.1/framework_components_3_20_02_29/fctools/packages/ti/xdais" --include_path="C:/Program Files/Texas Instruments/ccsv5.2.1/bios_6_31_00_18/packages/ti/bios/include" --include_path="C:/Program Files/Texas Instruments/ccsv5.2.1/Codecs/H264AVC.HP.D/100_V_H264AVC_D_01_01/C6678_HP_001/Inc" --include_path="C:/Program Files/Texas Instruments/ccsv5.2.1/Codecs/H264AVC.HP.D/100_V_H264AVC_D_01_01/C6678_HP_001/Client/Test/Inc" --define="C6000" --define="_RTS_MODE" --diag_warning=225 --gen_func_subsections=on --strip_coff_underscore --preproc_with_compile --preproc_dependency="GateMPBarrier.pp" --cmd_file="./configPkg/compiler.opt" "C:/Program Files/Texas Instruments/ccsv5.2.1/Codecs/H264AVC.HP.D/100_V_H264AVC_D_01_01/C6678_HP_001/Client/Test/Src/GateMPBarrier.c"

    'Finished building: C:/Program Files/Texas Instruments/ccsv5.2.1/Codecs/H264AVC.HP.D/100_V_H264AVC_D_01_01/C6678_HP_001/Client/Test/Src/GateMPBarrier.c'

    ' '

    'Building file: C:/Program Files/Texas Instruments/ccsv5.2.1/Codecs/H264AVC.HP.D/100_V_H264AVC_D_01_01/C6678_HP_001/Client/Test/Src/TestAppConfigParser.c'

    'Invoking: C6000 Compiler'

    "C:/Program Files/Texas Instruments/ccsv5.2.1/C6000 Code Generation Tools 7.4.0/bin/cl6x" -mv6600 --big_endian --abi=eabi -g --include_path="C:/Program Files/Texas Instruments/ccsv5.2.1/C6000 Code Generation Tools 7.4.0/include" --include_path="C:/Program Files/Texas Instruments/ccsv5.2.1/xdctools_3_20_08_88/packages" --include_path="C:/Program Files/Texas Instruments/ccsv5.2.1/framework_components_3_20_02_29/packages/ti/sdo/fc/utils/api" --include_path="C:/Program Files/Texas Instruments/ccsv5.2.1/framework_components_3_20_02_29/fctools/packages/ti/xdais/dm" --include_path="C:/Program Files/Texas Instruments/ccsv5.2.1/framework_components_3_20_02_29/fctools/packages" --include_path="C:/Program Files/Texas Instruments/ccsv5.2.1/framework_components_3_20_02_29/fctools/packages/ti/xdais" --include_path="C:/Program Files/Texas Instruments/ccsv5.2.1/bios_6_31_00_18/packages/ti/bios/include" --include_path="C:/Program Files/Texas Instruments/ccsv5.2.1/Codecs/H264AVC.HP.D/100_V_H264AVC_D_01_01/C6678_HP_001/Inc" --include_path="C:/Program Files/Texas Instruments/ccsv5.2.1/Codecs/H264AVC.HP.D/100_V_H264AVC_D_01_01/C6678_HP_001/Client/Test/Inc" --define="C6000" --define="_RTS_MODE" --diag_warning=225 --gen_func_subsections=on --strip_coff_underscore --preproc_with_compile --preproc_dependency="TestAppConfigParser.pp" --cmd_file="./configPkg/compiler.opt" "C:/Program Files/Texas Instruments/ccsv5.2.1/Codecs/H264AVC.HP.D/100_V_H264AVC_D_01_01/C6678_HP_001/Client/Test/Src/TestAppConfigParser.c"

    'Finished building: C:/Program Files/Texas Instruments/ccsv5.2.1/Codecs/H264AVC.HP.D/100_V_H264AVC_D_01_01/C6678_HP_001/Client/Test/Src/TestAppConfigParser.c'

    ' '

    'Building file: C:/Program Files/Texas Instruments/ccsv5.2.1/Codecs/H264AVC.HP.D/100_V_H264AVC_D_01_01/C6678_HP_001/Client/Test/Src/TestAppDecoder.c'

    'Invoking: C6000 Compiler'

    "C:/Program Files/Texas Instruments/ccsv5.2.1/C6000 Code Generation Tools 7.4.0/bin/cl6x" -mv6600 --big_endian --abi=eabi -g --include_path="C:/Program Files/Texas Instruments/ccsv5.2.1/C6000 Code Generation Tools 7.4.0/include" --include_path="C:/Program Files/Texas Instruments/ccsv5.2.1/xdctools_3_20_08_88/packages" --include_path="C:/Program Files/Texas Instruments/ccsv5.2.1/framework_components_3_20_02_29/packages/ti/sdo/fc/utils/api" --include_path="C:/Program Files/Texas Instruments/ccsv5.2.1/framework_components_3_20_02_29/fctools/packages/ti/xdais/dm" --include_path="C:/Program Files/Texas Instruments/ccsv5.2.1/framework_components_3_20_02_29/fctools/packages" --include_path="C:/Program Files/Texas Instruments/ccsv5.2.1/framework_components_3_20_02_29/fctools/packages/ti/xdais" --include_path="C:/Program Files/Texas Instruments/ccsv5.2.1/bios_6_31_00_18/packages/ti/bios/include" --include_path="C:/Program Files/Texas Instruments/ccsv5.2.1/Codecs/H264AVC.HP.D/100_V_H264AVC_D_01_01/C6678_HP_001/Inc" --include_path="C:/Program Files/Texas Instruments/ccsv5.2.1/Codecs/H264AVC.HP.D/100_V_H264AVC_D_01_01/C6678_HP_001/Client/Test/Inc" --define="C6000" --define="_RTS_MODE" --diag_warning=225 --gen_func_subsections=on --strip_coff_underscore --preproc_with_compile --preproc_dependency="TestAppDecoder.pp" --cmd_file="./configPkg/compiler.opt" "C:/Program Files/Texas Instruments/ccsv5.2.1/Codecs/H264AVC.HP.D/100_V_H264AVC_D_01_01/C6678_HP_001/Client/Test/Src/TestAppDecoder.c"

    'Finished building: C:/Program Files/Texas Instruments/ccsv5.2.1/Codecs/H264AVC.HP.D/100_V_H264AVC_D_01_01/C6678_HP_001/Client/Test/Src/TestAppDecoder.c'

    ' '

    'Building file: C:/Program Files/Texas Instruments/ccsv5.2.1/Codecs/H264AVC.HP.D/100_V_H264AVC_D_01_01/C6678_HP_001/Client/Test/Src/alg_create.c'

    'Invoking: C6000 Compiler'

    "C:/Program Files/Texas Instruments/ccsv5.2.1/C6000 Code Generation Tools 7.4.0/bin/cl6x" -mv6600 --big_endian --abi=eabi -g --include_path="C:/Program Files/Texas Instruments/ccsv5.2.1/C6000 Code Generation Tools 7.4.0/include" --include_path="C:/Program Files/Texas Instruments/ccsv5.2.1/xdctools_3_20_08_88/packages" --include_path="C:/Program Files/Texas Instruments/ccsv5.2.1/framework_components_3_20_02_29/packages/ti/sdo/fc/utils/api" --include_path="C:/Program Files/Texas Instruments/ccsv5.2.1/framework_components_3_20_02_29/fctools/packages/ti/xdais/dm" --include_path="C:/Program Files/Texas Instruments/ccsv5.2.1/framework_components_3_20_02_29/fctools/packages" --include_path="C:/Program Files/Texas Instruments/ccsv5.2.1/framework_components_3_20_02_29/fctools/packages/ti/xdais" --include_path="C:/Program Files/Texas Instruments/ccsv5.2.1/bios_6_31_00_18/packages/ti/bios/include" --include_path="C:/Program Files/Texas Instruments/ccsv5.2.1/Codecs/H264AVC.HP.D/100_V_H264AVC_D_01_01/C6678_HP_001/Inc" --include_path="C:/Program Files/Texas Instruments/ccsv5.2.1/Codecs/H264AVC.HP.D/100_V_H264AVC_D_01_01/C6678_HP_001/Client/Test/Inc" --define="C6000" --define="_RTS_MODE" --diag_warning=225 --gen_func_subsections=on --strip_coff_underscore --preproc_with_compile --preproc_dependency="alg_create.pp" --cmd_file="./configPkg/compiler.opt" "C:/Program Files/Texas Instruments/ccsv5.2.1/Codecs/H264AVC.HP.D/100_V_H264AVC_D_01_01/C6678_HP_001/Client/Test/Src/alg_create.c"

    'Finished building: C:/Program Files/Texas Instruments/ccsv5.2.1/Codecs/H264AVC.HP.D/100_V_H264AVC_D_01_01/C6678_HP_001/Client/Test/Src/alg_create.c'

    ' '

    'Building file: C:/Program Files/Texas Instruments/ccsv5.2.1/Codecs/H264AVC.HP.D/100_V_H264AVC_D_01_01/C6678_HP_001/Client/Test/Src/alg_malloc.c'

    'Invoking: C6000 Compiler'

    "C:/Program Files/Texas Instruments/ccsv5.2.1/C6000 Code Generation Tools 7.4.0/bin/cl6x" -mv6600 --big_endian --abi=eabi -g --include_path="C:/Program Files/Texas Instruments/ccsv5.2.1/C6000 Code Generation Tools 7.4.0/include" --include_path="C:/Program Files/Texas Instruments/ccsv5.2.1/xdctools_3_20_08_88/packages" --include_path="C:/Program Files/Texas Instruments/ccsv5.2.1/framework_components_3_20_02_29/packages/ti/sdo/fc/utils/api" --include_path="C:/Program Files/Texas Instruments/ccsv5.2.1/framework_components_3_20_02_29/fctools/packages/ti/xdais/dm" --include_path="C:/Program Files/Texas Instruments/ccsv5.2.1/framework_components_3_20_02_29/fctools/packages" --include_path="C:/Program Files/Texas Instruments/ccsv5.2.1/framework_components_3_20_02_29/fctools/packages/ti/xdais" --include_path="C:/Program Files/Texas Instruments/ccsv5.2.1/bios_6_31_00_18/packages/ti/bios/include" --include_path="C:/Program Files/Texas Instruments/ccsv5.2.1/Codecs/H264AVC.HP.D/100_V_H264AVC_D_01_01/C6678_HP_001/Inc" --include_path="C:/Program Files/Texas Instruments/ccsv5.2.1/Codecs/H264AVC.HP.D/100_V_H264AVC_D_01_01/C6678_HP_001/Client/Test/Inc" --define="C6000" --define="_RTS_MODE" --diag_warning=225 --gen_func_subsections=on --strip_coff_underscore --preproc_with_compile --preproc_dependency="alg_malloc.pp" --cmd_file="./configPkg/compiler.opt" "C:/Program Files/Texas Instruments/ccsv5.2.1/Codecs/H264AVC.HP.D/100_V_H264AVC_D_01_01/C6678_HP_001/Client/Test/Src/alg_malloc.c"

    'Finished building: C:/Program Files/Texas Instruments/ccsv5.2.1/Codecs/H264AVC.HP.D/100_V_H264AVC_D_01_01/C6678_HP_001/Client/Test/Src/alg_malloc.c'

    ' '

    'Building file: C:/Program Files/Texas Instruments/ccsv5.2.1/Codecs/H264AVC.HP.D/100_V_H264AVC_D_01_01/C6678_HP_001/Client/Test/Src/buffermanager.c'

    'Invoking: C6000 Compiler'

    "C:/Program Files/Texas Instruments/ccsv5.2.1/C6000 Code Generation Tools 7.4.0/bin/cl6x" -mv6600 --big_endian --abi=eabi -g --include_path="C:/Program Files/Texas Instruments/ccsv5.2.1/C6000 Code Generation Tools 7.4.0/include" --include_path="C:/Program Files/Texas Instruments/ccsv5.2.1/xdctools_3_20_08_88/packages" --include_path="C:/Program Files/Texas Instruments/ccsv5.2.1/framework_components_3_20_02_29/packages/ti/sdo/fc/utils/api" --include_path="C:/Program Files/Texas Instruments/ccsv5.2.1/framework_components_3_20_02_29/fctools/packages/ti/xdais/dm" --include_path="C:/Program Files/Texas Instruments/ccsv5.2.1/framework_components_3_20_02_29/fctools/packages" --include_path="C:/Program Files/Texas Instruments/ccsv5.2.1/framework_components_3_20_02_29/fctools/packages/ti/xdais" --include_path="C:/Program Files/Texas Instruments/ccsv5.2.1/bios_6_31_00_18/packages/ti/bios/include" --include_path="C:/Program Files/Texas Instruments/ccsv5.2.1/Codecs/H264AVC.HP.D/100_V_H264AVC_D_01_01/C6678_HP_001/Inc" --include_path="C:/Program Files/Texas Instruments/ccsv5.2.1/Codecs/H264AVC.HP.D/100_V_H264AVC_D_01_01/C6678_HP_001/Client/Test/Inc" --define="C6000" --define="_RTS_MODE" --diag_warning=225 --gen_func_subsections=on --strip_coff_underscore --preproc_with_compile --preproc_dependency="buffermanager.pp" --cmd_file="./configPkg/compiler.opt" "C:/Program Files/Texas Instruments/ccsv5.2.1/Codecs/H264AVC.HP.D/100_V_H264AVC_D_01_01/C6678_HP_001/Client/Test/Src/buffermanager.c"

    'Finished building: C:/Program Files/Texas Instruments/ccsv5.2.1/Codecs/H264AVC.HP.D/100_V_H264AVC_D_01_01/C6678_HP_001/Client/Test/Src/buffermanager.c'

    ' '

    'Building file: C:/Program Files/Texas Instruments/ccsv5.2.1/Codecs/H264AVC.HP.D/100_V_H264AVC_D_01_01/C6678_HP_001/Client/Test/Src/crc.c'

    'Invoking: C6000 Compiler'

    "C:/Program Files/Texas Instruments/ccsv5.2.1/C6000 Code Generation Tools 7.4.0/bin/cl6x" -mv6600 --big_endian --abi=eabi -g --include_path="C:/Program Files/Texas Instruments/ccsv5.2.1/C6000 Code Generation Tools 7.4.0/include" --include_path="C:/Program Files/Texas Instruments/ccsv5.2.1/xdctools_3_20_08_88/packages" --include_path="C:/Program Files/Texas Instruments/ccsv5.2.1/framework_components_3_20_02_29/packages/ti/sdo/fc/utils/api" --include_path="C:/Program Files/Texas Instruments/ccsv5.2.1/framework_components_3_20_02_29/fctools/packages/ti/xdais/dm" --include_path="C:/Program Files/Texas Instruments/ccsv5.2.1/framework_components_3_20_02_29/fctools/packages" --include_path="C:/Program Files/Texas Instruments/ccsv5.2.1/framework_components_3_20_02_29/fctools/packages/ti/xdais" --include_path="C:/Program Files/Texas Instruments/ccsv5.2.1/bios_6_31_00_18/packages/ti/bios/include" --include_path="C:/Program Files/Texas Instruments/ccsv5.2.1/Codecs/H264AVC.HP.D/100_V_H264AVC_D_01_01/C6678_HP_001/Inc" --include_path="C:/Program Files/Texas Instruments/ccsv5.2.1/Codecs/H264AVC.HP.D/100_V_H264AVC_D_01_01/C6678_HP_001/Client/Test/Inc" --define="C6000" --define="_RTS_MODE" --diag_warning=225 --gen_func_subsections=on --strip_coff_underscore --preproc_with_compile --preproc_dependency="crc.pp" --cmd_file="./configPkg/compiler.opt" "C:/Program Files/Texas Instruments/ccsv5.2.1/Codecs/H264AVC.HP.D/100_V_H264AVC_D_01_01/C6678_HP_001/Client/Test/Src/crc.c"

    'Finished building: C:/Program Files/Texas Instruments/ccsv5.2.1/Codecs/H264AVC.HP.D/100_V_H264AVC_D_01_01/C6678_HP_001/Client/Test/Src/crc.c'

    ' '

    'Building file: C:/Program Files/Texas Instruments/ccsv5.2.1/Codecs/H264AVC.HP.D/100_V_H264AVC_D_01_01/C6678_HP_001/Client/Test/Src/edmaConfig.c'

    'Invoking: C6000 Compiler'

    "C:/Program Files/Texas Instruments/ccsv5.2.1/C6000 Code Generation Tools 7.4.0/bin/cl6x" -mv6600 --big_endian --abi=eabi -g --include_path="C:/Program Files/Texas Instruments/ccsv5.2.1/C6000 Code Generation Tools 7.4.0/include" --include_path="C:/Program Files/Texas Instruments/ccsv5.2.1/xdctools_3_20_08_88/packages" --include_path="C:/Program Files/Texas Instruments/ccsv5.2.1/framework_components_3_20_02_29/packages/ti/sdo/fc/utils/api" --include_path="C:/Program Files/Texas Instruments/ccsv5.2.1/framework_components_3_20_02_29/fctools/packages/ti/xdais/dm" --include_path="C:/Program Files/Texas Instruments/ccsv5.2.1/framework_components_3_20_02_29/fctools/packages" --include_path="C:/Program Files/Texas Instruments/ccsv5.2.1/framework_components_3_20_02_29/fctools/packages/ti/xdais" --include_path="C:/Program Files/Texas Instruments/ccsv5.2.1/bios_6_31_00_18/packages/ti/bios/include" --include_path="C:/Program Files/Texas Instruments/ccsv5.2.1/Codecs/H264AVC.HP.D/100_V_H264AVC_D_01_01/C6678_HP_001/Inc" --include_path="C:/Program Files/Texas Instruments/ccsv5.2.1/Codecs/H264AVC.HP.D/100_V_H264AVC_D_01_01/C6678_HP_001/Client/Test/Inc" --define="C6000" --define="_RTS_MODE" --diag_warning=225 --gen_func_subsections=on --strip_coff_underscore --preproc_with_compile --preproc_dependency="edmaConfig.pp" --cmd_file="./configPkg/compiler.opt" "C:/Program Files/Texas Instruments/ccsv5.2.1/Codecs/H264AVC.HP.D/100_V_H264AVC_D_01_01/C6678_HP_001/Client/Test/Src/edmaConfig.c"

    'Finished building: C:/Program Files/Texas Instruments/ccsv5.2.1/Codecs/H264AVC.HP.D/100_V_H264AVC_D_01_01/C6678_HP_001/Client/Test/Src/edmaConfig.c'

    ' '

    'Building file: C:/Program Files/Texas Instruments/ccsv5.2.1/Codecs/H264AVC.HP.D/100_V_H264AVC_D_01_01/C6678_HP_001/Client/Test/Src/mcIpc.c'

    'Invoking: C6000 Compiler'

    "C:/Program Files/Texas Instruments/ccsv5.2.1/C6000 Code Generation Tools 7.4.0/bin/cl6x" -mv6600 --big_endian --abi=eabi -g --include_path="C:/Program Files/Texas Instruments/ccsv5.2.1/C6000 Code Generation Tools 7.4.0/include" --include_path="C:/Program Files/Texas Instruments/ccsv5.2.1/xdctools_3_20_08_88/packages" --include_path="C:/Program Files/Texas Instruments/ccsv5.2.1/framework_components_3_20_02_29/packages/ti/sdo/fc/utils/api" --include_path="C:/Program Files/Texas Instruments/ccsv5.2.1/framework_components_3_20_02_29/fctools/packages/ti/xdais/dm" --include_path="C:/Program Files/Texas Instruments/ccsv5.2.1/framework_components_3_20_02_29/fctools/packages" --include_path="C:/Program Files/Texas Instruments/ccsv5.2.1/framework_components_3_20_02_29/fctools/packages/ti/xdais" --include_path="C:/Program Files/Texas Instruments/ccsv5.2.1/bios_6_31_00_18/packages/ti/bios/include" --include_path="C:/Program Files/Texas Instruments/ccsv5.2.1/Codecs/H264AVC.HP.D/100_V_H264AVC_D_01_01/C6678_HP_001/Inc" --include_path="C:/Program Files/Texas Instruments/ccsv5.2.1/Codecs/H264AVC.HP.D/100_V_H264AVC_D_01_01/C6678_HP_001/Client/Test/Inc" --define="C6000" --define="_RTS_MODE" --diag_warning=225 --gen_func_subsections=on --strip_coff_underscore --preproc_with_compile --preproc_dependency="mcIpc.pp" --cmd_file="./configPkg/compiler.opt" "C:/Program Files/Texas Instruments/ccsv5.2.1/Codecs/H264AVC.HP.D/100_V_H264AVC_D_01_01/C6678_HP_001/Client/Test/Src/mcIpc.c"

    'Finished building: C:/Program Files/Texas Instruments/ccsv5.2.1/Codecs/H264AVC.HP.D/100_V_H264AVC_D_01_01/C6678_HP_001/Client/Test/Src/mcIpc.c'

    ' '

    'Building file: C:/Program Files/Texas Instruments/ccsv5.2.1/Codecs/H264AVC.HP.D/100_V_H264AVC_D_01_01/C6678_HP_001/Client/Test/Src/shmemmanager.c'

    'Invoking: C6000 Compiler'

    "C:/Program Files/Texas Instruments/ccsv5.2.1/C6000 Code Generation Tools 7.4.0/bin/cl6x" -mv6600 --big_endian --abi=eabi -g --include_path="C:/Program Files/Texas Instruments/ccsv5.2.1/C6000 Code Generation Tools 7.4.0/include" --include_path="C:/Program Files/Texas Instruments/ccsv5.2.1/xdctools_3_20_08_88/packages" --include_path="C:/Program Files/Texas Instruments/ccsv5.2.1/framework_components_3_20_02_29/packages/ti/sdo/fc/utils/api" --include_path="C:/Program Files/Texas Instruments/ccsv5.2.1/framework_components_3_20_02_29/fctools/packages/ti/xdais/dm" --include_path="C:/Program Files/Texas Instruments/ccsv5.2.1/framework_components_3_20_02_29/fctools/packages" --include_path="C:/Program Files/Texas Instruments/ccsv5.2.1/framework_components_3_20_02_29/fctools/packages/ti/xdais" --include_path="C:/Program Files/Texas Instruments/ccsv5.2.1/bios_6_31_00_18/packages/ti/bios/include" --include_path="C:/Program Files/Texas Instruments/ccsv5.2.1/Codecs/H264AVC.HP.D/100_V_H264AVC_D_01_01/C6678_HP_001/Inc" --include_path="C:/Program Files/Texas Instruments/ccsv5.2.1/Codecs/H264AVC.HP.D/100_V_H264AVC_D_01_01/C6678_HP_001/Client/Test/Inc" --define="C6000" --define="_RTS_MODE" --diag_warning=225 --gen_func_subsections=on --strip_coff_underscore --preproc_with_compile --preproc_dependency="shmemmanager.pp" --cmd_file="./configPkg/compiler.opt" "C:/Program Files/Texas Instruments/ccsv5.2.1/Codecs/H264AVC.HP.D/100_V_H264AVC_D_01_01/C6678_HP_001/Client/Test/Src/shmemmanager.c"

    'Finished building: C:/Program Files/Texas Instruments/ccsv5.2.1/Codecs/H264AVC.HP.D/100_V_H264AVC_D_01_01/C6678_HP_001/Client/Test/Src/shmemmanager.c'

    ' '

    'Building file: C:/Program Files/Texas Instruments/ccsv5.2.1/Codecs/H264AVC.HP.D/100_V_H264AVC_D_01_01/C6678_HP_001/Client/Test/Src/tsc_h.asm'

    'Invoking: C6000 Compiler'

    "C:/Program Files/Texas Instruments/ccsv5.2.1/C6000 Code Generation Tools 7.4.0/bin/cl6x" -mv6600 --big_endian --abi=eabi -g --include_path="C:/Program Files/Texas Instruments/ccsv5.2.1/C6000 Code Generation Tools 7.4.0/include" --include_path="C:/Program Files/Texas Instruments/ccsv5.2.1/xdctools_3_20_08_88/packages" --include_path="C:/Program Files/Texas Instruments/ccsv5.2.1/framework_components_3_20_02_29/packages/ti/sdo/fc/utils/api" --include_path="C:/Program Files/Texas Instruments/ccsv5.2.1/framework_components_3_20_02_29/fctools/packages/ti/xdais/dm" --include_path="C:/Program Files/Texas Instruments/ccsv5.2.1/framework_components_3_20_02_29/fctools/packages" --include_path="C:/Program Files/Texas Instruments/ccsv5.2.1/framework_components_3_20_02_29/fctools/packages/ti/xdais" --include_path="C:/Program Files/Texas Instruments/ccsv5.2.1/bios_6_31_00_18/packages/ti/bios/include" --include_path="C:/Program Files/Texas Instruments/ccsv5.2.1/Codecs/H264AVC.HP.D/100_V_H264AVC_D_01_01/C6678_HP_001/Inc" --include_path="C:/Program Files/Texas Instruments/ccsv5.2.1/Codecs/H264AVC.HP.D/100_V_H264AVC_D_01_01/C6678_HP_001/Client/Test/Inc" --define="C6000" --define="_RTS_MODE" --diag_warning=225 --gen_func_subsections=on --strip_coff_underscore --preproc_with_compile --preproc_dependency="tsc_h.pp" --cmd_file="./configPkg/compiler.opt" "C:/Program Files/Texas Instruments/ccsv5.2.1/Codecs/H264AVC.HP.D/100_V_H264AVC_D_01_01/C6678_HP_001/Client/Test/Src/tsc_h.asm"

    'Finished building: C:/Program Files/Texas Instruments/ccsv5.2.1/Codecs/H264AVC.HP.D/100_V_H264AVC_D_01_01/C6678_HP_001/Client/Test/Src/tsc_h.asm'

    ' '

    'Building target: TestAppDecoder.out'

    'Invoking: C6000 Linker'

    "C:/Program Files/Texas Instruments/ccsv5.2.1/C6000 Code Generation Tools 7.4.0/bin/cl6x" -mv6600 --big_endian --abi=eabi -g --define="C6000" --define="_RTS_MODE" --diag_warning=225 --gen_func_subsections=on --strip_coff_underscore -z -m"TestAppDecoder.map" -i"C:/Program Files/Texas Instruments/ccsv5.2.1/C6000 Code Generation Tools 7.4.0/lib" -i"C:/Program Files/Texas Instruments/ccsv5.2.1/C6000 Code Generation Tools 7.4.0/include" --reread_libs --warn_sections --rom_model -o "TestAppDecoder.out" -l"./configPkg/linker.cmd" "./tsc_h.obj" "./shmemmanager.obj" "./mcIpc.obj" "./edmaConfig.obj" "./crc.obj" "./buffermanager.obj" "./alg_malloc.obj" "./alg_create.obj" "./TestAppDecoder.obj" "./TestAppConfigParser.obj" "./GateMPBarrier.obj" -l"C:/Program Files/Texas Instruments/ccsv5.2.1/Codecs/H264AVC.HP.D/100_V_H264AVC_D_01_01/C6678_HP_001/Client/Build/TestAppDecoder/../../../Lib/h264hpvdec_ti.be66" -l"libc.a" "../H264VDecApp6678.cmd"

    <Linking>

    warning: output section ".fardata" refers to load symbol "printfCaller" and

    hence cannot be compressed; compression "rle" is ignored

    undefined first referenced

    symbol in file

    --------- ----------------

    DSKT2_allocPersistent C:/Program Files/Texas Instruments/ccsv5.2.1/Codecs/H264AVC.HP.D/100_V_H264AVC_D_01_01/C6678_HP_001/Client/Build/TestAppDecoder/Debug/configPkg/package/cfg/h264vDecApp6678.pe66e.obj

    DSKT2_freePersistent C:/Program Files/Texas Instruments/ccsv5.2.1/Codecs/H264AVC.HP.D/100_V_H264AVC_D_01_01/C6678_HP_001/Client/Build/TestAppDecoder/Debug/configPkg/package/cfg/h264vDecApp6678.pe66e.obj

    DSKT2_yield C:/Program Files/Texas Instruments/ccsv5.2.1/Codecs/H264AVC.HP.D/100_V_H264AVC_D_01_01/C6678_HP_001/Client/Build/TestAppDecoder/Debug/configPkg/package/cfg/h264vDecApp6678.pe66e.obj

    ECPY_activate C:/Program Files/Texas Instruments/ccsv5.2.1/Codecs/H264AVC.HP.D/100_V_H264AVC_D_01_01/C6678_HP_001/Client/Build/TestAppDecoder/../../../Lib/h264hpvdec_ti.be66<h264hpvdec_alg.o66>

    ECPY_createHandle C:/Program Files/Texas Instruments/ccsv5.2.1/Codecs/H264AVC.HP.D/100_V_H264AVC_D_01_01/C6678_HP_001/Client/Build/TestAppDecoder/../../../Lib/h264hpvdec_ti.be66<h264hpvdec_alg.o66>

    ECPY_deleteHandle C:/Program Files/Texas Instruments/ccsv5.2.1/Codecs/H264AVC.HP.D/100_V_H264AVC_D_01_01/C6678_HP_001/Client/Build/TestAppDecoder/../../../Lib/h264hpvdec_ti.be66<h264hpvdec_alg.o66>

    ECPY_directConfigure C:/Program Files/Texas Instruments/ccsv5.2.1/Codecs/H264AVC.HP.D/100_V_H264AVC_D_01_01/C6678_HP_001/Client/Build/TestAppDecoder/../../../Lib/h264hpvdec_ti.be66<h264hpvdec_alg.o66>

    ECPY_directSetFinal C:/Program Files/Texas Instruments/ccsv5.2.1/Codecs/H264AVC.HP.D/100_V_H264AVC_D_01_01/C6678_HP_001/Client/Build/TestAppDecoder/../../../Lib/h264hpvdec_ti.be66<h264hpvdec_alg.o66>

    ECPY_directStartEdma C:/Program Files/Texas Instruments/ccsv5.2.1/Codecs/H264AVC.HP.D/100_V_H264AVC_D_01_01/C6678_HP_001/Client/Build/TestAppDecoder/../../../Lib/h264hpvdec_ti.be66<h264hpvdec_alg.o66>

    ECPY_directWait C:/Program Files/Texas Instruments/ccsv5.2.1/Codecs/H264AVC.HP.D/100_V_H264AVC_D_01_01/C6678_HP_001/Client/Build/TestAppDecoder/../../../Lib/h264hpvdec_ti.be66<h264hpvdec_alg.o66>

    ECPY_setEarlyCompletionMode C:/Program Files/Texas Instruments/ccsv5.2.1/Codecs/H264AVC.HP.D/100_V_H264AVC_D_01_01/C6678_HP_001/Client/Build/TestAppDecoder/../../../Lib/h264hpvdec_ti.be66<h264hpvdec_alg.o66>

    RMAN_activateAllResources ./TestAppDecoder.obj

    RMAN_assignResources ./TestAppDecoder.obj

    RMAN_deactivateAllResources ./TestAppDecoder.obj

    RMAN_exit ./TestAppDecoder.obj

    RMAN_freeResources ./TestAppDecoder.obj

    RMAN_init ./TestAppDecoder.obj

    >> Compilation failure

    myMalloc C:/Program Files/Texas Instruments/ccsv5.2.1/Codecs/H264AVC.HP.D/100_V_H264AVC_D_01_01/C6678_HP_001/Client/Build/TestAppDecoder/Debug/configPkg/package/cfg/h264vDecApp6678.pe66e.obj

    printfCaller C:/Program Files/Texas Instruments/ccsv5.2.1/Codecs/H264AVC.HP.D/100_V_H264AVC_D_01_01/C6678_HP_001/Client/Build/TestAppDecoder/Debug/configPkg/package/cfg/h264vDecApp6678.pe66e.obj

    error: unresolved symbols remain

    error: errors encountered during linking; "TestAppDecoder.out" not built

    gmake: *** [TestAppDecoder.out] Error 1

    gmake: Target `all' not remade because of errors.

    **** Build Finished ****

  • Hi Aamir, I learnt that you are going to receive latest GA codec versions (the ones bundle in the MCSDK). So I think you can stop the effort on your current SRC codec versions. In the meantime, let me try to build latest GA codecs using Big Endian and come back to you.

    Thank you,

    Paula

  • Hi Aamir, I tried to build latest H264AVC HP decoder C66X.ELF.01.01.01.04 with BE and I am getting same some getLibs() errors. I will ask around how to find these libraries in BE (if possible) and come back to you.

    Thank you,

    Paula

  • Paula,

    Thanks! look forward to your team's resolution on this build issue and any updates you can provide on timelines etc.

    Thanks, Aamir

  • Hi Aamir, After checking internally I found out that our FC isn't built for Big Endian targets. However, following below link you can rebuild FC for your target.

    http://wiki.sanb.design.ti.com/twiki/bin/view/Sandbox/RebuildingMfp#Rebuilding_Framework_Components 

    Thank you,

    Paula

      

  • Paula,

    The link you sent does not work. Can you please check to see if it is correct.

    Thanks, Aamir

  • Aamir, let me come back to you tomorrow with the list of steps you need to do

    thanks,

    Paula

  • Aamir,

    Please see below text substructure from previously mentioned wiki

    Rebuilding Framework Components
    Rebuilding Framework_Components is typically not necessary.  Source code and build scripts are provided with releases for educational and debugging purposes, but rebuilding FC should not be required. Historically, rebuilding it hasn't been officially supported. However, for various reasons like porting to other OS's or toolchains, users are interested in rebuilding FC libraries. As of release 3.22.00.05, support for rebuilding FC libs has been added, and this article serves as a guide for doing so. Since the goal here is to rebuild Framework Components, let's assume you've downloaded the "full" Framework Components release (the one with fctools subdirectory), which will make this much easier. There are a number of good reasons why you'd want to rebuild FC. Amongst them are things like "I'm using a different toolchain" or "I'm using some strange compiler options that don't jive with the default libs" and others. There are a number of other reasons like "I want to debug X, Y, Z" that may be better off being referred to something like Framework_Components_FAQ?. Most folks are really fine using the prebuilt libs, so just because you ''can'' rebuild FC, doesn't mean you should. There are probably a number of fine alternatives to rebuilding that could help you solve your problem. 

    Edit framework_components.bld
    In framework_components.bld you will find details regarding the targets that FC builds for, and the compiler options to use for each target. These details can be edited in the array called ccOpts. To add support for a new target, add a target name and corresponding compiler/linker options in this array

    Edit products.mak
    In products.mak you will find a place in which you can set the paths to all the dependent products that are needed to build FC. The following tools are available in the fctools directory and for them you can set the path to /fctools

    •XDAIS_INSTALL_DIR
    •CMEM_INSTALL_DIR/LINUXUTILS_INSTALL_DIR
    •OSAL_INSTALL_DIR
    •EMDA3LLD_INSTALL_DIR
    •IPC_INSTALL_DIR
    For the rest, you will need to install and point to those tools in this file. You will also need to add location of the codegen tools for all the targets that you want to rebuild FC for. For instance, to build for 674 elf, you would set the following variable to the location of the codegen tools:- "ti.targets.elf.C674" If you add a new target in framework_components.bld, then you will need add that variable name (the same as used in framework_components.bld's ccOpts array) to products.mak and set the location of the codegen tools for the new target.

    Fire make
    Fire the following commands from :
    •make –f framework_components.mak clean
    •make –f framework_components.mak

    Please see attached and example of framework_components.bld, and products.mak and framework_components.mak that I used in order to create big endian FC (framework_components_3_22_03_09)

    Please let us know if you have any question

    2425.FC_build_files.rar

    Thank you,

    Paula

     

     

  • Thanks will try this out. One point though since it talks of using a FC version better than 3.22.00.05, I am planning on using 3.23.02.16 as that is what is used with the mcsdk video 2.1.0.8. However, my fc does not contain a directory fctools. I am hoping that when I install it again, I will get the fctools installed or do I need to uninstall fc and reinstall it again as a full version. I will keep you updated if I encounter any issues. Another thing is that since FC versions older than 3.22.00.05 can not be rebuilt then I cannot generate big endian fc and hence big endian application code for the old versions of the source provided by TI to me - Can you confirm this for me as that is what I gather from reading your post.

    Thanks, Aamir

  • Aamir in FC download page you can choose if you want the version with or without FC tools. I would ask about oldest FC version rebuild process

    thanks,

    Paula

  • Aamir a quick note if you are using FC version 3.22.* in order to correctly re-build edma3chan lib you need to modify one line on edma3chan/package.bld. Edma3chan lib is used for H.264 Dec test application. If you are using FC version 3.23.* or highier you don't need to modify the script.

    framework_components_3_22_03_09/packages/ti/sdo/fc/ires/edma3chan/package.bld

    line#58:               isas: [ "64P", "64T", "674", "66"], //PC-- 66 target added

    thank you,

    Paula

  • Paula,

    Thanks for the tips. I was able to successfully build the framework components for big endian after a little tinkering around and also the TestAppDecoder project for the H264 decoder application. I will try and do the same for the encoder and then try the application code out on the EVM to see if they run successfully.

    Thanks, Aamir

  • Paula,

    I was able to also build the h264hpvenc_ti_c66x project to build the h264 encoder application to test ver 1.0.0.1. However, when trying to run both the encoder application or the decoder application with the default files in the TestVecs directory, I am finding that they both do nto run.

    The decoder gives me the following errors (something to do Process function returned an error  0x1095)

    Similarly, the encoder does not run properly either. When I try to halt it after it spews some stuff out related to a DSP crash (some stack issue maybe)

    C66xx_0: Trouble Halting Target CPU: (Error -1060 @ 0x0) Device is not responding to the request. Reset the device, and retry the operation. If error persists, confirm configuration, power-cycle the board, and/or try more reliable JTAG settings (e.g. lower TCLK). (Emulation package 5.0.747.0).

    Have you or anyone at TI run these encoder and/or decoder applications in big endian using big endian framework as well as the big endian H264 encoder and decoder HP code libraries. It would appear to me that this is not tested or working for big-endian.

    The encoder errors are as follows:

    [C66xx_0]

    [C66xx_0] ---------------------------------------------------------

    [C66xx_0] Test Case Number : 1

    [C66xx_0] ---------------------------------------------------------

    [C66xx_0] Config File : ..\..\..\Test\TestVecs\Config\encoder.cfg

    [C66xx_0] Input YUV : ..\..\..\Test\TestVecs\Input\airshow_p352x288.yuv

    [C66xx_0] Output Stream : ..\..\..\Test\TestVecs\Output\airshow_p352x288.264

    [C66xx_0]

    [C66xx_0] ShmemTab initialized on Core 0

    [C66xx_0]

    [C66xx_0] Algorithm Instance Creation for the Module DEV.100.V.H264HP.E.C66X.01.00.00.01 Done...

    [C66xx_0]

    [C66xx_0] Started Reading Frame : 0.......

    [C66xx_0]

    [C66xx_0] #NA : IVIDEO_NA_FRAME : Bits : 0

    [C66xx_0]

    [C66xx_0] Started Reading Frame : 0.......

    [C66xx_0]

    [C66xx_0] #NA : IVIDEO_NA_FRAME : Bits : 0

    [C66xx_0]

    [C66xx_0] Started Reading Frame : 0.......

    [C66xx_0] A0=0x8 A1=0x0

    The decoder errors are as follows:

    [C66xx_0] *******************************************

    [C66xx_0] Read Configuration Set 1

    [C66xx_0] Processing Sequence ..\..\..\Test\TestVecs\Input\football_704x480_IBBP_CABAC_16mv_mbaff_3Mbps.264

    [C66xx_0] *******************************************

    [C66xx_0] Erase external (0x80100000) 1800000[C66xx_0]

    [C66xx_0] Erase internal (0x0082df58) 18000[C66xx_0]

    [C66xx_0] DONE

    [C66xx_0]

    [C66xx_0] Running in Output Dump Mode

    [C66xx_0] FileSize = 115560

    [C66xx_0] Input File read successfully...

    [C66xx_0] Creating Algorithm Instance...

    [C66xx_0] Algorithm Instance Creation Done...

    [C66xx_0]

    [C66xx_0] Process function returned an Error... 0x1095

    [C66xx_0] Process function returned an Error... 0x1095

    [C66xx_0] Process function returned an Error... 0x1095

    [C66xx_0] Bitstream Ended... Num bufs Deleted :1

    [C66xx_0] Total Decode Cycles = 0

    [C66xx_0] Average Decode Cycles per Frame = 378524

    [C66xx_0] Average MCPS for 30 Frames/Sec = 12

    [C66xx_0] Peak of Rolling avg MCPS @ 30fps = 1

    [C66xx_0]

    [C66xx_0] -------------- SUMMARY --------------------

    [C66xx_0] Decoder output dump completed

    [C66xx_0] Total number of Frames = 1

    [C66xx_0] Bit Rate at 30 frames/Sec = 27734 Kbps

    [C66xx_0] Width and Height = 1920, 1088

    [C66xx_0] -------------- END --------------------

    [C66xx_0] Completed Decoding of Test vector.

    [C66xx_0]

    [C66xx_0] *******************************************

    [C66xx_0] Read Configuration Set 2

    [C66xx_0] Processing Sequence ..\..\..\Test\TestVecs\Input\football_704x480_IBBP_CABAC_16mv_mbaff_3Mbps.264

    [C66xx_0] *******************************************

    [C66xx_0] Erase external (0x80100000) 1800000[C66xx_0]

    [C66xx_0] Erase internal (0x0082df58) 18000[C66xx_0]

    [C66xx_0] DONE

    [C66xx_0]

    [C66xx_0] Running in Output Dump Mode

    [C66xx_0] FileSize = 115560

    [C66xx_0] Input File read successfully...

    [C66xx_0] Creating Algorithm Instance...

    [C66xx_0] Algorithm Instance Creation Done...

    [C66xx_0]

    [C66xx_0] Process function returned an Error... 0x1095

    [C66xx_0] Process function returned an Error... 0x1095

    [C66xx_0] Process function returned an Error... 0x1095

    [C66xx_0] Bitstream Ended... Num bufs Deleted :1

    [C66xx_0] Total Decode Cycles = 0

    [C66xx_0] Average Decode Cycles per Frame = 378130

    [C66xx_0] Average MCPS for 30 Frames/Sec = 12

    [C66xx_0] Peak of Rolling avg MCPS @ 30fps = 1

    [C66xx_0]

    [C66xx_0] -------------- SUMMARY --------------------

    [C66xx_0] Decoder output dump completed

    [C66xx_0] Total number of Frames = 1

    [C66xx_0] Bit Rate at 30 frames/Sec = 27734 Kbps

    [C66xx_0] Width and Height = 1920, 1088

    [C66xx_0] -------------- END --------------------

    [C66xx_0] Completed Decoding of Test vector.

    [C66xx_0]

    [C66xx_0] End of execution

  • Hi Aamir,

    Current codecs use case is LE and they haven't been verified for BE. The errors you have seen when running BE could be related with some ASM code and bitstream packing. We will check and let you know.

    About the error that you are getting with the decoder, looks like it is related to bitstream header corruption. (XDM_ErrorBit, bit 12).

    Thank you,

    Paula

  • Paula,

    Thanks for the update. Yes, it is related to BE as I was able to run the little endian application successfully for both the encoder and decoder and it works producing correctly encoded and decoded outputs.

    Aamir

  • Hi Aamir,

    I was checking the decoder as I can see the decoder assumes BE bitstream and (because codec desing is for LE) interanlly code swaps bitstream bytes (32bits). However, when codec is compiled for BE it is necesary to change the way bitstream bytes are read or the bitstream endianes, if not we will get "header errors" messages. The file in which bytes are swap is h264vdec_ti_preprocess.c, so at least is not ASM =).. As a test, I tried to modify a .264 file to BE but it is not a trivial task due to H.264 headers and code starts, so I think it is better if you modify the .c file so the streams can be read correctly.

    I will check if any other file need to be modified and let you know.

    thanks,

    Paula   

  • Paula,

    Have you been able to see that the only changes to get it to work are changes in this c file. I will review the file and see if I have any questions.

    Thanks, Aamir

  • Aamir, there are more changes required on both Dec/Enc. Currently codec team is assessing the required effort. We will get back to you as soon as we get this information.

    Thank you,

    Paula

  • Paula,

    Thanks. I gathered the encoder needed significant changes but I got the impression that the decoder was not as significant but thanks for the update. I have a conf call with TI tomorrow to update on the big-endian development effort required.

    Thanks, Aamir

  • Paula,

    Related question. Has the Trans Scaling Unit (TSU) which does resizing of pictures been tested in a big endian implementation? It would appear that this unit will not work in a big endian implementation as it requires some big endian assembly and source code. Under the directory mcsdk_video_2_1_0_8\dsp\components\ti\mas\tsu, it would appear that there is a directory ce66 which contains little endian files tsu_a.ae66 and tsu_c.ae66. I do not think there are any big endian versions. Can you please assist in providing an answer so that we can ascertain whether we need to have this feature also ported for big endian implementation.

    Thanks, Aamir

  • Hi Aamir, TSU has two possible algorithms for resizing, these algorithms are Bicubic and Polyphase. For Bicubic I was able to build and run the project as-is. For Polyphase there are some ASM files that need to be replaced for their original "c" files ir order to correctly build/run this scaler.

    In order to have a fast BE version of Polyphase filter, ASM files for BE need to created. You can find current used LE ASM files at: C:\TI\mcsdk_video_2_1_0_8\dsp\components\ti\mas\tsu\src\polyphase\c64P.

    Please let me know if you want to build/run testAppTSU CCS project using BE and if you need any assistance for creating tsu_c.ae66e (BE) library.

    Thank you,

    Paula 

  • Paula,

    Just to confirm then:

    For Bicubic, big endian implementation is currently available as only in C.

    For polyphase, to have a fast version some of the C code is replaced by ASM calls and TI does not currently have a BE version of the ASM. Is that something TI will do or do we need to get a third party to work on that?

    Yes, we would very much like to build and run testAppTSU CCS project. Where is it located? I may need assistance in creating the tsu_c.ae66e (BE) library which I am assuming will contain both algorithms for resizing? Of course there is the issue of not having the BE asm code for the polyphase algorithm.

    Thanks, Aamir

  • Aamir,

    For Bicubic, big endian implementation is currently available as only in C.
    PC-- yes

    For polyphase, to have a fast version some of the C code is replaced by ASM calls and TI does not currently have a BE version of the ASM. Is that something TI will do or do we need to get a third party to work on that?
    PC-- Your understanding is correct. In order to have BE of the ASM you will need to work with a third party

    Yes, we would very much like to build and run testAppTSU CCS project. Where is it located? I may need assistance in creating the tsu_c.ae66e (BE) library which I am assuming will contain both algorithms for resizing? Of course there is the issue of not having the BE asm code for the polyphase algorithm.
    PC-- I will send you and email with FTP instructions for downloading CCS project and another folders that you will require.

    Main steps for testing are:
    - In the FTP you will find a CCS project. Please unzip it at: mcsdk_video_2_1_0_8\dsp\components\ti\mas\tsu\test\
    - Please change the following code in main.c in order to read configuration file from a specific location
    #if 0
        if(argc != 2) {
          usage();
        }
        fConfigName = argv[1];
    #else
        fConfigName = "C:\\TI\\TSU_testVecs\\config\\testVecs720toCIF.cfg"; //PC-- change for your configuration location and filename

    - I will upload as well tesVecs and TSU lib folders. Please locate these folder at C:\TI\mcsdk_video_2_1_0_8\dsp\components\ti\mas\tsu. Inside testVecs folder you will find a configuration file example. Please modify this example accordingly with your test
    >>>configuration file example>>>
    C:\TI\mcsdk_video_2_1_0_8\dsp\components\ti\mas\tsu\testVecs\input\airshow_p352x288.yuv
    C:\TI\mcsdk_video_2_1_0_8\dsp\components\ti\mas\tsu\testVecs\output\Qcif_airshow.yuv
    352
    288
    176
    144
    TSU_POLYPHASE
    READ_INPUT_FROM_FILE

    - Please clean/build in LE and test it on your board. After succesfully running TSU (TSU_POLYPHASE or TSU_BICUBIC) you can try building testAppTsu using BE libraries (ce66e package)
    - If you want to rebuild TSU lib please follow below steps
    1- Please set up env using the same way for making sv04 => mkrel/setupenvMsys.bat ( for more details please chek http://processors.wiki.ti.com/index.php/MCSDK_VIDEO_2.0_CODEC_TEST_FW_User_Guide#Make_Instructions)
    2- Move to tsu folder cd ../components/ti/mas/tsu
    2- modified C:\TI\mcsdk_video_2_1_0_8\dsp\components\ti\mas\tsu\package.bld to include BE target as shown below
    >>package.bld>>
    /* Set up the target architecture */
      Package.targets = [C64P, C66_elf, VC98, C66_big_endian_elf];

    3-  Use xdc command =>  XDCARGS=”c66be_elf src” release -PD  /c/TI/mcsdk_video_2_1_0_8/dsp/components/ti/mas/tsu
    4- If you wan to use Polyphase "c" files instead of "ASM" please change package.bld to:
    >>package.bld>>
    Package.files["C64srcsSpeed"] =
     {
     
       target:["c64le","c64be","c64Ple","c64Pbe", "c66le", "ce66le", "c66be", "ce66be"],
      
       base_directory: "src",
      
       files:
         [
          "polyphase/pc/img_pix_expand.c",
         "polyphase/pc/img_pix_sat.c",
         "polyphase/pc/scale_horz_c.c",
         "polyphase/pc/scale_vert_c.c"
         ],
    Please note that "C64srcsSpeed" originally point to polyphase/c64P/

    Please let me know if you face any issue or if something is not clear

    Thank you,
    Paula

  • Hi Paula,
    Understand I am opening a very old thread, but I was hoping if it would be possible for you to share the source files (mentioned above) and other associated files required to build the project once again.
    "polyphase/pc/img_pix_expand.c",
    "polyphase/pc/img_pix_sat.c",
    "polyphase/pc/scale_horz_c.c",
    "polyphase/pc/scale_vert_c.c"

    We are facing a quality issue with the video scaler as mentioned in this post e2e.ti.com/.../465072. The issue seems to be specific to the polyphase implementation and we are seeing the issue with the little endian implementation as well, though in our product we use the big endian implementation of the source. Interesting we do not see the quality issue while using the bicubic implementation. However, since the bicubic implementation is not optimized, we are trying to debug the problem with the polyphase filter ourselves. Towards that it would be very helpful if we can get the C source files. Debugging the problem with the assembly files is going to be tougher and hence our preference to receive the C source files again.

    If you prefer to share the source files over FTP in a private email, you may send the same to araman at radisys dot com my official email ID.

    Thanks in advance for the help.

    Best regards
    Arvind
  • Hi Arvind, I am checking internally if we can share "c" files with you. I will come back to you soon. thank you
    Paula
  • Arvind, TSU component is cover under MCSDK video manifest under BSD-3-Clause for source and binary, so there is not issues sharing this information with you. Please see attached zip.

    pc.zip

    Thank you,

    Paula

  • Thanks for the C source files, Paula.

    Can I also request you to share the TSU API reference document. We found the following comments in the assembly files and it would be important to have this document to resolve the quality issues we are currently facing with the TSU module. 

    * The software to produce these tables and the simple coefficents *
    * for an arbitarary scale factor and number of taps can be found *
    * in the api document

    I couldn't find the API document in the MCSDK video folder or on the TI portal. I raised this request in another ticket as well.  In that ticket, I have described one of the quality problems we are facing with the TSU module. We are trying to fix these issues by ourselves and getting all the relevant background information in place would significantly help.  

    Best regards,

    Arvind

  • Hi Arvind, in my old vault files I find a tsu folder (tsu_2_2_0_0)  which has a CCS project and a TSUAPI.chm. It is an old package, which haven't been tested recently, but I hope it could help in your debugging process.

    5468.1830.tsu.zip

    thank you,

    Paula

  • Arvind, I just created another zip with tsu_2_2_0_1, again, I hope this helps

    MCSDK_Video_2_2_0_46_tsu.zip

    thank you,

    Paula

  • Thanks Paula!!!
    I notice this new package has a new makefile Makedocs.mk that generates doxygen file. Could you please share instructions to generate the doxygen files using this makefile. Conversely, would it be possible for you to share the resultant .html / .chm files.

    I couldn't figure out where the environment variable TI_DOXYGEN_TEMPLATES would be defined etc...

    I am interested in knowing how the jump tables and filter coefficients should be computed for an arbitrary scaling factor. Since the makefile suggests that this API document would be produced by doxgen (which would scan the source files in the package), is the description at the top of the file scale_horiz_h.s all that we have to refer to?

    Best regards
    Arvind
  • Arvind, .html and .chm files are the same as the previous shared package (tsu_2_2_0_0) so I would suggest don't spend time trying to recreate them with latest shared tsu (tsu_2_2_0_1). However, I am afraid there is not much information about filter coefficients and comments inside files is the reference we have.
    thank you,
    Paula
  • Thanks Paula!!!
    I think you have already answered the question I intend to ask. Is there any other document (whitepaper, design document) pertaining to the TSU module that you can share with us? The comment inside the files are scant and it isn't easy to get a full idea of how the filters were designed just by going through it.

    Best regards
    Arvind
  • Hi Arvind, sorry for my late reply. Unfortunately, I don't think we have any additional information, but I will search around and let you know if I find anything additional.

    thank you,
    Paula
  • Thanks Paula. It would be helpful if we can get any additional information.

    Thanks and Best regards
    Arvind