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.

Please point me to doc, such as for Capture_create()

I've been unable to find documentation by searching the forum or wiki.  Perhaps it's in a pdf I don't know to look for.

Specifically, I'm looking at the encodedecode example source (actually the canny edge detect example) and I find a call to Capture_create().  I can't find any definition of it in the source anywhere, so I'm thinking it must be a library function.  If so, there should be doc for this library function somewhere.  Where is that doc, please?  (And for that matter, their ought to be similar doc for dma_alloc_coherent(), while is failing for me, and I can't find doc on it, either.)

Thanks VERY much,

Helmut

  • Hi Helmut,

    The Capture_create API is documented in DMAI. See the DMAI installation directory and you should find a file for the API reference (e.g. dmai_2_20_00_14_ApiReference.html). DMAI also provides its source code, so you can dig into it if you want to know more about its implementation.

    Afaik, dma_alloc_coherent is a Linux function. I googled for it and found a man page here: http://www.linux-australia.lkams.kernel.org/linux-mandocs/2.6.4-cset-20040312_2111/dma_alloc_coherent.html.

    Best regards,

    Vincent

     

  • Vincent,

    Thanks for the DMAI reference.

    Regarding dma_alloc_coherent on google, I did that too.  But when done I still didn't know how that related to the DaVinci memory map, which is what I needed to know.  Yes, I could have assumed it must be coming out of linux memory because it was a linux function, but you know about ass u me - ing.

    Anyway, I got past my alloc problem in essence by avoiding it altogether.  But I do still need to know where doc is.  Thanks.

    BTW, in the future, if I don't recognize XYZ_function() as coming from the ABC_API, how do I know where to find the doc?  I suspect the answer is that I don't, unless I ask here at the forum and someone who knows tells me! :)

    -Helmut

  • Hi Helmut,

    I am not aware of any extra documentation on dma_alloc_coherent. Maybe you can try looking it up from the kernel code if you are interested in the implementation details.

    If you want to know which component XYZ_function comes from, you can look up the header files included by the file where you see the function being called. Based on the path of the file that declares the function, you should be able to deduce which component it comes from. E.g. ti/sdo/dmai/Capture.h would indicate that the function comes from DMAI. Fwiw, most of the non-Linux functions called in the demos come from either DMAI or CE (Codec Engine).

    Best regards,

    Vincent

  • Vincent,

    Doh!  Thanks for reminding me of what I already know -- but was so flustered I forgot!  (Just in case, my meaning is to deprecate me, not sarcasm complaining about you.  It's late and I'm tired.)  I have been programming 35 years and know exactly how to follow the #includes!  With this new platform and tools, however, there's so much magic knowledge that I forgot to follow the old sound methods to get to the less-than-magic knowledge.  Indeed, canny's capture.c has a BUNCH of #includes for "/ti/sdo/dmai/*.h", including Capture.h.  About the magic knowledge, I've used makefiles plenty, but this whole system has source making object upon source making object upon source making object, where each object is actually source to the next step.  I loose track of what's the beginning and what's the end, and what's on Windows, what's on Ubuntu, and what's on the target EVM.  (RE "magic" - something like "technology sufficiently advanced and misunderstood that it's indistinguishable from magic.")

    A little humor: In my defense, cs2dm6467_1_00_00_03/packages/ti/sdo/server/cs/server.tcf references utils.importFile() and has no stated includes at all.  So either utils.importFile() is a library function or it's being found by "magic".  Having seen so much of this, I was overwhelmed by the magic and didn't even expect there to be a non-magical way to find things.  And canny.cfg references xdc.useModule().  Etc.  Etc.  Perhaps you can see why I see it as so overwhelming!

    But nevertheless, I got my code modification made visible on a video output, so I'm ready to actually begin my work (after three solid weeks).

    -Helmut