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.

lucas-kanade feature tracking through C6Accel not picking up features with real images

Other Parts Discussed in Thread: DM3730, OMAP3530

Hello,

I have successfully ran the c6accel Lucas-Kanade where it uses a standard 64x64 checkboard and skewed checkerboard but when I try to find features with sample images/ skewed images it does not work. Before I get into what I mean by it does not work here is the process I use to get the data for the LK algorithim. I only have SPRUG00C-Nov-09 for documentation so if there has been updates I would love for an email of it (havi0019@umn.edu). For my jpegs I have tried two different processes: 1- use jpegdec to convert jpeg to UYVY then use extractLumaFromUYVY which then goes to xyGradientsAndMagnitude then the LucasKanade. I also tried using jpegdec to convert to different forms of YUV and only using the Y component in the xyGradient and LK. From the documentation I was not positive what I should do. It says Luma Image input for LK but I'm not sure if I obtained it correctly or efficiently. Also could someone explain what the variables next to the inputs mean..Like UQ8.0 or SQ15.0 it does not mention anything about it.

But once I have done that process I have tried it a couple different ways. One I made a black/white image with a couple of black boxes that I move around in two jpegs. If I try it on them I get same locations back from both but the locations don't correspond to any features. I tried to put the X and Y feature points close to corners on the first image  so that in the second it would pick them up but it just outputed same locations even though the boxes had moved. I then tried the same process on a sample image that came with DMAI-fruit_basket.jpeg. I took the image and an inverted version of it and when I sampled X and Y features randomly it outputted crazy results. The image itself is something close to 305x280 but it was outputting features in the 1000's, 2000's. Not sure if this means it diverged or if the output is in pixels. But not sure that would make sense because it outputs outX and outY so an outX or outY of 2500 for only 250-300 pixels should not make sense correct?

I've tried looking for more samples or info but it has been hard to come by for VLIB. VLIB documentation for C6accel is sparse. I have seen threads about passing sample code out and have tried to obtain it but have not yet. Any samples/ more documentation or advice would be greatly appreciated.

Thanks

Steve

