We are using the DM365 processor with the 2.0.0.2_production version of the H.264 codec. We have recently upgraded our kernel from the Montavista supplied 2.6.18-pro500 to the KHillman Git 2.6.32 kernel. With the 2.6.18 kernel the lite mode (encQuality = 2) worked correctly, but under the 2.6.32 kernel the VIDENC1_create function fails. Enabling tracing for the DVSDK shows that the failure occurs in ALG_create function, but we are unable to determine what is causing the failure.
We are using the following base parameters:
size = sizeof(IH264VENC_Params);
encodingPreset = XDM_USER_DEFINED;
rateControlPreset = IVIDEO_NONE;
maxHeight = height;
maxWidth = width;
maxFrameRate = 30000;
maxBitRate = 4000000;
dataEndianness = XDM_BYTE;
maxInterFrameInterval = XDM_DEFAULT;
inputContentType = IVIDEO_PROGRESSIVE;
inputChromaFormat = XDM_YUV_420SP;
reconChromaFormat = XDM_YUV_420SP;
and the following H.264 extended parameters:
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;
disableHDVICPeveryFrame = 0;
encQuality = 2; /* Fast, low quality */
If we change the encQuality parameter from 2 to 1 (standard quality) then it works correctly on the 2.6.32 kernel. However, we need the lite mode setting to achieve fast capture rates for our application.