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.

HEVC 2.00.00.02 fails to initialize at 720x480

Using the following parameters, the DSP returns -4 (failed to create algo)

static IH265VENC_Params ih265venc_params = {
		.videnc2Params = {
				.size = -1, // Filled in later using sizeof()
				.encodingPreset = 4,
				.rateControlPreset = 2,
				.maxHeight = 480,
				.maxWidth = 720,
				.dataEndianness = 1,
				.maxInterFrameInterval = 8,
				.maxBitRate = 8000000,
				.minBitRate = 50000,
				.inputChromaFormat = 1,
				.inputContentType = 0,
				.operatingMode = IVIDEO_ENCODE_ONLY,
				.profile = 1,
				.level = 41,
				.inputDataMode = IVIDEO_ENTIREFRAME,
				.outputDataMode = IVIDEO_ENTIREFRAME,
				.numInputDataUnits = 1,
				.numOutputDataUnits = 1,
				.metadataType = { IVIDEO_METADATAPLANE_NONE, IVIDEO_METADATAPLANE_NONE, IVIDEO_METADATAPLANE_NONE }
		},
		.rateControlParams = {
				.rateControlParamsPreset = 1,
				.rcAlgo = 0,
				.qpI = 28,
				.qpMaxI = 51,
				.qpMinI = 12,
				.qpP = 28,
				.qpMaxP = 51,
				.qpMinP = 12,
				.qpOffsetB = 4,
				.qpMaxB = 51,
				.qpMinB = 12,
				.enableFrameSkip = 0,
				.enablePartialFrameSkip = 0,
				.qualityFactorIP = 0,
				.cbQPIndexOffset = 2,
				.crQPIndexOffset = 2,
				.initialBufferLevel = 8000000,
				.hrdBufferSize = 8000000,
				.enableHRDComplianceMode = 1,
				.maxFrameSkipCnt = 0,
				.SubFrameRC = 0,
				.maxDeltaQP = 0,
				.enablePRC = 0,
				.reserved = { 0, 0, 0 }
		},
		.loopFilterParams = {
				.loopFilterParamsPreset = 1,
				.enableDeblockFilter = 1,
				.enableSaoFilter = 1,
				.enableLoopFilterSliceBoundary = 0,
				.enableLoopFilterTileBoundary = 0,
				.separateCbCrSAO = 0,
				.offsetLoopFilterInPPSFlag = 0,
				.offsetDeblockBetaDiv2 = 0,
				.offsetDeblockTcDiv2 = 0
		},
		.gopCntrlParams = {
				.gopCntrlParamsPreset = 1,  //0 - Default Layer 1
				/*# 1 : User defined , below parameters will be used,
				  # 2 : Default layer 2, gop size 2 and IPP sequence
				  # 3 : Default layer 3, gop size 4 and IPP sequence
				  # 4 : Default layer 4, gop size 8 and IPP sequence
				  # 5 : Default layer 2, gop size 2 and IBP sequence
				  # 6 : Default layer 4, gop size 4 and IBBBP sequence
				  # 7 : Default layer 8, gop size 8 and IBBBBBBBP sequence */
				.gopFrameType = { 80, 66, 66, 66, 66, 66, 66, 66 },	// GOPFrameType = {I-73, P-80, B-66 }
				.gopQPOffset = { 0, 0, 0, 0, 0, 0, 0, 0 },
#if defined(HEVC_V2)
				.gopRefFramesActive= { 1, 2, 2, 2, 2, 2, 2, 2 },
#endif
				.gopNumRefFrames = { 1, 2, 3, 4, 3, 2, 3, 2 },
				.gopRefFrames = { { -8, 0, 0, 0 }, { -4, 4, 0, 0 }, { -2, 2, 6, 0 }, { -1, 1, 3, 7 },
						{ -1, 1, 5, 0 }, { -2, 2, 0, 0 }, { -1, 1, 3, 0 }, { -1, 1, 0, 0 } },
				.gopPocNo = { 8, 4, 2, 1, 3, 6, 5, 7 },
				.gopIsReference = { 1, 1, 1, 0, 0, 1, 0, 0 },
				.gopTemporalId = { 0, 1, 2, 3, 3, 2, 3, 3 }
		},
		.sliceCodingParams = {
				.sliceCodingPreset = 1,
				.sliceCodingMode = 0, //# 0 : Disable 1 : each slice consist of sliceCodingArg LCU
				.sliceCodingArg = 0, //# N : each slice consisit of N LCU in raster scan order ; This will be ignored if  enableTiles is 1
				.enableTiles = 0,
				.numTileColumns = 1,
				.numTileRows = 1,
				.enableDependentSlice = 0
		},
		.intraCodingParams = {
				.intraCodingPreset = 1,
				.intraRefreshMethod = 0,
				.intraRefreshRate = 0,
				.constrainedIntraPredEnable = 0,
				.enableStrongIntraSmoothing = 1,
				.matchYCbCrIntraMode = 0,
				.enableLumaIntra4x4Mode = 0,
				.enableLumaIntra8x8Mode = 0,
				.enableLumaIntra16x16Mode = 0,
				.enableLumaIntra32x32Mode = 0,
				.enableChromaIntra4x4Mode = 0,
				.enableChromaIntra8x8Mode = 0,
				.enableChromaIntra16x16Mode = 0
		},
		.interCodingParams = {
				.interCodingPreset = 1,
				.enableTmvp = 0,
				.searchRangeHorP = 72,
				.searchRangeVerP = 128,
				.searchRangeHorB = 72,
				.searchRangeVerB = 128,
				.interCodingBias = 0,
				.skipMVCodingBias = 0,
				.numMergeCandidates = 3,
				.enableBiPredMode = 1,
				.enableFastIntraAlgo = 1
		},
		.ctbCodingParams = {
				.maxCTBSize = 64,
				.maxCUDepth = 3
		},
		.vuiCodingParams = {
				.vuiCodingPreset = 1,
				.enableVui = 1,
				.aspectRatioInfoPresentFlag = 0,
				.aspectRatioIdc = 0,
				.videoSignalTypePresentFlag = 0,
				.videoFormat = 0,
				.videoFullRangeFlag = 0,
				.colourDescriptionPresentFlag = 0,
				.colourPrimaries = 0,
				.transferCharacteristics = 0,
				.matrixCoefficients = 0,
				.timingInfoPresentFlag = 1,
				.frame_field_info_present_flag = 0,
				.hrdParamsPresentFlag = 0
		},
		.seiParams = {
				.enableSeiFlag  = 0,
				.reserved = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }
		},
		.scalingMatrixPreset = 0, // flag to enable scaling list
		/* 0 : Disabled
		 # 1 : Default scaling list as defined by standard
		 # 2 : User defined scaling list sent in SPS
		 # 3 : User defined scaling list sent in PPS */
		.decRefreshType = 0,
		.decRefreshInterval = 0,
		.enableTransQuantBypass = 0,
		.maxPoc = 256,
		.enableTransformSkip = 0,
		.maxIntraFrameInterval = 10000,
		.enableWPP = 0,