havi0019@umn.edu

  • Hi Steve,

    Just a few quick questions to start:

    • What DSP core are you using?
    • What version of VLIB do you have?

    I'm not too familiar with this kernel, however I believe I can help with a few questions and maybe together we can figure out the rest.

     

    Steve Haviland said:
    Also could someone explain what the variables next to the inputs mean..Like UQ8.0 or SQ15.0 it does not mention anything about it.

    I took a look as well and it appears that some of the input and output values are in fixed-point format.  For example, UQ8.0 means that the values (pixels in this case) are unsigned (U) with 8 integer bits and 0 fractional bits.  This is really just a fancy way of saying the pixels are 8-bit unsigned.  SQ15.0 implies 16-bit signed (S), where one bit is used for the sign (hence Q15.0) .

    The interesting values are the input and output X,Y coordinates.  These are in SQ11.4 format, meaning that these are signed values with 4 fractional bits.  As such, integer values passed in should be multiplied by 2^4=16 to be correct.  Furthermore, output values need to be divided by 2^4 for representation as an integer (this would be a "floor" operation since fractional bits will be ignored, you can also perform rounding or just keep in fractional format for further processing).

    Steve Haviland said:
    The image itself is something close to 305x280 but it was outputting features in the 1000's, 2000's.

    Now these values might make sense when divided by 16.  No guarantee, but worth another peek.

    Please let me know if this helps any and what further steps we need to take to resolve this.

    Regards,
    Charlie

     

    BTW -- I've helped manage our Image & Video Processing Library (IMGLIB) releases and have recently come aboard with VLIB.  Please be patient with me.

     

  • Charlie,

    Thanks for the response and info!

    I am using DM3730 with C6accel_1_01_00_07. I'm not exactly sure which version of VLIB it comes with. It did not come with any VLIB documentation API's. The documentation I do have came from a Co-Worker who got a VLIB license which is for VLIB_2_1_api.pdf (SPRUG00C). TI employee Senthil Kumar sent me a Lucas Kanade example which has helped me figure some things that I think led to some of my errors. The C6accel Lucas Kanade example uses a checkboard/skewed checkerboard for which didn't require any smoothing and features were found very differently. For the runs I was doing I was using JPEGs which I decoded using Dmai-jpegdec then used VLIB_xyGradientsAndMagnitude then the LK. From running more tests I found that the features found in LK some would remain constant while others would diverge to very large (positive/negative) pixels. For example here is what I inputted:

        short X[NFEATURES] = {6.2f * 16, 8.8f * 16, 13.3f * 16, 13.3f * 16, 0.9f * 16, 9.6f * 16};
        short Y[NFEATURES] = {6.3f * 16, 5.6f * 16, 5.6f * 16, 10.2f * 16, 5.8f * 16, 1.2f * 16};

    I put points near where features should be but I found that some of the points would  as I said would output what I inputted or go very large! The output points should have been slightly different from the inputted values. And what helped me realize something was wrong was that if I ran the same code twice is that the diverging large pixels would change each run! From the example Senthil sent me I realized I was skipping steps. I need to do xyGradient -> harris_score -> nonMaxSuppress_7x7 -> LK.

    Since I'm using actual images they need to be smoothed with a convolution filter. I think that was my problem. Unfortunately at the moment C6accel does not have C6accel_VLIB_nonMaxSuppress_7x7_S16. So I am going to trying and implement this into it using what I have found here : http://processors.wiki.ti.com/index.php/C6Accel_Advanced_Users_Guide

    I am definitely not an "Advanced-User" but I'll give it a shot :) From the API for VLIB it does say you can apply a smaller filter like a 3x3 but you need to adjust image/data pointers which I also have no idea how to do.

    I'll keep chugging away but any help/tips are very appreciated. I'll update any progress I make.

    Thanks Charlie (and Senthil if you are reading)

    Steve

  • Didn't mean to respond with my personal acct.

    But DM370 on Gumstix Overo Board. I'd like to use VLIB but since I don't yet have the license I can only use it through C6accel. I think I could maybe copy the vlib.l64p out of it and maybe try it in C6Run. I did that with a different dsp library. My goal is to run a jpeg decoder through a lucas-kanade algorithm. I've gotten the decoding down and now with the example code sent to me I found out which functions are suggested to use for LK. Once decoded you put it through VLIB_xyGradientsAndMagnitude, then VLIB_harrisScore_7x7, then VLIB_nonMaxSuppress_7x7_S16. C6accel with VLIB had capability for gradients, harris and LK but not nonMaxSuppress. So I added that kernel to it which was not too hard. I will attach what I added to C6accel if anyone is interested in adding that capability. Once I had a C6accel version of nonMaxSuppress I took the sample code I was given and modified it slightly into the format wanted by C6accel. The sample code itself doesn't use actual images but its a closer step to what I want to do. The code compiles fine but I can't get it to run. The errors I get are not normal codec engine failures but it seems kernel related ( I'll attach it). I've noticed this error before..on another program I have that does decoding then does a little sample c6accel call and run (just for testing Dmai/C6accel together) that I could run the code maybe twice before the third time I would get a kernel Oops. At first I thought it was my code itself but now I'm starting to think that maybe its my kernel/image. It's goofy to me that the code would run a couple times and fail. Something maybe not getting turned on/off between runs? But I wonder why the new LK app won't run at all when it gets this same error. Do you have an email that I could send you the code/sample code to run on your stuff so I can confirm whether or not its a codec issue or a kernel one?

    sorry the attach button was not working for me but here is log with error I'm experiencing..I can attach the one that works a couple times and fails if wanted...

    root@overo:~# cd /home/dsp/dm3730/usr/share/ti/c6accel_usr/
    root@overo:/home/dsp/dm3730/usr/share/ti/c6accel_usr# ls
    c6accel_omap3530.x64P  decode_lk_1_4  load1omap.sh
    cmemk.ko           decode_lk_2    load2omap.sh
    decode_lk_1           dsplinkk.ko    loadmodules_omap3530_c6accel.sh
    decode_lk_1_2           lk_demo          lpm_omap3530.ko
    decode_lk_1_3           lk_demo2       test_files
    root@overo:/home/dsp/dm3730/usr/share/ti/c6accel_usr# ./load1omap.sh
    [   69.311279] DSPLINK Module (1.65.00.03) created on Date: Jun 21 2012 Time: 23:47:45
    [   69.360229] CMEMK module: built on Jun 21 2012 at 23:52:43
    [   69.367034]   Reference Linux version 2.6.37
    [   69.372222]   File /home/steve/gumstix-modules/linuxutils_2_26_02_05/packages/ti/sdo/linuxutils/cmem/src/module/cmemk.c
    [   69.388702] CMEM Range Overlaps Kernel Physical - allowing overlap
    [   69.396270] CMEM phys_start (0x85000000) overlaps kernel (0x80000000 -> 0x9a400000)
    [   69.406433] allocated heap buffer 0xe1000000 of size 0xfd9000
    [   69.413269] heap fallback enabled - will try heap if pool buffer is not available
    [   69.421844] cmemk initialized
    root@overo:/home/dsp/dm3730/usr/share/ti/c6accel_usr# lsmod
    Module                  Size  Used by
    cmemk                  20574  0
    lpm_omap3530            6433  0
    dsplinkk              125609  1 lpm_omap3530
    sco                     8100  2
    bnep                    9378  2
    hci_uart               14749  3
    rfcomm                 32016  4
    ircomm_tty             30113  0
    ircomm                 16261  1 ircomm_tty
    irda                  158470  2 ircomm_tty,ircomm
    ipv6                  248322  19
    hidp                   10867  0
    l2cap                  38349  17 bnep,rfcomm,hidp
    bluetooth              51037  10 sco,bnep,hci_uart,rfcomm,hidp,l2cap
    rfkill                 14538  2 bluetooth
    minix                  25718  0
    root@overo:/home/dsp/dm3730/usr/share/ti/c6accel_usr# cat /proc/modules
    cmemk 20574 0 - Live 0xbf14e000
    lpm_omap3530 6433 0 - Live 0xbf147000
    dsplinkk 125609 1 lpm_omap3530, Live 0xbf11b000
    sco 8100 2 - Live 0xbf113000
    bnep 9378 2 - Live 0xbf10a000
    hci_uart 14749 3 - Live 0xbf100000
    rfcomm 32016 4 - Live 0xbf0f0000
    ircomm_tty 30113 0 - Live 0xbf0e1000
    ircomm 16261 1 ircomm_tty, Live 0xbf0d6000
    irda 158470 2 ircomm_tty,ircomm, Live 0xbf09d000
    ipv6 248322 19 - Live 0xbf049000
    hidp 10867 0 - Live 0xbf040000
    l2cap 38349 17 bnep,rfcomm,hidp, Live 0xbf02f000
    bluetooth 51037 10 sco,bnep,hci_uart,rfcomm,hidp,l2cap, Live 0xbf018000
    rfkill 14538 2 bluetooth, Live 0xbf00d000
    minix 25718 0 - Live 0xbf000000
    root@overo:/home/dsp/dm3730/usr/share/ti/c6accel_usr# cat /proc/meminfo
    MemTotal:         417084 kB
    MemFree:          358968 kB
    Buffers:            4272 kB
    Cached:            24456 kB
    SwapCached:            0 kB
    Active:            15168 kB
    Inactive:          19624 kB
    Active(anon):       6384 kB
    Inactive(anon):      244 kB
    Active(file):       8784 kB
    Inactive(file):    19380 kB
    Unevictable:           0 kB
    Mlocked:               0 kB
    SwapTotal:             0 kB
    SwapFree:              0 kB
    Dirty:                16 kB
    Writeback:             4 kB
    AnonPages:          6080 kB
    Mapped:             5648 kB
    Shmem:               564 kB
    Slab:               5944 kB
    SReclaimable:       2508 kB
    SUnreclaim:         3436 kB
    KernelStack:        1136 kB
    PageTables:          736 kB
    NFS_Unstable:          0 kB
    Bounce:                0 kB
    WritebackTmp:          0 kB
    CommitLimit:      208540 kB
    Committed_AS:      43156 kB
    VmallocTotal:     385024 kB
    VmallocUsed:       21772 kB
    VmallocChunk:     357372 kB
    root@overo:/home/dsp/dm3730/usr/share/ti/c6accel_usr# cat /proc/iomem
    00000000-00000000 : omap2-nand.0
    01000000-010000ff : smsc911x2-memory
    2c000000-2c0000ff : smsc911x-memory
      2c000000-2c0000ff : smsc911x
    30000000-30000003 : omap2-nand
    48056000-4a0560ff : omap_dma_system.0
      48060000-4806007f : omap_i2c.3
        48060000-4806007f : omap_i2c
      48062000-48062fff : ehci-omap.0
      48064000-480643ff : ehci-omap.0
      48064800-48064bff : ehci-omap.0
      4806a000-4806bfff : omap_uart.0
        4806a000-4806bfff : omap_uart
      4806c000-4806c3ff : omap_uart.1
        4806c000-4806c3ff : omap_uart
      48070000-4807007f : omap_i2c.1
        48070000-4807007f : omap_i2c
      48094000-4809411f : omap-mailbox
      48098000-480980ff : omap2_mcspi.1
        48098000-480980ff : omap2_mcspi.1
      4809a000-4809a0ff : omap2_mcspi.2
        4809a000-4809a0ff : omap2_mcspi.2
      4809c000-4809c1ff : mmci-omap-hs.0
        4809c000-4809c1ff : mmci-omap-hs
      480ab000-480abfff : musb_hdrc
      480b4000-480b41ff : mmci-omap-hs.1
        480b4000-480b41ff : mmci-omap-hs
      480b8000-480b80ff : omap2_mcspi.3
        480b8000-480b80ff : omap2_mcspi.3
      480ba000-480ba0ff : omap2_mcspi.4
        480ba000-480ba0ff : omap2_mcspi.4
      480bd400-480bd4ff : omap-iommu.0
        480bd400-480bd4ff : omap-iommu.0
      480c3000-480c3064 : omap-sham
      480c5000-480c504c : omap-aes
      480c9000-480c93ff : smartreflex.0
      480cb000-480cb3ff : smartreflex.1
      48310000-483101ff : omap_gpio.0
      48314000-4831407f : omap_wdt
        48314000-4831407f : omap_wdt
      49020000-490203ff : omap_uart.2
        49020000-490203ff : omap_uart
      49042000-490423ff : omap_uart.3
        49042000-490423ff : omap_uart
      49050000-490501ff : omap_gpio.1
      49052000-490521ff : omap_gpio.2
      49054000-490541ff : omap_gpio.3
      49056000-490561ff : omap_gpio.4
      49058000-490581ff : omap_gpio.5
    70000000-70ffffff : vrfb
    71000000-71ffffff : vrfb
    72000000-72ffffff : vrfb
    73000000-73ffffff : vrfb
    74000000-74ffffff : vrfb
    75000000-75ffffff : vrfb
    76000000-76ffffff : vrfb
    77000000-77ffffff : vrfb
    78000000-78ffffff : vrfb
    79000000-79ffffff : vrfb
    7a000000-7affffff : vrfb
    7b000000-7bffffff : vrfb
    7c000000-7cffffff : vrfb
    7d000000-7dffffff : vrfb
    7e000000-7effffff : vrfb
    7f000000-7fffffff : vrfb
    80000000-84ffffff : System RAM
      80038000-80611de3 : Kernel text
      80612000-8069225f : Kernel data
    85000000-862fffff : CMEM
    8a000000-9fffffff : System RAM
    root@overo:/home/dsp/dm3730/usr/share/ti/c6accel_usr# CE_DEBUG=2 ./lk_demo2
    @0,312,774us: [+4 T:0x4004f300] OG - Global_init> This program was built with the following packages:
    @0,313,232us: [+4 T:0x4004f300] OG -     package gnu.targets.arm.rtsv5T (/home/steve/gumstix-modules/xdctools_3_16_03_36/packages/gnu/targets/arm/rtsv5T/) [1, 0, 0, 0]
    @0,313,293us: [+4 T:0x4004f300] OG -     package ti.sdo.linuxutils.cmem (/home/steve/gumstix-modules/linuxutils_2_26_02_05/packages/ti/sdo/linuxutils/cmem/) [2, 2, 0]
    @0,313,354us: [+4 T:0x4004f300] OG -     package ti.c6accel (/home/steve/gumstix-modules/c6accel_1_01_00_07/soc/packages/ti/c6accel/) [1, 0, 0]
    @0,313,385us: [+4 T:0x4004f300] OG -     package ti.sdo.codecs.jpegdec (/home/steve/gumstix-modules/codecs-omap3530_4_02_00_00/packages/ti/sdo/codecs/jpegdec/) [1, 0, 0]
    @0,313,415us: [+4 T:0x4004f300] OG -     package ti.sdo.linuxutils.sdma (/home/steve/gumstix-modules/linuxutils_2_26_02_05/packages/ti/sdo/linuxutils/sdma/) [1, 0, 0]
    @0,313,446us: [+4 T:0x4004f300] OG -     package ti.sdo.fc.global (/home/steve/gumstix-modules/framework-components_2_26_00_01/packages/ti/sdo/fc/global/) [1, 0, 0]
    @0,313,507us: [+4 T:0x4004f300] OG -     package ti.sdo.fc.scpy (/home/steve/gumstix-modules/framework-components_2_26_00_01/packages/ti/sdo/fc/scpy/) [1, 0, 0]
    @0,313,537us: [+4 T:0x4004f300] OG -     package ti.sdo.ce.global (/home/steve/gumstix-modules/codec-engine_2_26_02_11/packages/ti/sdo/ce/global/) [1, 0, 0]
    @0,313,568us: [+4 T:0x4004f300] OG -     package dsplink.gpp (/home/steve/gumstix-modules/dsplink_linux_1_65_00_03/dsplink/gpp/) [5, 0, 0]
    @0,313,598us: [+4 T:0x4004f300] OG -     package ti.bios.power (/home/steve/gumstix-modules/local_power_manager_linux_1_24_02_09/packages/ti/bios/power/) [1, 1, 1]
    @0,313,659us: [+4 T:0x4004f300] OG -     package ti.xdais.dm (/home/steve/gumstix-modules/xdais_6_25_02_11/packages/ti/xdais/dm/) [1, 0, 5]
    @0,313,690us: [+4 T:0x4004f300] OG -     package ti.xdais (/home/steve/gumstix-modules/xdais_6_25_02_11/packages/ti/xdais/) [1, 2.0, 1]
    @0,313,721us: [+4 T:0x4004f300] OG -     package ti.sdo.ce.node (/home/steve/gumstix-modules/codec-engine_2_26_02_11/packages/ti/sdo/ce/node/) [1, 0, 0]
    @0,313,751us: [+4 T:0x4004f300] OG -     package ti.sdo.utils.trace (/home/steve/gumstix-modules/framework-components_2_26_00_01/packages/ti/sdo/utils/trace/) [1, 0, 0]
    @0,313,782us: [+4 T:0x4004f300] OG -     package ti.sdo.ce.utils.xdm (/home/steve/gumstix-modules/codec-engine_2_26_02_11/packages/ti/sdo/ce/utils/xdm/) [1, 0, 2]
    @0,313,812us: [+4 T:0x4004f300] OG -     package ti.sdo.fc.memutils (/home/steve/gumstix-modules/framework-components_2_26_00_01/packages/ti/sdo/fc/memutils/) [1, 0, 0]
    @0,313,904us: [+4 T:0x4004f300] OG -     package ti.sdo.fc.utils (/home/steve/gumstix-modules/framework-components_2_26_00_01/packages/ti/sdo/fc/utils/) [1, 0, 2]
    @0,313,934us: [+4 T:0x4004f300] OG -     package ti.sdo.fc.dman3 (/home/steve/gumstix-modules/framework-components_2_26_00_01/packages/ti/sdo/fc/dman3/) [1, 0, 4]
    @0,313,965us: [+4 T:0x4004f300] OG -     package ti.sdo.fc.acpy3 (/home/steve/gumstix-modules/framework-components_2_26_00_01/packages/ti/sdo/fc/acpy3/) [1, 0, 4]
    @0,313,995us: [+4 T:0x4004f300] OG -     package gnu.targets (/home/steve/gumstix-modules/xdctools_3_16_03_36/packages/gnu/targets/) [1, 0, 1]
    @0,314,026us: [+4 T:0x4004f300] OG -     package gnu.targets.arm (/home/steve/gumstix-modules/xdctools_3_16_03_36/packages/gnu/targets/arm/) [1, 0, 0, 0]
    @0,314,087us: [+4 T:0x4004f300] OG -     package ti.catalog.arm (/home/steve/gumstix-modules/xdctools_3_16_03_36/packages/ti/catalog/arm/) [1, 0, 1, 0]
    @0,314,148us: [+4 T:0x4004f300] OG -     package ti.catalog (/home/steve/gumstix-modules/xdctools_3_16_03_36/packages/ti/catalog/) [1, 0, 0]
    @0,314,178us: [+4 T:0x4004f300] OG -     package ti.catalog.c6000 (/home/steve/gumstix-modules/xdctools_3_16_03_36/packages/ti/catalog/c6000/) [1, 0, 0, 0]
    @0,314,209us: [+4 T:0x4004f300] OG -     package ti.platforms.evm3530 (/home/steve/gumstix-modules/xdctools_3_16_03_36/packages/ti/platforms/evm3530/) [1, 0, 0]
    @0,314,239us: [+4 T:0x4004f300] OG -     package ti.sdo.ce.osal (/home/steve/gumstix-modules/codec-engine_2_26_02_11/packages/ti/sdo/ce/osal/) [2, 0, 2]
    @0,671,905us: [+4 T:0x4004f300] OG -     package ti.sdo.ce.ipc (/home/steve/gumstix-modules/codec-engine_2_26_02_11/packages/ti/sdo/ce/ipc/) [2, 0, 1]
    @0,671,966us: [+4 T:0x4004f300] OG -     package ti.sdo.ce.osal.linux (/home/steve/gumstix-modules/codec-engine_2_26_02_11/packages/ti/sdo/ce/osal/linux/) [2, 0, 1]
    @0,671,997us: [+4 T:0x4004f300] OG -     package ti.sdo.ce.ipc.dsplink (/home/steve/gumstix-modules/codec-engine_2_26_02_11/packages/ti/sdo/ce/ipc/dsplink/) [2, 0, 1]
    @0,672,027us: [+4 T:0x4004f300] OG -     package ti.sdo.ce.alg (/home/steve/gumstix-modules/codec-engine_2_26_02_11/packages/ti/sdo/ce/alg/) [1, 0, 1]
    @0,672,058us: [+4 T:0x4004f300] OG -     package ti.sdo.ce (/home/steve/gumstix-modules/codec-engine_2_26_02_11/packages/ti/sdo/ce/) [1, 0, 6]
    @0,672,119us: [+4 T:0x4004f300] OG -     package ti.sdo.ce.universal (/home/steve/gumstix-modules/codec-engine_2_26_02_11/packages/ti/sdo/ce/universal/) [1, 0, 0]
    @0,672,149us: [+4 T:0x4004f300] OG -     package ti.c6accel.ce (/home/steve/gumstix-modules/c6accel_1_01_00_07/soc/packages/ti/c6accel/ce/) [1, 0, 0]
    @0,672,180us: [+4 T:0x4004f300] OG -     package ti.sdo.ce.image1 (/home/steve/gumstix-modules/codec-engine_2_26_02_11/packages/ti/sdo/ce/image1/) [1, 0, 1]
    @0,672,210us: [+4 T:0x4004f300] OG -     package ti.sdo.codecs.jpegdec.ce (/home/steve/gumstix-modules/codecs-omap3530_4_02_00_00/packages/ti/sdo/codecs/jpegdec/ce/) [1, 0, 0]
    @0,672,271us: [+4 T:0x4004f300] OG -     package lk_demo2_config (/home/steve/gumstix-modules/c6accel_user_fncs/soc/LK-Demo2/lk_demo2_config/) []
    @0,672,607us: [+0 T:0x4004f300] ti.sdo.ce.osal.Sem - Sem_create> count: 0
    @0,672,668us: [+0 T:0x4004f300] ti.sdo.ce.osal.Sem - Leaving Sem_create> sem[0x13ab1c0]
    @0,672,698us: [+0 T:0x4004f300] ti.sdo.ce.osal.Sem - Sem_create> count: 0
    @0,672,729us: [+0 T:0x4004f300] ti.sdo.ce.osal.Sem - Leaving Sem_create> sem[0x13ab1d8]
    @0,672,760us: [+0 T:0x4004f300] OT - Thread_create> Enter (fxn=0x2e3e4, attrs=0x0)
    @0,673,065us: [+0 T:0x4004f300] OT - Thread_create> Exit (task=0x13ab210)
    @0,673,248us: [+0 T:0x4004f300] ti.sdo.ce.alg - ALG_init> Enter
    @0,673,309us: [+0 T:0x4004f300] ti.sdo.ce.alg - ALG_init> Exit
    @0,673,370us: [+6 T:0x4004f300] CE - Engine_init> CE debugging on (CE_DEBUG=2; allowed CE_DEBUG levels: 1=min, 2=good, 3=max)
    @0,673,461us: [+0 T:0x4004f300] CS - Server_init()
    @0,673,492us: [+0 T:0x4004f300] CS - Server_init> Global_useLinkArbiter = 0
    @0,673,583us: [+0 T:0x4004f300] CE - Engine_open> Enter('LK_demo2', 0x0, 0xbe999fd4)
    @0,673,645us: [+0 T:0x4004f300] CE - rserverOpen('c6accel_omap3530.x64P'), count = 0
    @0,673,675us: [+0 T:0x4004f300] OP - Processor_create> Enter(imageName='c6accel_omap3530.x64P', linkCfg='(null)', attrs=0xbe999fb8)
    @0,673,858us: [+0 T:0x4004f300] OP - doCmd> Enter (cmdId=1, proc=0x13ab530)
    @0,673,919us: [+0 T:0x4004f300] ti.sdo.ce.osal.Sem - Entered Sem_post> sem[0x13ab1c0]
    @0,673,950us: [+0 T:0x4004f300] ti.sdo.ce.osal.Sem - Leaving Sem_post> sem[0x13ab1c0]
    @0,673,980us: [+0 T:0x4004f300] ti.sdo.ce.osal.Sem - Entered Sem_pend> sem[0x13ab1d8] timeout[0xffffffff]
    @0,674,102us: [+1 T:0x40b40490] OP - daemon> thread created.
    @0,674,163us: [+0 T:0x40b40490] OP - getCmd_d> Enter (proc=0x40b3fdd8)
    @0,674,194us: [+0 T:0x40b40490] ti.sdo.ce.osal.Sem - Entered Sem_pend> sem[0x13ab1c0] timeout[0xffffffff]
    @0,674,255us: [+0 T:0x40b40490] ti.sdo.ce.osal.Sem - Leaving Sem_pend> sem[0x13ab1c0] status[0]
    @0,674,285us: [+0 T:0x40b40490] OP - getCmd_d> Exit (result=1)
    @0,674,316us: [+0 T:0x40b40490] OP - Processor_create_d> Enter(proc=0x13ab530)
    @0,674,346us: [+0 T:0x40b40490] ti.sdo.ce.ipc.Power - Power_on> Enter(handle=0x13ab54c)
    @0,674,377us: [+2 T:0x40b40490] ti.sdo.ce.ipc.Power - Power_on> Opening Local Power Manager for the DSP on /dev/lpm0...
    @1,032,165us: [+2 T:0x40b40490] ti.sdo.ce.ipc.Power - Power_on> Turning on DSP power...
    @1,032,348us: [+2 T:0x40b40490] ti.sdo.ce.ipc.Power - Power_on> return (0)
    @1,032,379us: [+2 T:0x40b40490] OP - Processor_create_d> Initializing DSP PROC...
    @1,032,440us: [+2 T:0x40b40490] OP - Processor_create_d> Using DspLink config data for entry #0 [server 'c6accel_omap3530.x64P']
    @1,032,470us: [+2 T:0x40b40490] OP - Processor_create_d> Number of CMEM blocks: 1
    @1,032,531us: [+2 T:0x40b40490] OP - Processor_create_d> Adding memTable entry for DDR2, physAddr = 0x86300000, dspAddr = 0x86300000, size = 0x400000
    @1,032,592us: [+2 T:0x40b40490] OP - Processor_create_d> Adding DSP segment #0 to Link configuration: name='DDR2', startAddress=0x86300000, sizeInBytes=0x400000, shared=1, syncd=0
    @1,032,623us: [+2 T:0x40b40490] OP - Processor_create_d> Adding memTable entry for DSPLINKMEM, physAddr = 0x89f01000, dspAddr = 0x89f01000, size = 0xff000
    @1,032,684us: [+2 T:0x40b40490] OP - Processor_create_d> Adding DSP segment #1 to Link configuration: name='DSPLINKMEM', startAddress=0x89f01000, sizeInBytes=0xff000, shared=1, syncd=0
    @1,032,714us: [+2 T:0x40b40490] OP - Processor_create_d> Adding memTable entry for RESET_VECTOR, physAddr = 0x89f00000, dspAddr = 0x89f00000, size = 0x1000
    @1,032,775us: [+2 T:0x40b40490] OP - Processor_create_d> Adding DSP segment #2 to Link configuration: name='RESET_VECTOR', startAddress=0x89f00000, sizeInBytes=0x1000, shared=1, syncd=0
    @1,032,806us: [+2 T:0x40b40490] OP - Processor_create_d> Adding memTable entry for L4PER, physAddr = 0x49000000, dspAddr = 0x49000000, size = 0x100000
    @1,032,867us: [+2 T:0x40b40490] OP - Processor_create_d> Adding DSP segment #3 to Link configuration: name='L4PER', startAddress=0x49000000, sizeInBytes=0x100000, shared=0, syncd=0
    @1,032,897us: [+2 T:0x40b40490] OP - Processor_create_d> Adding memTable entry for IRAM, physAddr = 0x5c7f8000, dspAddr = 0x107f8000, size = 0x8000
    @1,032,928us: [+2 T:0x40b40490] OP - Processor_create_d> Adding DSP segment #4 to Link configuration: name='IRAM', startAddress=0x5c7f8000, sizeInBytes=0x8000, shared=1, syncd=0
    @1,032,989us: [+2 T:0x40b40490] OP - Processor_create_d> Adding memTable entry for L1DSRAM, physAddr = 0x5cf04000, dspAddr = 0x10f04000, size = 0x10000
    @1,033,020us: [+2 T:0x40b40490] OP - Processor_create_d> Adding DSP segment #5 to Link configuration: name='L1DSRAM', startAddress=0x5cf04000, sizeInBytes=0x10000, shared=1, syncd=0
    @1,033,081us: [+2 T:0x40b40490] OP - Processor_create_d> Adding memTable entry for DDRALGHEAP, physAddr = 0x86700000, dspAddr = 0x86700000, size = 0x3800000
    @1,033,111us: [+2 T:0x40b40490] OP - Processor_create_d> Adding DSP segment #6 to Link configuration: name='DDRALGHEAP', startAddress=0x86700000, sizeInBytes=0x3800000, shared=0, syncd=0
    @1,033,172us: [+2 T:0x40b40490] OP - Processor_create_d> Adding memTable entry for L4CORE, physAddr = 0x48000000, dspAddr = 0x48000000, size = 0x1000000
    @1,033,203us: [+2 T:0x40b40490] OP - Processor_create_d> Adding DSP segment #7 to Link configuration: name='L4CORE', startAddress=0x48000000, sizeInBytes=0x1000000, shared=0, syncd=0
    @1,033,233us: [+2 T:0x40b40490] OP - Processor_create_d> Adding memTable entry for CMEM, physAddr = 0x0, dspAddr = 0x0, size = 0x0
    @1,033,325us: [+2 T:0x40b40490] OP - Processor_create_d> DODSPCTRL was=0; now=0
    @1,033,386us: [+3 T:0x40b40490] OP - LINKCFG_Object generated for PROC_setup(0x70604) ...
    @1,033,508us: [+3 T:0x40b40490] OP - linkCfg->gppObject->
    @1,033,538us: [+3 T:0x40b40490] OP -   name = "ARM9"
    @1,033,569us: [+3 T:0x40b40490] OP -   maxMsgqs = 0x82
    @1,033,599us: [+3 T:0x40b40490] OP -   maxChnlQueue = 0x10
    @1,033,630us: [+3 T:0x40b40490] OP -   poolTableId = 0xffffffff
    @1,033,660us: [+3 T:0x40b40490] OP -   numPools = 0x0
    @1,390,899us: [+3 T:0x40b40490] OP -
    @1,390,930us: [+3 T:0x40b40490] OP - linkCfg->dspConfigs[0]->dspObject->
    @1,390,960us: [+3 T:0x40b40490] OP -   name = "OMAP3530"
    @1,390,991us: [+3 T:0x40b40490] OP -   dspArch = 0x2
    @1,391,021us: [+3 T:0x40b40490] OP -   loaderName = "COFF"
    @1,391,052us: [+3 T:0x40b40490] OP -   autoStart = FALSE
    @1,391,113us: [+3 T:0x40b40490] OP -   execName = "DEFAULT.OUT"
    @1,391,143us: [+3 T:0x40b40490] OP -   doDspCtrl = DSP_BootMode_Boot_NoPwr
    @1,391,174us: [+3 T:0x40b40490] OP -   resumeAddr = 0x89f00020
    @1,391,204us: [+3 T:0x40b40490] OP -   resetVector = 0x89f00000
    @1,391,235us: [+3 T:0x40b40490] OP -   resetCodeSize = 0x1000
    @1,391,265us: [+3 T:0x40b40490] OP -   maduSize = 0x1
    @1,391,296us: [+3 T:0x40b40490] OP -   cpuFreq = 0x6ddd0
    @1,391,326us: [+3 T:0x40b40490] OP -   endian = 0x3
    @1,391,357us: [+3 T:0x40b40490] OP -   wordSwap = 0x0
    @1,391,387us: [+3 T:0x40b40490] OP -   memTableId = 0x0
    @1,391,418us: [+3 T:0x40b40490] OP -   memEntries = 0x9
    @1,391,448us: [+3 T:0x40b40490] OP -   linkDrvId = 0x0
    @1,391,479us: [+3 T:0x40b40490] OP -   arg1 = 0xffffffff
    @1,391,510us: [+3 T:0x40b40490] OP -   arg2 = 0xffffffff
    @1,391,540us: [+3 T:0x40b40490] OP -   arg3 = 0x0
    @1,391,571us: [+3 T:0x40b40490] OP -   arg4 = 0x0
    @1,391,601us: [+3 T:0x40b40490] OP -   arg5 = 0xffffffff
    @1,391,632us: [+3 T:0x40b40490] OP -
    @1,391,632us: [+3 T:0x40b40490] OP - linkCfg->dspConfigs[0]->linkDrvObjects->
    @1,391,693us: [+3 T:0x40b40490] OP -   name = "SHMDRV"
    @1,391,723us: [+3 T:0x40b40490] OP -   hshkPollCount = 0x989680
    @1,391,754us: [+3 T:0x40b40490] OP -   memEntry = 0x1
    @1,391,784us: [+3 T:0x40b40490] OP -   ipsTableId = 0x0
    @1,391,815us: [+3 T:0x40b40490] OP -   numIpsEntries = 0x1
    @1,391,845us: [+3 T:0x40b40490] OP -   poolTableId = 0x0
    @1,391,876us: [+3 T:0x40b40490] OP -   numPools = 0x1
    @1,391,906us: [+3 T:0x40b40490] OP -   dataTableId = 0x0
    @1,391,937us: [+3 T:0x40b40490] OP -   numDataDrivers = 0x1
    @1,391,967us: [+3 T:0x40b40490] OP -   mqtId = 0x0
    @1,391,998us: [+3 T:0x40b40490] OP -   ringIoTableId = 0x0
    @1,392,028us: [+3 T:0x40b40490] OP -   mplistTableId = 0x0
    @1,392,059us: [+3 T:0x40b40490] OP -   mpcsTableId = 0x0
    @1,392,089us: [+3 T:0x40b40490] OP -
    @1,392,120us: [+3 T:0x40b40490] OP - linkCfg->dspConfigs[0]->memTables[0][i].
    @1,392,150us: [+3 T:0x40b40490] OP - entry #0:
    @1,392,211us: [+3 T:0x40b40490] OP -   entry = 0x0
    @1,392,242us: [+3 T:0x40b40490] OP -   name = "DDR2"
    @1,392,272us: [+3 T:0x40b40490] OP -   physAddr = 0x86300000
    @1,392,303us: [+3 T:0x40b40490] OP -   dspVirtAddr = 0x86300000
    @1,392,333us: [+3 T:0x40b40490] OP -   gppVirtAddr = 0xffffffff
    @1,392,364us: [+3 T:0x40b40490] OP -   size = 0x400000
    @1,392,395us: [+3 T:0x40b40490] OP -   shared = TRUE
    @1,392,425us: [+3 T:0x40b40490] OP -   syncd = FALSE
    @1,392,456us: [+3 T:0x40b40490] OP - entry #1:
    @1,392,486us: [+3 T:0x40b40490] OP -   entry = 0x1
    @1,392,517us: [+3 T:0x40b40490] OP -   name = "DSPLINKMEM"
    @1,392,547us: [+3 T:0x40b40490] OP -   physAddr = 0x89f01000
    @1,392,578us: [+3 T:0x40b40490] OP -   dspVirtAddr = 0x89f01000
    @1,392,608us: [+3 T:0x40b40490] OP -   gppVirtAddr = 0xffffffff
    @1,392,639us: [+3 T:0x40b40490] OP -   size = 0xff000
    @1,392,669us: [+3 T:0x40b40490] OP -   shared = TRUE
    @1,392,700us: [+3 T:0x40b40490] OP -   syncd = FALSE
    @1,392,730us: [+3 T:0x40b40490] OP - entry #2:
    @1,392,761us: [+3 T:0x40b40490] OP -   entry = 0x2
    @1,392,791us: [+3 T:0x40b40490] OP -   name = "RESET_VECTOR"
    @1,392,822us: [+3 T:0x40b40490] OP -   physAddr = 0x89f00000
    @1,392,852us: [+3 T:0x40b40490] OP -   dspVirtAddr = 0x89f00000
    @1,392,883us: [+3 T:0x40b40490] OP -   gppVirtAddr = 0xffffffff
    @1,392,913us: [+3 T:0x40b40490] OP -   size = 0x1000
    @1,392,944us: [+3 T:0x40b40490] OP -   shared = TRUE
    @1,392,974us: [+3 T:0x40b40490] OP -   syncd = FALSE
    @1,749,481us: [+3 T:0x40b40490] OP - entry #3:
    @1,749,511us: [+3 T:0x40b40490] OP -   entry = 0x3
    @1,749,542us: [+3 T:0x40b40490] OP -   name = "L4PER"
    @1,749,572us: [+3 T:0x40b40490] OP -   physAddr = 0x49000000
    @1,749,603us: [+3 T:0x40b40490] OP -   dspVirtAddr = 0x49000000
    @1,749,633us: [+3 T:0x40b40490] OP -   gppVirtAddr = 0xffffffff
    @1,749,664us: [+3 T:0x40b40490] OP -   size = 0x100000
    @1,749,694us: [+3 T:0x40b40490] OP -   shared = FALSE
    @1,749,725us: [+3 T:0x40b40490] OP -   syncd = FALSE
    @1,749,755us: [+3 T:0x40b40490] OP - entry #4:
    @1,749,786us: [+3 T:0x40b40490] OP -   entry = 0x4
    @1,749,816us: [+3 T:0x40b40490] OP -   name = "IRAM"
    @1,749,847us: [+3 T:0x40b40490] OP -   physAddr = 0x5c7f8000
    @1,749,877us: [+3 T:0x40b40490] OP -   dspVirtAddr = 0x107f8000
    @1,749,908us: [+3 T:0x40b40490] OP -   gppVirtAddr = 0xffffffff
    @1,749,938us: [+3 T:0x40b40490] OP -   size = 0x8000
    @1,749,969us: [+3 T:0x40b40490] OP -   shared = TRUE
    @1,750,000us: [+3 T:0x40b40490] OP -   syncd = FALSE
    @1,750,030us: [+3 T:0x40b40490] OP - entry #5:
    @1,750,061us: [+3 T:0x40b40490] OP -   entry = 0x5
    @1,750,091us: [+3 T:0x40b40490] OP -   name = "L1DSRAM"
    @1,750,122us: [+3 T:0x40b40490] OP -   physAddr = 0x5cf04000
    @1,750,152us: [+3 T:0x40b40490] OP -   dspVirtAddr = 0x10f04000
    @1,750,183us: [+3 T:0x40b40490] OP -   gppVirtAddr = 0xffffffff
    @1,750,213us: [+3 T:0x40b40490] OP -   size = 0x10000
    @1,750,244us: [+3 T:0x40b40490] OP -   shared = TRUE
    @1,750,274us: [+3 T:0x40b40490] OP -   syncd = FALSE
    @1,750,305us: [+3 T:0x40b40490] OP - entry #6:
    @1,750,335us: [+3 T:0x40b40490] OP -   entry = 0x6
    @1,750,366us: [+3 T:0x40b40490] OP -   name = "DDRALGHEAP"
    @1,750,396us: [+3 T:0x40b40490] OP -   physAddr = 0x86700000
    @1,750,427us: [+3 T:0x40b40490] OP -   dspVirtAddr = 0x86700000
    @1,750,457us: [+3 T:0x40b40490] OP -   gppVirtAddr = 0xffffffff
    @1,750,488us: [+3 T:0x40b40490] OP -   size = 0x3800000
    @1,750,518us: [+3 T:0x40b40490] OP -   shared = FALSE
    @1,750,549us: [+3 T:0x40b40490] OP -   syncd = FALSE
    @1,750,579us: [+3 T:0x40b40490] OP - entry #7:
    @1,750,610us: [+3 T:0x40b40490] OP -   entry = 0x7
    @1,750,640us: [+3 T:0x40b40490] OP -   name = "L4CORE"
    @1,750,671us: [+3 T:0x40b40490] OP -   physAddr = 0x48000000
    @1,750,701us: [+3 T:0x40b40490] OP -   dspVirtAddr = 0x48000000
    @1,750,732us: [+3 T:0x40b40490] OP -   gppVirtAddr = 0xffffffff
    @1,750,762us: [+3 T:0x40b40490] OP -   size = 0x1000000
    @1,750,793us: [+3 T:0x40b40490] OP -   shared = FALSE
    @1,750,854us: [+3 T:0x40b40490] OP -   syncd = FALSE
    @1,750,885us: [+3 T:0x40b40490] OP - entry #8:
    @1,750,915us: [+3 T:0x40b40490] OP -   entry = 0x0
    @1,750,946us: [+3 T:0x40b40490] OP -   name = "CMEM_BLOCK0"
    @1,750,976us: [+3 T:0x40b40490] OP -   physAddr = 0x85000000
    @1,751,007us: [+3 T:0x40b40490] OP -   dspVirtAddr = 0x85000000
    @1,751,037us: [+3 T:0x40b40490] OP -   gppVirtAddr = 0x0
    @1,751,068us: [+3 T:0x40b40490] OP -   size = 0x1300000
    @1,751,098us: [+3 T:0x40b40490] OP -   shared = FALSE
    @1,751,129us: [+3 T:0x40b40490] OP -   syncd = FALSE
    @1,751,159us: [+3 T:0x40b40490] OP -
    @1,751,190us: [+3 T:0x40b40490] OP - linkCfg->dspConfigs[0]->ipsTables[0][i].
    @1,751,220us: [+3 T:0x40b40490] OP - entry #0:
    @1,751,251us: [+3 T:0x40b40490] OP -   name = "IPS"
    @1,751,281us: [+3 T:0x40b40490] OP -   numIpsEvents = 0x20
    @1,751,312us: [+3 T:0x40b40490] OP -   memEntry = 0x1
    @1,751,342us: [+3 T:0x40b40490] OP -   gppIntId = 0x1a
    @1,751,373us: [+3 T:0x40b40490] OP -   dspIntId = 0x37
    @1,751,403us: [+3 T:0x40b40490] OP -   dspIntVectorId = 0x5
    @1,751,434us: [+3 T:0x40b40490] OP -   arg1 = 0x2faf080
    @1,751,464us: [+3 T:0x40b40490] OP -   arg2 = 0x0
    @1,751,495us: [+3 T:0x40b40490] OP -
    @1,751,525us: [+3 T:0x40b40490] OP - linkCfg->dspConfigs[0]->poolTables[0][i].
    @1,751,556us: [+3 T:0x40b40490] OP -
    @2,108,306us: [+3 T:0x40b40490] OP - linkCfg->dspConfigs[0]->dataTables[0][i].
    @2,108,367us: [+3 T:0x40b40490] OP - entry #0:
    @2,108,398us: [+3 T:0x40b40490] OP -   name = "ZCPYDATA"
    @2,108,428us: [+3 T:0x40b40490] OP -   baseChnlId = 0x0
    @2,108,459us: [+3 T:0x40b40490] OP -   numChannels = 0x10
    @2,108,489us: [+3 T:0x40b40490] OP -   maxBufSize = 0x4000
    @2,108,520us: [+3 T:0x40b40490] OP -   memEntry = 0x1
    @2,108,551us: [+3 T:0x40b40490] OP -   poolId = 0x0
    @2,108,581us: [+3 T:0x40b40490] OP -   queuePerChnl = 0x1
    @2,108,612us: [+3 T:0x40b40490] OP -   ipsId = 0x0
    @2,108,642us: [+3 T:0x40b40490] OP -   ipsEventNo = 0x1
    @2,108,673us: [+3 T:0x40b40490] OP -   arg1 = 0x0
    @2,108,703us: [+3 T:0x40b40490] OP -   arg2 = 0x0
    @2,108,734us: [+3 T:0x40b40490] OP -
    @2,108,764us: [+3 T:0x40b40490] OP - linkCfg->dspConfigs[0]->mqtObjects->
    @2,108,795us: [+3 T:0x40b40490] OP -   name = "ZCPYMQT"
    @2,108,825us: [+3 T:0x40b40490] OP -   memEntry = 0x1
    @2,108,856us: [+3 T:0x40b40490] OP -   maxMsgSize = 0xffffffff
    @2,108,886us: [+3 T:0x40b40490] OP -   ipsId = 0x0
    @2,108,917us: [+3 T:0x40b40490] OP -   ipsEventNo = 0x0
    @2,108,947us: [+3 T:0x40b40490] OP -   arg1 = 0x0
    @2,108,978us: [+3 T:0x40b40490] OP -   arg2 = 0x0
    @2,109,008us: [+3 T:0x40b40490] OP -
    @2,109,039us: [+3 T:0x40b40490] OP - linkCfg->dspConfigs[0]->ringIoObjects->
    @2,109,069us: [+3 T:0x40b40490] OP -   name = "RINGIOTABLE"
    @2,109,100us: [+3 T:0x40b40490] OP -   memEntry = 0x1
    @2,109,130us: [+3 T:0x40b40490] OP -   maxEntries = 0x40
    @2,109,161us: [+3 T:0x40b40490] OP -   ipsId = 0x0
    @2,109,191us: [+3 T:0x40b40490] OP -   ipsEventNo = 0x2
    @2,109,222us: [+3 T:0x40b40490] OP -
    @2,109,252us: [+3 T:0x40b40490] OP - linkCfg->dspConfigs[0]->mplistObjects->
    @2,109,283us: [+3 T:0x40b40490] OP -   name = "MPLISTTABLE"
    @2,109,313us: [+3 T:0x40b40490] OP -   memEntry = 0x1
    @2,109,344us: [+3 T:0x40b40490] OP -   maxEntries = 0x40
    @2,109,375us: [+3 T:0x40b40490] OP -   ipsId = 0xffffffff
    @2,109,405us: [+3 T:0x40b40490] OP -   ipsEventNo = 0xffffffff
    @2,109,436us: [+3 T:0x40b40490] OP -
    @2,109,466us: [+3 T:0x40b40490] OP - linkCfg->dspConfigs[0]->mpcsObjects->
    @2,109,497us: [+3 T:0x40b40490] OP -   name = "MPCS"
    @2,109,527us: [+3 T:0x40b40490] OP -   memEntry = 0x1
    @2,109,588us: [+3 T:0x40b40490] OP -   maxEntries = 0x100
    @2,109,619us: [+3 T:0x40b40490] OP -   ipsId = 0xffffffff
    @2,109,649us: [+3 T:0x40b40490] OP -   ipsEventNo = 0xffffffff
    @2,110,839us: [+2 T:0x40b40490] OP - Processor_create_d> Attaching to DSP PROC...
    @2,114,776us: [+2 T:0x40b40490] OP - Processor_create_d> Opening MSGQ pool...
    @2,115,081us: [+2 T:0x40b40490] OP - Processor_create_d> Loading c6accel_omap3530.x64P on DSP (1 args)...
    @2,231,292us: [+2 T:0x40b40490] OP - Processor_create_d> Starting DSP PROC...
    @2,242,706us: [+2 T:0x40b40490] OP - Processor_create_d> Opening remote transport...
    @2,243,408us: [+0 T:0x40b40490] ti.sdo.ce.ipc.Power - Power_connect> Enter (handle=0x13ab558)
    @2,243,469us: [+2 T:0x40b40490] ti.sdo.ce.ipc.Power - Power_connect> Calling LPM_connect to connect to the DSP power handler...
    @2,243,560us: [+0 T:0x40b40490] ti.sdo.ce.ipc.Power - Power_connect> return (0)
    @2,243,621us: [+2 T:0x40b40490] OP - Processor_create_d> return (1)
    @2,243,652us: [+0 T:0x40b40490] ti.sdo.ce.osal.Sem - Entered Sem_post> sem[0x13ab1d8]
    @2,243,743us: [+0 T:0x4004f300] ti.sdo.ce.osal.Sem - Leaving Sem_pend> sem[0x13ab1d8] status[0]
    @2,243,774us: [+0 T:0x4004f300] OP - doCmd> Exit (result=1)
    @2,243,804us: [+0 T:0x4004f300] OP - Processor_create> return (0x13ab530)
    @2,243,835us: [+0 T:0x4004f300] CE - rserverOpen('c6accel_omap3530.x64P'): 0x712dc done.
    @2,244,323us: [+0 T:0x40b40490] ti.sdo.ce.osal.Sem - Leaving Sem_post> sem[0x13ab1d8]
    @2,244,476us: [+0 T:0x40b40490] OP - getCmd_d> Enter (proc=0x40b3fdd8)
    @2,244,506us: [+0 T:0x40b40490] ti.sdo.ce.osal.Sem - Entered Sem_pend> sem[0x13ab1c0] timeout[0xffffffff]
    @2,244,659us: [+0 T:0x4004f300] CE - checkServer(0x13ab4f8)
    @2,244,903us: [+0 T:0x4004f300] CE - rmsInit> RMS initialized(0x13ab4f8); CE_DEBUG on, setting DSP trace mask to *+01234567,CR=67,ti.sdo.fc.dman3-2,ti.sdo.fc.dskt2-2,GT_prefix=1235,GT_time=3
    @2,244,964us: [+0 T:0x4004f300] CE - Engine_setTrace> Enter(engine=0x13ab4f8, mask='*+01234567,CR=67,ti.sdo.fc.dman3-2,ti.sdo.fc.dskt2-2,GT_prefix=1235,GT_time=3')
    @2,245,086us: [+1 T:0x4004f300] CE - Engine_setTrace> Requesting DSP set trace ...
    @2,246,795us: [+0 T:0x4004f300] CE - Engine_setTrace> return(0)
    @2,246,856us: [+4 T:0x4004f300] CE - Engine_open> engine->server = 0x712dc
    [DSP] @0x00000231:[T:0x00000000] codec_unitserver - main> Welcome to DSP server's main().
    [DSP] @0,005,243tk: [+0 T:0x863aebac] OG - Global_setSpecialTrace> enter(mask='*+01234567,CR=67,ti.sdo.fc.dman3-2,ti.sdo.fc.dskt2-2,GT_prefix=1235,GT_time=3')
    [DSP] @0,005,332tk: [+4 T:0x863aebac] OG - Global_setSpecialTrace> This program was built with the following packages:
    [DSP] @0,005,385tk: [+4 T:0x863aebac] OG -     package ti.targets.rts6000 (/home/steve/gumstix-modules/xdctools_3_16_03_36/packages/ti/targets/rts6000/) [1, 0, 0, 0]
    [DSP] @0,005,454tk: [+4 T:0x863aebac] OG -     package ti.c6accel (/home/steve/gumstix-modules/c6accel_1_01_00_07/soc/packages/ti/c6accel/) [1, 0, 0]
    [DSP] @0,005,518tk: [+4 T:0x863aebac] OG -     package ti.sdo.codecs.jpegdec (/home/steve/gumstix-modules/codecs-omap3530_4_02_00_00/packages/ti/sdo/codecs/jpegdec/) [1, 0, 0]
    [DSP] @0,005,591tk: [+4 T:0x863aebac] OG -     package ti.sdo.fc.global (/home/steve/gumstix-modules/framework-components_2_26_00_01/packages/ti/sdo/fc/global/) [1, 0, 0]
    [DSP] @0,005,662tk: [+4 T:0x863aebac] OG -     package ti.sdo.utils.trace (/home/steve/gumstix-modules/framework-components_2_26_00_01/packages/ti/sdo/utils/trace/) [1, 0, 0]
    [DSP] @0,005,734tk: [+4 T:0x863aebac] OG -     package ti.xdais (/home/steve/gumstix-modules/xdais_6_25_02_11/packages/ti/xdais/) [1, 2.0, 1]
    [DSP] @0,005,794tk: [+4 T:0x863aebac] OG -     package ti.rtdx (/home/steve/gumstix-modules/dspbios_5_41_03_17/packages/ti/rtdx/) [2, 0, 0, 5]
    [DSP] @0,005,855tk: [+4 T:0x863aebac] OG -     package ti.psl (/home/steve/gumstix-modules/dspbios_5_41_03_17/packages/ti/psl/) [5, 0, 0, 0]
    [DSP] @0,005,915tk: [+4 T:0x863aebac] OG -     package ti.pmi (/home/steve/gumstix-modules/dspbios_5_41_03_17/packages/ti/pmi/) [1, 0, 0, 0]
    [DSP] @0,005,975tk: [+4 T:0x863aebac] OG -     package ti.pscl (/home/steve/gumstix-modules/dspbios_5_41_03_17/packages/ti/pscl/) [1, 0, 0, 0]
    [DSP] @0,006,036tk: [+4 T:0x863aebac] OG -     package ti.bios (/home/steve/gumstix-modules/dspbios_5_41_03_17/packages/ti/bios/) [5, 2, 5, 28]
    [DSP] @0,006,097tk: [+4 T:0x863aebac] OG -     package ti.sdo.fc.dskt2 (/home/steve/gumstix-modules/framework-components_2_26_00_01/packages/ti/sdo/fc/dskt2/) [1, 0, 4]
    [DSP] @0,006,166tk: [+4 T:0x863aebac] OG -     package ti.sdo.fc.dman3 (/home/steve/gumstix-modules/framework-components_2_26_00_01/packages/ti/sdo/fc/dman3/) [1, 0, 4]
    [DSP] @0,006,237tk: [+4 T:0x863aebac] OG -     package ti.sdo.ce.global (/home/steve/gumstix-modules/codec-engine_2_26_02_11/packages/ti/sdo/ce/global/) [1, 0, 0]
    [DSP] @0,006,305tk: [+4 T:0x863aebac] OG -     package ti.xdais.dm (/home/steve/gumstix-modules/xdais_6_25_02_11/packages/ti/xdais/dm/) [1, 0, 5]
    [DSP] @0,006,367tk: [+4 T:0x863aebac] OG -     package ti.sdo.ce.node (/home/steve/gumstix-modules/codec-engine_2_26_02_11/packages/ti/sdo/ce/node/) [1, 0, 0]
    [DSP] @0,006,433tk: [+4 T:0x863aebac] OG -     package ti.sdo.ce.ipc.dsplink.dsp (/home/steve/gumstix-modules/codec-engine_2_26_02_11/packages/ti/sdo/ce/ipc/dsplink/dsp/) [2, 0, 1]
    [DSP] @0,006,508tk: [+4 T:0x863aebac] OG -     package ti.sdo.ce.utils.xdm (/home/steve/gumstix-modules/codec-engine_2_26_02_11/packages/ti/sdo/ce/utils/xdm/) [1, 0, 2]
    [DSP] @0,006,578tk: [+4 T:0x863aebac] OG -     package ti.sdo.fc.memutils (/home/steve/gumstix-modules/framework-components_2_26_00_01/packages/ti/sdo/fc/memutils/) [1, 0, 0]
    [DSP] @0,006,662tk: [+4 T:0x863aebac] OG -     package ti.sdo.fc.acpy3 (/home/steve/gumstix-modules/framework-components_2_26_00_01/packages/ti/sdo/fc/acpy3/) [1, 0, 4]
    [DSP] @0,006,733tk: [+4 T:0x863aebac] OG -     package dsplink.dsp (/home/steve/gumstix-modules/dsplink_linux_1_65_00_03/dsplink/dsp/) [1, 4, 0]
    [DSP] @0,006,794tk: [+4 T:0x863aebac] OG -     package ti.bios.utils (/home/steve/gumstix-modules/biosutils_1_02_02/packages/ti/bios/utils/) [2, 0, 2, 02]
    [DSP] @0,006,859tk: [+4 T:0x863aebac] OG -     package ti.catalog.c6000 (/home/steve/gumstix-modules/xdctools_3_16_03_36/packages/ti/catalog/c6000/) [1, 0, 0, 0]
    [DSP] @0,006,927tk: [+4 T:0x863aebac] OG -     package ti.catalog (/home/steve/gumstix-modules/xdctools_3_16_03_36/packages/ti/catalog/) [1, 0, 0]
    [DSP] @0,006,989tk: [+4 T:0x863aebac] OG -     package ti.catalog.arm (/home/steve/gumstix-modules/xdctools_3_16_03_36/packages/ti/catalog/arm/) [1, 0, 1, 0]
    [DSP] @0,007,055tk: [+4 T:0x863aebac] OG -     package ti.platforms.evm3530 (/home/steve/gumstix-modules/xdctools_3_16_03_36/packages/ti/platforms/evm3530/) [1, 0, 0]
    [DSP] @0,007,124tk: [+4 T:0x863aebac] OG -     package ti.sdo.ce.osal (/home/steve/gumstix-modules/codec-engine_2_26_02_11/packages/ti/sdo/ce/osal/) [2, 0, 2]
    [DSP] @0,007,191tk: [+4 T:0x863aebac] OG -     package ti.sdo.ce.osal.bios (/home/steve/gumstix-modules/codec-engine_2_26_02_11/packages/ti/sdo/ce/osal/bios/) [2, 0, 1]
    [DSP] @0,007,261tk: [+4 T:0x863aebac] OG -     package ti.sdo.ce.ipc (/home/steve/gumstix-modules/codec-engine_2_26_02_11/packages/ti/sdo/ce/ipc/) [2, 0, 1]
    [DSP] @0,007,327tk: [+4 T:0x863aebac] OG -     package ti.sdo.ce.ipc.bios (/home/steve/gumstix-modules/codec-engine_2_26_02_11/packages/ti/sdo/ce/ipc/bios/) [2, 0, 1]
    [DSP] @0,007,396tk: [+4 T:0x863aebac] OG -     package ti.sdo.ce.alg (/home/steve/gumstix-modules/codec-engine_2_26_02_11/packages/ti/sdo/ce/alg/) [1, 0, 1]
    [DSP] @0,007,462tk: [+4 T:0x863aebac] OG -     package ti.sdo.ce (/home/steve/gumstix-modules/codec-engine_2_26_02_11/packages/ti/sdo/ce/) [1, 0, 6]
    [DSP] @0,007,525tk: [+4 T:0x863aebac] OG -     package ti.sdo.ce.bioslog (/home/steve/gumstix-modules/codec-engine_2_26_02_11/packages/ti/sdo/ce/bioslog/) [1, 0, 1]
    [DSP] @0,007,594tk: [+4 T:0x863aebac] OG -     package ti.sdo.ce.universal (/home/steve/gumstix-modules/codec-engine_2_26_02_11/packages/ti/sdo/ce/universal/) [1, 0, 0]
    [DSP] @0,007,664tk: [+4 T:0x863aebac] OG -     package ti.c6accel.ce (/home/steve/gumstix-modules/c6accel_1_01_00_07/soc/packages/ti/c6accel/ce/) [1, 0, 0]
    [DSP] @0,007,730tk: [+4 T:0x863aebac] OG -     package ti.sdo.ce.image1 (/home/steve/gumstix-modules/codec-engine_2_26_02_11/packages/ti/sdo/ce/image1/) [1, 0, 1]
    [DSP] @0,007,798tk: [+4 T:0x863aebac] OG -     package ti.sdo.codecs.jpegdec.ce (/home/steve/gumstix-modules/codecs-omap3530_4_02_00_00/packages/ti/sdo/codecs/jpegdec/ce/) [1, 0, 0]
    [DSP] @0,007,873tk: [+4 T:0x863aebac] OG -     package ti.c6accel_unitservers.omap3530 (/home/steve/gumstix-modules/c6accel_1_01_00_07/soc/packages/ti/c6accel_unitservers/omap3530/) [1, 0, 0]
    [DSP] @0,007,953tk: [+0 T:0x863aebac] OG - Global_setSpecialTrace> return
    @2,968,719us: [+0 T:0x4004f300] CE - Engine_fwriteTrace> returning count [6553]
    @2,968,780us: [+0 T:0x4004f300] CE - Engine_initFromServer(0x13ab4f8)
    @2,968,841us: [+0 T:0x4004f300] CE - Engine_getNumServerAlgs(0x13ab4f8 0xbe999f70)
    @2,969,177us: [+0 T:0x4004f300] CE - Engine_getNumServerAlgs number of server algs = 2
    @2,969,207us: [+0 T:0x4004f300] CE - Engine_getNumServerAlgs exit 0
    @2,969,238us: [+2 T:0x4004f300] CE - Engine_initFromServer> Number of remote algs statically configured in engine: 2
    @2,969,268us: [+2 T:0x4004f300] CE - Engine_initFromServer> Number of statically configured remote algs = number of server algs: 2
    @2,969,329us: [+0 T:0x4004f300] CE - Engine_initFromServer> Returning 0
    @2,969,360us: [+0 T:0x4004f300] CE - Engine_open> return(20624632)
    @2,969,421us: [+0 T:0x4004f300] ti.sdo.ce.universal.UNIVERSAL - UNIVERSAL_create> Enter (engine=0x13ab4f8, name='c6accel', params=0x70ee4 (size=0x4))
    @2,969,482us: [+0 T:0x4004f300] CV - VISA_create(0x13ab4f8, 'c6accel', 0x70ee4, 0x648, 'ti.sdo.ce.universal.IUNIVERSAL')
    @2,969,512us: [+0 T:0x4004f300] CV - VISA_create2(0x13ab4f8, 'c6accel', 0x70ee4, 0x4, 0x648, 'ti.sdo.ce.universal.IUNIVERSAL')
    @2,969,604us: [+0 T:0x4004f300] CE - Engine_createNode(0x13ab4f8, 'c6accel', 648, 0x70ee4, 0x4, 0xbe999f60)
    @2,969,665us: [+0 T:0x4004f300] CE - Engine> allocNode Enter(engine=0x13ab4f8, impId='c6accel')
    @2,969,696us: [+0 T:0x4004f300] CE - Engine> allocNode(). Calling (Comm_create(gppfromnode_979_1, 0x13aba00, NULL)
    @2,971,374us: [+4 T:0x4004f300] CE - Engine_createNode> created node(stdIn=0x2, stdOut=0x10001, msgq=0x13aba20, algName='c6accel', rmsNode=0x863b3690, algHandle=0x863b3780)
    [DSP] @1,477,671tk: [+0 T:0x863aebac] OM - Memory_alloc> Enter(size=0x18)
    [DSP] @1,477,713tk: [+0 T:0x863aebac] OM - Memory_alloc> return (0x863b3690)
    [DSP] @1,477,755tk: [+0 T:0x863aebac] OM - Memory_all[  123.157897] Unable to handle kernel NULL pointer dereference at virtual address 00000080
    oc> Enter(size=0[  123.168579] pgd = dd9e8000
    xa)
    [DSP] @1,47[  123.171844] [00000080] *pgd=9efb80317,792tk: [+0 T:0, *pte=00000000x863aebac] OM - , *ppte=00000000Memory_alloc> re
    turn (0x863b36a8[  123.184661] Internal error: Oops: 817 [#1] PREEMPT
    [  123.190460] last sysfs file: /sys/module/bluetooth/initstate
    [  123.196380] Modules linked in: cmemk lpm_omap3530 dsplinkk sco bnep hci_uart rfcomm ircomm_tty ircomm irda ipv6 hidp l2cap bluetooth rfkill minix
    [  123.210144] CPU: 0    Not tainted  (2.6.37 #1)
    [  123.214813] PC is at v7_dma_inv_range+0x20/0x48
    [  123.219543] LR is at ioctl+0x938/0xc20 [cmemk]
    [  123.224212] pc : [<c0046b68>]    lr : [<bf14f540>]    psr: 20000013
    [  123.224212] sp : dcd23ed0  ip : 00000018  fp : 0002fe07
    [  123.236236] r10: 00000000  r9 : be999e40  r8 : be999e40
    [  123.241699] r7 : ddb602c0  r6 : 0002fe07  r5 : ddb602c0  r4 : 00000000
    [  123.248535] r3 : 0000003f  r2 : 00000040  r1 : 0000c8a1  r0 : 00000080
    [  123.255371] Flags: nzCv  IRQs on  FIQs on  Mode SVC_32  ISA ARM  Segment user
    [  123.262847] Control: 10c5387d  Table: 9d9e8019  DAC: 00000015
    [  123.268829] Process lk_demo2 (pid: 979, stack limit = 0xdcd222f0)
    [  123.275207] Stack: (0xdcd23ed0 to 0xdcd24000)
    [  123.279785] 3ec0:                                     00000000 60000013 ddb602c0 00000060
    [  123.288360] 3ee0: 00000000 dcd23ef0 c0088f50 c0062134 00000000 00000000 000000a1 0000c800
    [  123.296905] 3f00: dcd23f30 dda2a2b8 ddb602c0 0002fe07 ddb602c0 be999e40 dcd22000 00000000
    [  123.305480] 3f20: 4007c000 c00fb6e0 c028b544 00000000 00000000 00000000 00000000 dce69948
    [  123.314056] 3f40: 00000060 00000002 defdf0e0 00000000 dcd22000 00000000 be999d5c ddb602c0
    [  123.322631] 3f60: 00000003 dcd23f8c 00000003 be999e40 0002fe07 ddb602c0 c003dc04 dcd22000
    [  123.331207] 3f80: 00000000 c00fb780 00000000 00000001 00000060 0000c800 000000a1 00000001
    [  123.339782] 3fa0: 00000036 c003da80 0000c800 000000a1 00000003 0002fe07 be999e40 00070c58
    [  123.348327] 3fc0: 0000c800 000000a1 00000001 00000036 40b410a1 000000a0 40c500a1 4007c000
    [  123.356903] 3fe0: 000000a1 be999e40 0004a9b4 402d545c 20000010 00000003 9f3fe021 9f3fe421
    [  123.365478] [<c0046b68>] (v7_dma_inv_range+0x20/0x48) from [<bf14f540>] (ioctl+0x938/0xc20 [cmemk])
    [  123.375000] [<bf14f540>] (ioctl+0x938/0xc20 [cmemk]) from [<c00fb6e0>] (do_vfs_ioctl+0x550/0x5b8)
    [  123.384307] [<c00fb6e0>] (do_vfs_ioctl+0x550/0x5b8) from [<c00fb780>] (sys_ioctl+0x38/0x5c)
    [  123.393066] [<c00fb780>] (sys_ioctl+0x38/0x5c) from [<c003da80>] (ret_fast_syscall+0x0/0x30)
    [  123.401916] Code: e1a02312 e2423001 e1100003 e1c00003 (1e070f3e)
    )
    [DSP] @1,477,843tk: [+0 T:0x863aebac] OM - Memory_alloc> Ente[  123.412597] ---[ end trace f0defda5ee958aaa ]---
    r(size=0x20)
    [DSP] @1,477,881tk: [+0 T:0x863aebac] OM - Memory_alloc> return (0x863b36b8)
    [DSP] @1,477,923tk: [+0 T:0x863aebac] OM - Memory_alloc> Enter(size=0x24)
    [DSP] @1,477,962tk: [+0 T:0x863aebac] OM - Memory_alloc> return (0x863b36d8)
    [DSP] @1,478,030tk: [+0 T:0x863aebac] ti.sdo.ce.universal.UNIVERSAL - UNIVERSAL_create> Enter (engine=0x0, name='c6accel', params=0x89f048c0 (size=0x4))
    [DSP] @1,478,106tk: [+0 T:0x863aebac] CV - VISA_create(0x0, 'c6accel', 0x89f048c0, 0x648, 'ti.sdo.ce.universal.IUNIVERSAL')
    [DSP] @1,478,174tk: [+0 T:0x863aebac] CV - VISA_create2(0x0, 'c6accel', 0x89f048c0, 0x4, 0x648, 'ti.sdo.ce.universal.IUNIVERSAL')
    [DSP] @1,478,247tk: [+0 T:0x863aebac] CE - Engine_open> Enter('local', 0x863b287c, 0x89f048c0)
    [DSP] @1,478,300tk: [+0 T:0x863aebac] OM - Memory_alloc> Enter(size=0x34)
    [DSP] @1,478,337tk: [+0 T:0x863aebac] OM - Memory_alloc> return (0x863b3748)
    [DSP] @1,478,387tk: [+4 T:0x863aebac] CE - Engine_open> engine->server = 0x0
    [DSP] @1,478,427tk: [+0 T:0x863aebac] CE - Engine_open> return(-2042939576)
    [DSP] @1,478,487tk: [+0 T:0x863aebac] OM - Memory_alloc> Enter(size=0x34)
    [DSP] @1,478,526tk: [+0 T:0x863aebac] OM - Memory_alloc> return (0x863b3780)
    [DSP] @1,478,571tk: [+0 T:0x863aebac] ti.sdo.ce.alg.Algorithm - Algorithm_create> Enter(fxns=0x863adac8, idma3Fxns=0x0, iresFxns=0x0, params=0x89f048c0, attrs=0x863b2998)
    [DSP] @1,478,654tk: [+0 T:0x863aebac] OM - Memory_alloc> Enter(size=0x10)
    [DSP] @1,478,691tk: [+0 T:0x863aebac] OM - Memory_alloc> return (0x863b37b8)
    [DSP] @1,478,813tk: [+0 T:0x863aebac] ti.sdo.ce.alg.Algorithm - Algorithm_create> return (0x863b37b8)
    [DSP] @1,478,864tk: [+5 T:0x863aebac] CV - VISA_create> local codec created (name='c6accel', handle=0x863b37b8)
    [DSP] @1,478,920tk: [+0 T:0x863aebac] ti.sdo.ce.universal.UNIVERSAL - UNIVERSAL_create> return (0x863b3780)
    [DSP] @1,478,977tk: [+4 T:0x863aebac] OT - Thread_create > name: "c6accel#0", pri:  -1, stack size:  8442, stack seg: 0
    @3,332,031us: [+0 T:0x4004f300] CE - Engine_fwriteTrace> returning count [2324]
    @3,332,061us: [+2 T:0x4004f300] CE - Engine_createNode> Returning 0x13ab9f8
    @3,332,122us: [+5 T:0x4004f300] CV - VISA_create> remote codec created (name='c6accel', localQueueID=0x10001, remoteQueueID=0x0002)
    @3,332,214us: [+0 T:0x4004f300] ti.sdo.ce.universal.UNIVERSAL - UNIVERSAL_create> return (0x13ab9b0)
    creates hc6
    ->  Synchronous Calls
    size of char 1size of Int32 4@3,332,397us: [+4 T:0x4004f300] OM - Memory_contigAlloc> CMEM_alloc(240000) = 0x400d7000.
    @3,332,458us: [+4 T:0x4004f300] OM - Memory_contigAlloc> CMEM_getPhys(0x400d7000) = 0x85000000.
    @3,332,824us: [+4 T:0x4004f300] OM - Memory_contigAlloc> CMEM_alloc(240000) = 0x4011a000.
    @3,332,885us: [+4 T:0x4004f300] OM - Memory_contigAlloc> CMEM_getPhys(0x4011a000) = 0x8503b000.
    @3,333,160us: [+4 T:0x4004f300] OM - Memory_contigAlloc> CMEM_alloc(240000) = 0x40b41000.
    @3,333,221us: [+4 T:0x4004f300] OM - Memory_contigAlloc> CMEM_getPhys(0x40b41000) = 0x85076000.
    @3,333,496us: [+4 T:0x4004f300] OM - Memory_contigAlloc> CMEM_alloc(240000) = 0x40c50000.
    @3,333,587us: [+4 T:0x4004f300] OM - Memory_contigAlloc> CMEM_getPhys(0x40c50000) = 0x850b1000.


     +---------------------------------------+
     | TESTING: Lucas Kanade Tracking        |
     +---------------------------------------+

    after extract block

    Block 0: Pool 0: 3 bufs size 1101824 (1100000 requested)

    Pool 0 busy bufs:

    Pool 0 free bufs:
    id 0: phys addr 0x861f3000
    id 1: phys addr 0x860e6000
    id 2: phys addr 0x85fd9000
    @3,346,343us: [+4 T:0x4004f300] OM - Memory_contigAlloc> CMEM_alloc(44) = 0x4007c000.
    @3,346,466us: [+4 T:0x4004f300] OM - Memory_contigAlloc> CMEM_getPhys(0x4007c000) = 0x850ec000.
     overo [  123.184661] Internal error: Oops: 817 [#1] PREEMPT
     overo [  123.190460] last sysfs file: /sys/module/bluetooth/initstate
     overo [  123.268829] Process lk_demo2 (pid: 979, stack limit = 0xdcd222f0)
     overo [  123.275207] Stack: (0xdcd23ed0 to 0xdcd24000)
     overo [  123.279785] 3ec0:                                     00000000 60000013 ddb602c0 00000060
     overo [  123.288360] 3ee0: 00000000 dcd23ef0 c0088f50 c0062134 00000000 00000000 000000a1 0000c800
     overo [  123.296905] 3f00: dcd23f30 dda2a2b8 ddb602c0 0002fe07 ddb602c0 be999e40 dcd22000 00000000
     overo [  123.305480] 3f20: 4007c000 c00fb6e0 c028b544 00000000 00000000 00000000 00000000 dce69948
     overo [  123.314056] 3f40: 00000060 00000002 defdf0e0 00000000 dcd22000 00000000 be999d5c ddb602c0
     overo [  123.322631] 3f60: 00000003 dcd23f8c 00000003 be999e40 0002fe07 ddb602c0 c003dc04 dcd22000
     overo [  123.331207] 3f80: 00000000 c00fb780 00000000 00000001 00000060 0000c800 000000a1 00000001
     overo [  123.339782] 3fa0: 00000036 c003da80 0000c800 000000a1 00000003 0002fe07 be999e40 00070c58
     overo [  123.348327] 3fc0: 0000c800 000000a1 00000001 00000036 40b410a1 000000a0 40c500a1 4007c000
     overo [  123.356903] 3fe0: 000000a1 be999e40 0004a9b4 402d545c 20000010 00000003 9f3fe021 9f3fe421
     overo [  123.401916] Code: e1a02312 e2423001 e1100003 e1c00003 (1e070f3e)
    ^C@6,500,013us: [+0 T:0x40b40490] OP - doCmd> Enter (cmdId=3, proc=0x0)
    @6,500,227us: [+0 T:0x40b40490] ti.sdo.ce.osal.Sem - Entered Sem_post> sem[0x13ab1c0]
    @6,500,257us: [+0 T:0x40b40490] ti.sdo.ce.osal.Sem - Leaving Sem_post> sem[0x13ab1c0]
    @6,500,318us: [+0 T:0x40b40490] ti.sdo.ce.osal.Sem - Entered Sem_pend> sem[0x13ab1d8] timeout[0xffffffff]

  • Here is the modifications needed to be done to C6accel to get C6accel_VLIB_nonMaxSuppress_7x7_S16 to work:

    in C6accel_ti_vlibFunctionCall.c add:

            VLIB_nonMaxSuppress_7x7_S16_Params *C6ACCEL_TI_VLIB_nonMaxSuppress_7x7_S16_paramPtr;

            C6ACCEL_TI_VLIB_nonMaxSuppress_7x7_S16_paramPtr = pFnArray;

            if (((C6ACCEL_TI_VLIB_nonMaxSuppress_7x7_S16_paramPtr->harrisOUT_InArrID1)>INBUF15)||
                ((C6ACCEL_TI_VLIB_nonMaxSuppress_7x7_S16_paramPtr->suppOut_OutArrID1)>INBUF15)!=0){
            return(IUNIVERSAL_EPARAMFAIL);
            }
            else
              VLIB_nonMaxSuppress_7x7_S16((short *)inBufs->descs[C6ACCEL_TI_VLIB_nonMaxSuppress_7x7_S16_paramPtr->harrisOUT_InArrID1].buf,
                                            C6ACCEL_TI_VLIB_nonMaxSuppress_7x7_S16_paramPtr->width,
                                            C6ACCEL_TI_VLIB_nonMaxSuppress_7x7_S16_paramPtr->height,
                                            C6ACCEL_TI_VLIB_nonMaxSuppress_7x7_S16_paramPtr->thresh,
                                            (unsigned char *)outBufs->descs[C6ACCEL_TI_VLIB_nonMaxSuppress_7x7_S16_paramPtr->suppOut_OutArrID1].buf);


                }

    ###

    In iC6Accel_ti.h add:

    typedef struct VLIB_nonMaxSuppress_7x7_S16_Params{
                            unsigned int harrisOUT_InArrID1;
                            int width;
                            int height;
                            short thresh;
                            unsigned int suppOut_OutArrID1;
                        }VLIB_nonMaxSuppress_7x7_S16_Params;

    In c6accelw_vlib.c add:

    Int C6accel_VLIB_nonMaxSuppress_7x7_S16(
        C6accel_Handle hC6accel,
        const short * restrict im,
        int width,
        int height,
        short thresh,
        unsigned char *restrict suppression
    )
    {
        XDM1_BufDesc        inBufDesc;
        XDM1_BufDesc        outBufDesc;
        //XDM1_BufDesc        inOutBufDesc;
        XDAS_Int32        InArg_Buf_size;
        IC6Accel_InArgs        *CInArgs;
        UNIVERSAL_OutArgs    uniOutArgs;
        Int            status;
        //char* buffer;
        /*Define pointer to function parameter structure */
        VLIB_nonMaxSuppress_7x7_S16_Params *fp0;
        XDAS_Int8               *pAlloc;

         ACQUIRE_CODEC_ENGINE;

        /* Initialize .size fields for dummy input and output arguments */
        uniOutArgs.size = sizeof(uniOutArgs);

        /* Set up buffers to pass buffers in and out to alg  */
        inBufDesc.numBufs  = 1;
        outBufDesc.numBufs = 1;
       // inOutBufDesc.numBufs =0;

      //  buffer = (char *)Memory_alloc(160*width*sizeof(char), &wrapperMemParams);

     /* Fill in input/output buffer descriptor parameters */
        CACHE_WB_INV_INPUT_BUFFERS_AND_SETUP_FOR_C6ACCEL(im,0,width*height*sizeof(char)); //changed from short to char!!
        CACHE_INV_OUTPUT_BUFFERS_AND_SETUP_FOR_C6ACCEL(suppression,0,width*height*sizeof(char)); //changed from short to char!
       // CACHE_WB_INV_INPUT_OUTPUT_BUFFERS_AND_SETUP_FOR_C6ACCEL(buffer,0,160*width*sizeof(char));
        

      /* Allocate the InArgs structure as it varies in size
        (Needs to be changed everytime we make a API call)*/
        InArg_Buf_size=  sizeof(Fxn_struct)+
                         sizeof(VLIB_nonMaxSuppress_7x7_S16_Params)+
                         sizeof(CInArgs->size)+
                         sizeof(CInArgs->Num_fxns);

    /* Request contiguous memeory allocation for the extended input structure */
        pAlloc=(XDAS_Int8 *)Memory_alloc(InArg_Buf_size, &wrapperMemParams);
        CInArgs= (IC6Accel_InArgs *)pAlloc;

     /* Initialize the extended InArgs structure */
        CInArgs->Num_fxns=1;
        CInArgs->size= InArg_Buf_size;

     /* Set function Id and parameter pointers for first function call */
        CInArgs->fxn[0].FxnID= VLIB_NONMAXSUPPRESS_7x7_16S_FXN_ID;
        CInArgs->fxn[0].Param_ptr_offset=sizeof(CInArgs->size)+sizeof(CInArgs->Num_fxns)+sizeof(Fxn_struct);

     /* Initialize pointers to function parameters */
        fp0 = (VLIB_nonMaxSuppress_7x7_S16_Params *)((XDAS_Int8*)CInArgs + CInArgs->fxn[0].Param_ptr_offset);


     /* Fill in the fields in the parameter structure */
        fp0->harrisOUT_InArrID1=  INBUF0;
        fp0->width= width;
        fp0->height= height;
        fp0->thresh= thresh;
        fp0->suppOut_OutArrID1= OUTBUF0;

      /* Call the actual algorithm */
       if (hC6accel->callType == ASYNC)
          {

           /* Update async structure */
           if (c6accelAsyncParams.asyncCallCount!=0){
                status = UNIVERSAL_EFAIL;
                printf("Async call failed as %d are still pending\n");
              }
           else{
               /* Context Saving */
               c6accelAsyncParams.asyncCallCount++;
               memcpy(&(c6accelAsyncParams.inBufs),&inBufDesc, sizeof (XDM1_BufDesc));
               memcpy(&(c6accelAsyncParams.outBufs), &outBufDesc,sizeof(XDM1_BufDesc));
               memcpy(&(c6accelAsyncParams.inArgs), CInArgs,sizeof(UNIVERSAL_InArgs));
               memcpy(&(c6accelAsyncParams.outArgs),&uniOutArgs,sizeof(UNIVERSAL_OutArgs));
               c6accelAsyncParams.pBuf = pAlloc;
               c6accelAsyncParams.pBufSize = InArg_Buf_size;
               /* Asynchronous Call to the actual algorithm */
               status = UNIVERSAL_processAsync(hC6accel->hUni, &inBufDesc, &outBufDesc,NULL,(UNIVERSAL_InArgs *)CInArgs, &uniOutArgs);
               }
               
          }
        else{
          /* Synchronous Call to the actual algorithm */
          status = UNIVERSAL_process(hC6accel->hUni, &inBufDesc, &outBufDesc, NULL,(UNIVERSAL_InArgs *)CInArgs, &uniOutArgs);
          /* Free the InArgs structure */
          Memory_free(pAlloc, InArg_Buf_size, &wrapperMemParams);
         }

        RELEASE_CODEC_ENGINE;

        return status;  

    }

    and in c6accelw.h add :

    Int C6accel_VLIB_nonMaxSuppress_7x7_S16(
        C6accel_Handle hC6accel,    
        const short * restrict im,
        int width,  
        int height,
        short thresh,
        unsigned char * restrict out
    );

    I believe that is everything needed for nonMaxSuppress