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.

How to set Rate Control, Profile, Entropy Coding using OMTB of DM8168 H.264 Encoder ?

Hi all,

At my DM8168 board,

 I use ezsdk of ti-ezsdk_dm816x-evm_5_03_01_15.

I compose the flow below:

YUV file => DM8168 encoder(*1) => h.264 file

*1: encoder like omtb_dm816xbm_a8host.xv5T

I want to set the parameter below using OMTB:

・Rate Control    : CBR, VBR
・Profile                : HP(High Profile), MP(Main Profile), BP(Baseline Profile)
・Entropy Coding : CABAC, CAVLC

With best regards,

-- M.Nakayama

  • Hi all,

    I already tried to change  Rate Control.

    It refers to this URL.

    http://e2e.ti.com/support/dsp/davinci_digital_media_processors/f/717/t/126594.aspx 

    I change Rate Control and Bitrate, but this file size is not change.

    I attach this oms file.

    8272.fread_venc_fwrite_test.oms.txt

    With best regards,

    -- M.Nakayama

     

  • Hi Nakayama.

    Please use below settings and try at your end

    1. Rate Control: CBR, VBR

    For CBR following command needs to be used (by default "eControlRate" will be set to disabled)

    omx setp 0 h264venc OMX_IndexParamVideoBitrate eControlRate constant



    For VBR following command needs to be used

    omx setp 0 h264venc OMX_IndexParamVideoBitrate eControlRate variable



    2. Profile: HP(High Profile), MP(Main Profile), BP(Baseline Profile)



    Profiles and levels can be changed by using below index and output is getting generated with proper profile.

    omx setp 0 h264venc OMX_IndexParamVideoProfileLevelCurrent eProfile main

    omx setp 0 h264venc OMX_IndexParamVideoProfileLevelCurrent eLevel 4.2



    3. Entropy Coding : CABAC, CAVLC

    Default Entropy Coding:

    main profile - CABAC

    Baseline Profile - CAVLC

    For entropy coding we have found an issue with OMTB and we will be working on this issue.Mean while try and modify the OMX IL client application "encode_a8host_debug.xv5T" to configure the Entropy coding.


    Please find the attached OMS script for reference
    
    
    Regards,

    Chandru


  • Hi Nakayama,
    
    
    Please find the attached OMS script for reference
    6874.vbr_cbr.oms.txt
    
    
    Regards,
    Chandru
  • Hi Chandru

    Thank you for your reply.

    I tride encode using attached file.

    5100.encode_test.oms.txt

    So, CBR / VBR changed the below:

     1. Rate Control: CBR, VBR

    For CBR following command needs to be used (by default "eControlRate" will be set to disabled)

    omx setp 0 h264venc OMX_IndexParamVideoBitrate eControlRate constant

    For VBR following command needs to be used

    omx setp 0 h264venc OMX_IndexParamVideoBitrate eControlRate variable

    But, Don't change file size (encode CBR / VBR).

    I think that don't change CBR / VBR.

    Please check attached file.

    With best regards,

    -- M.Nakayama

     

     

     

     

  • Hi M.Nakayama,

    We have tried at our end the file size is different if we set the eControlRate to VBR or CBR.

    omx setp 0 h264venc OMX_IndexParamVideoBitrate eControlRate variable

    or

    omx setp 0 h264venc OMX_IndexParamVideoBitrate eControlRate constant

    If you are setting target bitrate to 5000000 for 1080p then the size will be approximately same. There will be .01M size change but size difference will be there. If you want to see a big difference then give 512000 as target bit rate for both eControlRate.

    omx setp 0 h264venc OMX_IndexParamVideoBitrate nTargetBitrate 512000

     With 512000 target bit rate we are getting big difference between encoded files. This is due to threshold value.In case of CBR it will skip more frames as compare to VBR.

    Thanks and regards

    Sachin kumar

  • Hi Sachin kumar,

    Thank you for your reply.

    I tried encode for setting target bitrate to 512000 bps for 720p.

    But, Don't change file size(encode CBR / VBR).

    And, Same motion(encode CBR / VBR).

    Please check attached file.

    ・config_log : serial log.

    6278.config_log.txt

     

    ・encode_test.oms.txt  : I used this file (.oms).

    6683.encode_test.oms.txt

    With best regards,

    -- M.Nakayama

  •  Hi M.Nakayama,

    We have tried at our end again, the file size is different if we set the eControlRate to VBR or CBR. Please try the attached oms script it is for 1080p.

    Thanks and regards

    Sachin kumar