#if defined(HEVC_V2)
		.maxNumRefFrames = 2,
#else
		.maxNumRefFrames = 1,
#endif
		.enableVirtualTile = 21,
		.disableVirtualTileDependency = 0,
		.debugTraceLevel = 0,
		.lastNFramesToLog = 0,
#if defined(HEVC_V2)
		.enableIntraRDO = 1,
		.enableSAONonReference = 1,
		.enableScaleDeadZone = 1,
#endif
};

//dynamic
static IH265VENC_DynamicParams ih265venc_dynamicParams = {
		.videnc2DynamicParams = {
				.size = -1, // Filled in later using sizeof()
				.inputHeight = 480,
				.inputWidth = 720,
				.refFrameRate = 60000,
				.targetFrameRate = 60000,
				.targetBitRate = 4000000,
				.intraFrameInterval = 10000,
				.generateHeader = 0,
				.captureWidth = 0,
				.forceFrame = -1,
				.interFrameInterval = 8,
				.mvAccuracy = 2,
				.sampleAspectRatioHeight = 1,
				.sampleAspectRatioWidth = 1,
				.ignoreOutbufSizeFlag = 0,
				.putDataFxn = 0,
				.putDataHandle = 0,
				.getDataFxn = 0,
				.getDataHandle = 0,
				.getBufferFxn = 0,
				.getBufferHandle = 0,
				.lateAcquireArg = 0
		},
		.rateControlParams = {
				.rateControlParamsPreset  = 1,
				.rcAlgo = 0,
				.qpI = 28,
				.qpMaxI = 51,
				.qpMinI = 12,
				.qpP = 28,
				.qpMaxP = 51,
				.qpMinP = 12,
				.qpOffsetB = 4,
				.qpMaxB = 51,
				.qpMinB = 12,
				.enableFrameSkip = 0,
				.enablePartialFrameSkip = 0,
				.qualityFactorIP = 0,
				.cbQPIndexOffset = 2,
				.crQPIndexOffset = 2,
				.initialBufferLevel = 8000000,
				.hrdBufferSize = 8000000,
				.enableHRDComplianceMode = 1,
				.maxFrameSkipCnt = 0,
				.SubFrameRC = 0,
				.maxDeltaQP = 0,
				.enablePRC = 0,
				.reserved = { 0, 0, 0 }
		},
		.loopFilterParams = {
				.loopFilterParamsPreset = 1,
				.enableDeblockFilter = 1,
				.enableSaoFilter = 1,
				.enableLoopFilterSliceBoundary = 0,
				.enableLoopFilterTileBoundary = 0,
				.separateCbCrSAO = 0,
				.offsetLoopFilterInPPSFlag = 0,
				.offsetDeblockBetaDiv2 = 0,
				.offsetDeblockTcDiv2 = 0
		},
		.intraCodingParams = {
				.intraCodingPreset = 1,
				.intraRefreshMethod = 0,
				.intraRefreshRate = 0,
				.constrainedIntraPredEnable = 0,
				.enableStrongIntraSmoothing = 1,
				.matchYCbCrIntraMode = 0,
				.enableLumaIntra4x4Mode = 0,
				.enableLumaIntra8x8Mode = 0,
				.enableLumaIntra16x16Mode = 0,
				.enableLumaIntra32x32Mode = 0,
				.enableChromaIntra4x4Mode = 0,
				.enableChromaIntra8x8Mode = 0,
				.enableChromaIntra16x16Mode = 0
		},
		.interCodingParams = {
				.interCodingPreset = 1,
				.enableTmvp = 0,
				.searchRangeHorP = 72,
				.searchRangeVerP = 128,
				.searchRangeHorB = 72,
				.searchRangeVerB = 128,
				.interCodingBias = 0,
				.skipMVCodingBias = 0,
				.numMergeCandidates = 3,
				.enableBiPredMode = 1,
				.enableFastIntraAlgo = 1
		},
		.ctbCodingParams = {
				.maxCTBSize = 64,
				.maxCUDepth = 3
		},
		.sliceCodingParams = {
				.sliceCodingPreset = 1,
				.sliceCodingMode = 0, //# 0 : Disable 1 : each slice consist of sliceCodingArg LCU
				.sliceCodingArg = 0, //# N : each slice consisit of N LCU in raster scan order ; This will be ignored if  enableTiles is 1
				.enableTiles = 0,
				.numTileColumns = 1,
				.numTileRows = 1,
				.enableDependentSlice = 0
		},
		/*TrQBypassFlag*/
		.enableTransQuantBypass = 0,
		/*TransformSkipFlag*/
		.enableTransformSkip = 0,
		.enableROI = 0,
#if defined(HEVC_V2)
		.writeSpsPpsHdr = 2,
#endif
};