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.

1080P30 ON DM6467

Hi all

   i want to encode 1080p30 on DM6467T but fail with dvsdk_3_10_00_19/codec_engine_2_25_05_16. The demo only encode 720p60 h.264 video,So i have to make some change.Now the demo stops at 'Error: Failed to create video encoder: h264enc'.

with CE_DEBUF=3,i get the debug message and find where the error occured:

[DSP] @0,809,893tk: [+0 T:0x8c0bc2a4 S:0x8c0c1004] ti.sdo.ce.video1.VIDENC1 - VIDENC1_control> Enter (handle=0x8fc66da8, id=1, dynParams=0x8ff04934 (size=0x30), status=0x8ff04964 (size=0x9c)
[DSP] @0,810,000tk: [+5 T:0x8c0bc2a4 S:0x8c0c0fe4] CV - VISA_enter(visa=0x8fc66da8): algHandle = 0x8fc66de0
[DSP] @0,810,061tk: [+0 T:0x8c0bc2a4 S:0x8c0c0fc4] ti.sdo.ce.alg.Algorithm - Algorithm_activate> Enter(alg=0x8fc66de0)
[DSP] @0,810,203tk: [+0 T:0x8c0bc2a4 S:0x8c0c0fc4] ti.sdo.ce.alg.Algorithm - Algorithm_activate> Exit
[DSP] @0,810,267tk: [+5 T:0x8c0bc2a4 S:0x8c0c0fe4] CV - VISA_exit(visa=0x8fc66da8): algHandle = 0x8fc66de0
[DSP] @0,810,327tk: [+0 T:0x8c0bc2a4 S:0x8c0c0fc4] ti.sdo.ce.alg.Algorithm - Algorithm_deactivate> Enter(alg=0x8fc66de0)
[DSP] @0,810,392tk: [+0 T:0x8c0bc2a4 S:0x8c0c0fc4] ti.sdo.ce.alg.Algorithm - Algorithm_deactivate> Exit
[DSP] @0,810,448tk: [+0 T:0x8c0bc2a4 S:0x8c0c1004] ti.sdo.ce.video1.VIDENC1 - VIDENC1_control> Exit (handle=0x8fc66da8, retVal=0xffffffff)

 

it's very clear that it stops in  videnc1.c(in dvsdk_3_10_00_19/codec_engine_2_25_05_16/packages/ti/sdo/ce/video1):

            VISA_enter((VISA_Handle)handle);
            retVal = fxns->control(alg, id, dynParams, status);
            VISA_exit((VISA_Handle)handle);

But i can't go in deeper. is that i make mistake with dynParams?or someone else can give me some example/demo with 1080p

 

btw: i know 'make dmai' can update dmai with my debug_code but don't know how to do the same with code_engine.can anyone tell me?

 

Thank you veery much

 

Regards

 

  • Hi Caijun,

    Here are some tips I learned from working with the H264 codec on my dm6467T

    1.  There are two seperate codecs for H264 encode.  One will only work with 720p and less resolution and the other will work with 1080p or less resolution.  Are you sure you are using the high definiation encoder?  The low definition encoder will not accept the 1080p sizes.  I think you need h264fhdvenc from the cs2dm6467_xx_xx codec package.  If you are using the server from the demos, cs.x64P, in codec.cfg (of the codec server configuration) you can see that the name of the codec to call needs to be "h264fhdvenc"

    2.  to get more debug for the DMAI you can use the same strategy as with the codec engine.  Run application with DMAI_DEBUG=2.  But I think you get more information from CE_DEBUG anyhow and DMAI_DEBUG will interfere with CE_DEBUG.

    Good luck!

    Brandy

  • Sometimes the codec is generous and gives you more details via the IVIDENC1_Status.extendedError field (returned by VIDENC1_control()).  There is also some information here on interpreting this extendedError field.

    Often, as you suspected, it's the dynamicParams, you might post the dynamic params you're providing.

    I'll move this thread to the codec forum as those folks often know the codec-specific details.

    Chris

  • Yes, there are 2 encoders; the 720p encoder and the 100p encoder on DM6467. The 720p encoder will not encode 1080p resolution.

    You can download the DM6467 codecs from:

     

    http://software-dl.ti.com/dsps/dsps_public_sw/codecs/DM6467/index_FDS.html

     

    Regards,

    Kapil

  • thanks for all your replys.it works now by using 1080p encoder.

    just change

    static Codec videoEncoders[] = {
        {
            "h264venc",
            "H.264 BP",
            h264Extensions,
            NULL,
            &extDynParams
        },
        { NULL }
    };

    to

    static Codec videoEncoders[] = {
        {
            "h264fhdvenc",
            "H.264 BP",
            h264Extensions,
            NULL,
            &extDynParams
        },
        { NULL }
    };

    in codec.c

    'loadmodules.sh' should be modify to allow more pools.

    but here comes new problem. encoder_demo doesn't work in a second.

    'top' shows it use all my mem(93MB) and i'm only give system 117MB.so i want to know how many MB it will take.

     

    Regards