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.

Codec Engine in kernel 2.6.29

Hi all:

  I've got codec engine software package 2.24, and it's un-builtable libary for mvl5 based on 2.6.18.

We have to patch kernel to 2.6.29 for general porposes.  My question is "could we use codec engine library in kernel 2.6.29" ?

 

What's your suggestion if we want to use codec engine in kernel 2.6.29 ?   Do we need to pay the effort on the 4 modules "cmem.ko, edma.ko, dm365mmap.ko, and irqk.ko"?

Thanks for your help.

JC

  • Strictly speaking, Codec Engine isn't dependent on the Linux kernel, so updating kernels doesn't directly affect CE.  Some of its dependencies (e.g. Linux Utils components like CMEM) do run in kernel mode and are subject to rebuilding/porting due to reconfiguring (or compatibility breaks!) in the Linux kernel.

    CE's pre-built libraries are bound to the gcc runtime they're built against - and there was a compatibility break between the gcc release used in MV 4 and MV 5.  CE made this jump from MV 4-compatible- to MV 5-compatible  toolchains between CE 2.10.* and 2.20 release streams (http://tiexpressdsp.com/index.php/Codec_Engine_Roadmap).  This is why unfortunately MV 4 users are stuck with CE 2.10.* and MV 5 users must update to CE 2.20+ releases.

    If you've updated to Codec Engine 2.24, you've probably also updated to Linux Utils 2.24.*, which have been validated on 2.6.29-based kernels (and newer).  So ideally they'll work for you unchanged.

    That said, I can't speak for the dm365mmap.ko module as that's provided with the codecs that need it, rather than Linux Utils.

    Chris

  • Hi Chris:

      Thanks for your response. I updated the Linux utilities, and tried dvsdk_demos_2_10_00_17 demo program in kernel 2.6.29. But I got exception error from v4l2_open().

      I doubt that dvsdk_demos_2_10_00_17 demo program uses V4L exported API in older way(maybe 2.6.18), and it's not available in 2.6.29.  

      I would like to validate the code engine in 2.6.29. Do you have any suggestion or test program that's available in kernel 2.6.29?

    Thanks for the help.

    JC

  • I thought you could run the dvsdk demos in file-in/file-out mode(?)... but I'm not sure.

    Depending on what you want to test, there are also file-based examples provided in the Codec Engine product (see examples/ dir and examples/build_instructions.html for details).  Those examples at least exercise the CMEM driver.  I think you'll need 'real' codecs to exercise some of the other drivers.

    Chris

  • Hi Chris:

      Thanks for your reply. In fact, we are seeking how to porting VPSS driver to kernel 2.6.29, and validate code engine with real codecs as you said.

    Did you have suggestion about this?  By the way, did you test dvsdk using updated Linux utilities in kernel above than 2.6.18?

    Thanks for your help,

    JC

  • Just to level set, my team is responsible for the Multimedia Framework Products (CE, FC, Linux Utils, XDAIS).  The drivers (e.g. VPSS) aren't in my scope, so I unfortunately can't comment on those.  DVSDK assembles MFP, the drivers, and demos; the DVSDK is also beyond my scope, so I don't know many of the DVSDK-specific details.

    So what _do_ I know?!?  [:P]  My team has validated Linux Utils (CMEM, etc) - and MFP in general - on Linux kernels > 2.6.18 - you can see from the latest Linux Utils Release Notes and the Codec Engine Roadmap that this happened around the Codec Engine 2.23/Linux Utils 2.23 release earlier this year.  This doesn't imply anything about DVSDK or driver validation on 2.6.29+ - just MFP.

    Obviously, the Linux kernel continues to evolve [with little concern for compatibility!] so we'll have to continue updating to newer releases.  Often our customers are on more recent kernels than we are - and because of our licensing (GPL and BSD), we are able to accept (and welcome!) contributions from those users on the bleeding edge.

    I hope that helps... and justifies why I sound so clueless sometimes.  [;)]

    Chris

  • JC,

     

    You can test the codecs independently of the video drivers using the
    DMAI sample apps.

    For example, the sample app video_decode_io2 will take an
    elementary stream input file, and produce raw video output.


    Regards,

    John Whittington

  • Hi Chris:

       Thanks for your help.

    Actually, I tried Linux Utility latest version, and notice that " cmem.ko, edma.ko, and irqk.ko" still use"DMA" utility, instead "EDMA". 

    I suppose the Utility will be updated with EDMA feature. But it does not.

    What's your suggestion if I need the upgraded Utility which using EDMA, not DMA ?

    Thanks a lot,

    JC

  • Hi 

    I download the lastest kernel from git://git.kernel.org/pub/scm/linux/kernel/git/khilman/linux-davinci.git.

    edma function have been modified hugely.

    Do you have any experience about how to transfer edmak.ko to use the new edma function?

    you can find edma.h of kernel through http://tinyurl.com/kqnq3t


  • Chris Ring said:
    That said, I can't speak for the dm365mmap.ko module as that's provided with the codecs that need it, rather than Linux Utils.

     

    So, where in the directory tree might I find dm365mmap?  I need to add it to my configuration and the copy on the target is out of date.\\Thx

  • Tom Hanson said:
    So, where in the directory tree might I find dm365mmap

    Never mind.  dm365mm directory right under the DVSDK.