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.

DM814x: capture_encode example without frame drop

Dear All,

I'm working with SDK 5.03.01.15 on DM8148EVM. I'm trying to capture/encode a 1080P stream from VIN with capture_encode example without wasting input frames (I would like to capture the input and only save it to file)

I've found into this forum that frame drop is quite normal in H264 encoding, due the fact that the codec have to drop frame to grant bitrate constrain. In fact by lowering bitrate (from 20Mbps to 2MBps for example) I have more frame dropped.

By searching into the forum I've found that I should change eRateControlPreset parameter from:

tEncoderPreset.eRateControlPreset = OMX_Video_RC_Low_Delay;

to

tEncoderPreset.eRateControlPreset = OMX_Video_RC_Storage;

But, however, I've notice no big changes.

Changing to VBR to CBR should also reduce the problem. I've changed from

tVidEncBitRate.eControlRate = OMX_Video_ControlRateDisable;

to

 tvidEncBitRate.eControlRate = OMX_Video_ControlRateVariable;

But, again, I've notice no changes on the resulting file (in term of "missing frames")

Can anybody help me in configure h264 encoder correctly?

Best Regards,

Andrea


  • I also try to change eProfile and eLevel from the default

      tProfileLevel.eProfile = OMX_VIDEO_AVCProfileBaseline;
      tProfileLevel.eLevel = OMX_VIDEO_AVCLevel42;

    to

      tProfileLevel.eProfile = OMX_VIDEO_AVCProfileHighline;
      tProfileLevel.eLevel = OMX_VIDEO_AVCLevel42;
    or

      tProfileLevel.eProfile = OMX_VIDEO_AVCProfileBaseline;
      tProfileLevel.eLevel = OMX_VIDEO_AVCLevel41;

    but I see no changes on the output file. Even by looking inside the file with mediainfo (http://mediainfo.sourceforge.net/en) I see always see Baseline@L4.2.

    Is this setting implemented in OMX?

    Best Regards,

    Andrea