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.

Anyone got DVSDK4 GA working?

I was doing fine with DVSDK_4_00_00_17 beta but can't get 4GA to work.  My app that has worked from dvsdk 2 to 4 beta now can't open the H264enc codec.  Also tried using the encodedecode demo and it fails to open the mpeg4dec.

I get an unusal error loading cmem.ko.  My memory for Linux is 80M.  So that's why the range goes to 0x85000000.  I also tell cmem that phys mem start is 0x85000000.  So I don't expect an error that says that CMEM overlaps.  Especially at 0x1000.

CMEMK module: built on Oct 18 2010 at 16:23:59
  Reference Linux version 2.6.32
  File /home/john/dm368/dvsdk_4_00_00_22/linuxutils_2_25_05_11/packages/ti/sdo/linuxutils/cmem/src/module/cmemk.c
allocated heap buffer 0xc6000000 of size 0x337000
CMEM Range Overlaps Kernel Physical - allowing overlap
CMEM phys_start (0x1000) overlaps kernel (0x80000000 -> 0x85000000)
cmemk initialized

John A

  • Ahh, figured out the CMEM complaint.  Apparently there are two phys_start statements and the second one defines a pool in linux kernel space.  That isn't the problem since removing it had no affect on either my app or the encodedecode demo.

    John A

  • Hi John,

    Do you still have issues getting the demos to run?

    Note that we are expecting you to run the setup script again for the GA, as sometimes we tweak kernel cmdline params between releases. Also, you should use the new target filesystem as there has been small changes since the beta. I.e. make sure you run the setup script start to finish when moving to the GA.

    Best regards, Niclas

  • Yes, I'm stilling having trouble.  I did run the setup script, however I removed parts that setup NFS and TFTP because it's already up.  I also didn't run the u-boot script so I will take a look at that and see if I can resolve this with the kernel cmdline parameters.

    John A

  • John,

    It should be safe to run the setup script over and over, you shouldn't have to edit it. New NFS shares will be appended to /etc/exports (old ones will stay), and the script will allow you to change the name of your uImage if an old version already exists. I strongly recommend you run the setup script start to finish at least once, I personally have about 20 different builds installed concurrently without issue (just name your target filesystems e.g. ${HOME}/targetfs-dm365-<buildnumber>. This way you can swap back and forth.

    Regards, Niclas

  • I'm using the dvsdk rfs and the kernel command parameters as specified in the release.  The problem I'm having using the encodedecode demo is that it wants it's input from the component input.  I'm using a board that we designed and built and it is composite input only.  There appears to be no parameters for encodedeco that allow selection of input.  This same demo worked fine in the beta release.

    John A

  • OK, I got encodedecode working.  Turns out that the default video standard is no longer NTSC even though the --help claims that it is.  Tests out with MPEG4 and H264.

    Now I need to find out what has changed that has caused my application that worked with 4 beta to no longer work with 4 release. Unfortunately CE_DEBUG=3 is no help..

    *** VIDENC1_Params ***
    size:132,132
    encodingPreset:3
    rateControlPreset:2
    maxHeight:480
    maxWidth:720
    maxFrameRate:30000
    maxBitRate:2000000
    dataEndianness:1
    maxInterFrameInterval:1
    inputChromaFormat:9
    inputContentType:0
    reconChromaFormat:9
    *** VIDENC1_DynamicParams ***
    size:152,152
    targetBitRate:2000000
    inputWidth:720
    inputHeight:480
    refFrameRate:30000
    targetFrameRate:30000
    captureWidth:0
    generateHeader:0
    forceFrame:-1
    interFrameInterval:0
    mbDataFlag:0
    @3,736,430us: [+2 T:0x41cc0490 S:0x41cbfbd4] ti.sdo.dmai - [Venc1] Creating encoder h264enc for max 720x480 bitrate 2000000 ratectrl 2
    @3,736,629us: [+0 T:0x41cc0490 S:0x41cbfbac] ti.sdo.ce.video1.VIDENC1 - VIDENC1_create> Enter (engine=0x1bf178, name='h264enc', params=0x1be3e8)
    @3,736,813us: [+0 T:0x41cc0490 S:0x41cbfb7c] CV - VISA_create(0x1bf178, 'h264enc', 0x1be3e8, 0x520, 'ti.sdo.ce.video1.IVIDENC1')
    @3,736,974us: [+0 T:0x41cc0490 S:0x41cbfa74] CV - VISA_create2(0x1bf178, 'h264enc', 0x1be3e8, 0x84, 0x520, 'ti.sdo.ce.video1.IVIDENC1')
    @43,408,767us: [+6 T:0x41cc0490 S:0x41cbfa74] CV - VISA_create2> FAILED to create local codec.
    @43,408,902us: [+0 T:0x41cc0490 S:0x41cbfa4c] CV - VISA_delete(0x1be5d0)
    @43,409,091us: [+5 T:0x41cc0490 S:0x41cbfa4c] CV - VISA_delete> deleting codec (localQueue=0xffff, remoteQueue=0xffff)
    @43,409,264us: [+0 T:0x41cc0490 S:0x41cbfa2c] OM - Memory_free> Enter(0x1be5d0, 0x34)
    @43,409,416us: [+0 T:0x41cc0490 S:0x41cbfa2c] OM - Memory_free> return (0x1)
    @43,409,553us: [+0 T:0x41cc0490 S:0x41cbfbac] ti.sdo.ce.video1.VIDENC1 - VIDENC1_create> return (0x0)
    @43,409,695us: [+7 T:0x41cc0490 S:0x41cbfbd4] ti.sdo.dmai - [Venc1] Failed to open video encode algorithm: h264enc (0x0)
    Error: Failed to create video encoder: h264enc

    John A

  • John,

    Please note that the codec are different from DVSDK 4.0.0.17 to 4.0.0.22.  Make sure your application cfg has been updated with right information. IIRC, to work with encoder  you need to add the below line in your app .cfg file and also server the ARM TCM memory using cmem pool.

    +var MEMTCM = xdc.useModule('ti.sdo.fc.ires.memtcm.MEMTCM');
    +MEMTCM.cmemBlockId = 1; //Since we use _1 in our insmod command.
    +

    Please compare your application .cfg with DVSDK demo app .cfg and similarly compare the loadmodule.sh. Hope this fixes your problem.

    Thanks

    Brijesh

  • John,

    Please note that the codec are different from DVSDK 4.0.0.17 to 4.0.0.22.  Make sure your application cfg has been updated with right information. IIRC, to work with encoder  you need to add the below line in your app .cfg file and also reserve the ARM TCM memory using cmem pool.

    +var MEMTCM = xdc.useModule('ti.sdo.fc.ires.memtcm.MEMTCM');
    +MEMTCM.cmemBlockId = 1; //Since we use _1 in our insmod command.
    +

    Please compare your application .cfg with DVSDK demo app .cfg and similarly compare the loadmodule.sh. Hope this fixes your problem.

    Thanks

    Brijesh

  • Brijesh Singh said:

    +var MEMTCM = xdc.useModule('ti.sdo.fc.ires.memtcm.MEMTCM');
    +MEMTCM.cmemBlockId = 1; //Since we use _1 in our insmod command.
    +

    Please compare your application .cfg with DVSDK demo app .cfg and similarly compare the loadmodule.sh. Hope this fixes your problem.

    Brijesh, this was it!  My application is now streaming H.264 to the network just like old times!

    Now I just have to remake a kernel version specific to our board.  I canceled the installation of DVSDK 4 release when I realized if was going into the root of my development space, and the installation proceeeded to delete my entire development workspace!!!!  Fortunately all of my application work was backed up.  But my kernel dev specific to our board was lost, and I hadn't created a patch of changes or backed up the kernel source.;(

    John A