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.

H.264 encoding performance on DM365

We are currently trying to improve the performance of the H.264 encoder on our DM365 based board. We want the encoding to be as fast as possible and can sacrifice image quality to a degree in order to achieve this. Our resolution is fixed at 736x496 and our goal is to get a 100fps capture -> encode -> write to disk process, so we ideally need the encoding to be as fast as possible.

With our current settings (see below) the VIDENC1_process function takes around 12.39ms on average (measured with gettimeofday), which gives us a frame rate of a approximately 80.7fps for just the encoding. TI suggested that we changed the transform8x8FlagIntraFrame, resetHDVICPeveryFrame and perceptualRC values to 0 (we originally had them at 1), but this did not appear to improve the performance of the encoder.

Can anybody suggest changes that we can make to our settings to improve the performance of the H.264 encoder?

Our current H.264 encoder settings are:

Base params:
size = sizeof(IH264VENC_Params)
encodingPreset = XDM_HIGH_SPEED
rateControlPreset = IVIDEO_NONE
maxHeight = 736
maxWidth = 496
maxFrameRate = 30000
maxBitRate = 4000000
dataEndianness = XDM_BYTE
maxInterFrameInterval = XDM_DEFAULT
inputContentType = IVIDEO_PROGRESSIVE
inputChromaFormat = XDM_YUV_420SP
reconChromaFormat = XDM_YUV_420SP

H.264 extensions:
profileIdc = 100
levelIdc = IH264VENC_LEVEL_21
aspectRatioX = 1
aspectRatioY = 1
pixelRange = 1
meAlgo = 0
timeScale = 150
numUnitsInTicks = 1
enableVUIparams = 0
entropyMode = 1
transform8x8FlagIntraFrame = 0
transform8x8FlagInterFrame = 0
seqScalingFlag = 1
resetHDVICPeveryFrame = 0
disableHDVICPeveryFrame = 0
encQuality = 0
unrestrictedMV = 0
enableARM926Tcm = 0

Base dynamic params:
size = sizeof(IH264VENC_DynamicParams)
inputHeight = 736
inputWidth = 436
refFrameRate = 30000
targetFrameRate = 30000
targetBitRate = 4000000
generateHeader = XDM_DEFAULT
captureWidth = XDM_DEFAULT
forceFrame = XDM_DEFAULT
interFrameInterval = XDM_DEFAULT
mbDataFlag = XDM_DEFAULT
intraFrameInterval = 30

H.264 Extended dynamic params:
intraFrameQP = 28
interPFrameQP = 28
initQ = 28
rcQMax = 45
rcQMin = 0
airRate = 0
sliceSize = 0
lfDisableIdc = 0
rcAlgo = 1
maxDelay = 2000
intraSliceNum = 0
meMultiPart = 0
enableBufSEI = 0
enablePicTimSEI = 0
intraThrQF = 0
perceptualRC = 0
idrFrameInterval = 0
mvSADoutFlag = 0