Part Number: TDA2P-ABZ
Dear Processor team,
Our target OS is RTOS, We use now VSDK 3.3.
We want to use encoder link in our usecase, and then the encoded image will be sent out over rtp. In this case we also develop our rtp.
Now we need to set our H264 codec to send some slices from a frame, so we need to choose slice mode. As described in TI H264 user manual, to activate slice mode we should use baseline profile.
We have following settings:
pLinkChPrm->format = SYSTEM_IVIDEO_H264BP;
pLinkChPrm->profile = 66;
pLinkChPrm->dataLayout = VENC_FIELD_SEPARATED;
pLinkChPrm->fieldMergeEncodeEnable = FALSE;
pLinkChPrm->enableAnalyticinfo = 0;
pLinkChPrm->enableWaterMarking = 0;
pLinkChPrm->maxBitRate = -1;
pLinkChPrm->encodingPreset = SYSTEM_XDM_MED_SPEED_HIGH_QUALITY;
pLinkChPrm->rateControlPreset = SYSTEM_IVIDEO_LOW_DELAY;
pLinkChPrm->enableHighSpeed = FALSE;
pLinkChPrm->enableSVCExtensionFlag = FALSE;
pLinkChPrm->numTemporalLayer = 0;
pLinkChPrm->overrideInputScanFormat= 0;
pLinkChPrm->fieldPicEncode = 0;
pLinkChPrm->IDRFrameInterval = 1;
pLinkDynPrm->intraFrameInterval = 30;
pLinkDynPrm->targetBitRate = 10*1000*1000;
pLinkDynPrm->interFrameInterval = 1;
pLinkDynPrm->mvAccuracy = SYSTEM_IVIDENC2_MOTIONVECTOR_QUARTERPEL;
pLinkDynPrm->inputFrameRate = 30;
pLinkDynPrm->rcAlg = 0;
pLinkDynPrm->qpMin = 0;
pLinkDynPrm->qpMax = 51;
pLinkDynPrm->qpInit = 25;
pLinkDynPrm->vbrDuration = 8;
pLinkDynPrm->vbrSensitivity = 0;
pLinkDynPrm->maxPicSizeRatioI = 640;
In encLink_h264.c I make also some setting:
/*Slice Coding Parameters*/
staticParams->videnc2Params.level = IH264_LEVEL_42;
staticParams->intraCodingParams.lumaIntra4x4Enable=0xFF;
staticParams->intraCodingParams.lumaIntra8x8Enable=0x00;
staticParams->transformBlockSize = IH264_TRANSFORM_4x4;
staticParams->sliceCodingParams.sliceCodingPreset = IH264_SLICECODING_USERDEFINED;
staticParams->sliceCodingParams.sliceMode = IH264_SLICEMODE_BYTES;
staticParams->sliceCodingParams.streamFormat = IH264_BYTE_STREAM;
staticParams->sliceCodingParams.sliceUnitSize =1500;
staticParams->videnc2Params.outputDataMode = IVIDEO_SLICEMODE;
with those settings I get following error:
IPU1-0] 33.856707 s: ENCODE: Creating CH0 of 1280 x 720, pitch = (1280, 1280) [1] [0], bitrate = 10000 K
[IPU1-0] 33.921917 s: ENCODE: CH0: H264EncCreated:H264ENC_TI DEV.500.V.H264AVC.E.IVAHD.02.01.09.01
[IPU1-0] 33.922131 s: ENCODE: ERROR: ALGCONTROL FAILED CMD=0x00000001 (status=ffffffff) !!!
[IPU1-0] 33.922253 s: LINK ERR::linkID:52::channelID:0::errorCode:-5::FileName:iva_enc/encLink_h264.c::lin
[IPU1-0] 33.922405 s: ENCODE: ERROR: ALGCONTROL FAILED CMD=0x00000000 (status=ffffffff) !!!
[IPU1-0] 33.922527 s: ENCODE: ERROR: ALGCONTROL FAILED CMD=0x00000005 (status=ffffffff) !!!
[IPU1-0] 33.922619 s: LINK ERR::linkID:52::channelID:0::errorCode:-8::FileName:iva_enc/encLink_h264.c::lin
We have error by setting dynamic parameters (ENC_LINK_E_ALGSETPARAMSFAILED) and by getting buffer (ENC_LINK_E_ALGGETBUFINFOFAILED).
Can you check my setting? Or maybe you can suggest some settings for baseline profile?