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.

DM385 RDK3.9 对enc进行输出配置,配置为slice输出,编码器报错溢出,

对编码器进行slice分片处理,内部slice分片可以做到,但是分片输出报错,只要把输出模式改为分片就出错,改回来就是对的,报错为

[host]
Application Run Completed
[m3vpss ] 4357: CAPTURE: Fields = 0 (fps = 0), Total Resets = 0 (Avg 0 ms per reset)
[m3video] Channel:0 inputframerate:60 targetfps:30
[m3video] ENCLINK:H264Enc !!WARNING!!!Unable to handle runtime output buffer request
[m3video] Extended error 18400 for reqObjIndex 0
[m3video] 4377:WARN
[m3video] ENCLINK:ERROR in Enclink_h264EncodeFrameBatch.Status[-1] for IVAHD_0
[m3video] 4377:WARN
[m3video] ENC : IVAHDID : 0 ENCLINK:ERROR in EncLink_SubmitBatch.Status[-1]
[m3video] Extended error 10400 for reqObjIndex 0
[m3video] 4422:WARN
[m3video] ENCLINK:ERROR in Enclink_h264EncodeFrameBatch.Status[-1] for IVAHD_0
[m3video] 4422:WARN
[m3video] ENC : IVAHDID : 0 ENCLINK:ERROR in EncLink_SubmitBatch.Status[-1]

[host] ITT server task running !!!

[host]
ITT ittServer_run

[host] ITT Server Message initialization successful

[host]
ITT capture task created
[m3video] Extended error 10400 for reqObjIndex 0
[m3video] 4455:WARN
[m3video] ENCLINK:ERROR in Enclink_h264EncodeFrameBatch.Status[-1] for IVAHD_0
[m3video] 4455:WARN
[m3video] ENC : IVAHDID : 0 ENCLINK:ERROR in EncLink_SubmitBatch.Status[-1]
[m3video] Extended error 10400 for reqObjIndex 0
[m3video] 4486:WARN
....
[m3video] 5622:WARN
[m3video] ENC : IVAHDID : 0 ENCLINK:ERROR in EncLink_SubmitBatch.Status[-1]
[m3video] Extended error 10400 for reqObjIndex 0
[m3video] 5654:WARN
[m3video] ENCLINK:ERROR in Enclink_h264EncodeFrameBatch.Status[-1] for IVAHD_0
[m3video] 5654:WARN
[m3video] ENC : IVAHDID : 0 ENCLINK:ERROR in EncLink_SubmitBatch.Status[-1]
[m3video] Unhandled Exception:
[m3video] Exception occurred in ThreadType_Task
[m3video] handle: 0x8d5da4ec.
[m3video] stack base: 0x8d56b3e0.
[m3video] stack size: 0xa000.
[m3video] R0 = 0x00000001 R8 = 0x00000000
[m3video] R1 = 0x7d8a7c8b R9 = 0x8cd4c4a4
[m3video] R2 = 0x00000000 R10 = 0x00000000
[m3video] R3 = 0x00000010 R11 = 0xffffffff
[m3video] R4 = 0x8d5d9e64 R12 = 0x235c0200
[m3video] R5 = 0x8d0bdfd8 SP(R13) = 0x8d575350
[m3video] R6 = 0x8d0bab48 LR(R14) = 0x8cdc377b
[m3video] R7 = 0x00000000 PC(R15) = 0x8cdaef3a
[m3video] PSR = 0x21000000
[m3video] ICSR = 0x0440f803
[m3video] MMFSR = 0x00
[m3video] BFSR = 0x82
[m3video] UFSR = 0x0000
[m3video] HFSR = 0x40000000
[m3video] DFSR = 0x00000000
[m3video] MMAR = 0x7d8a7c8f
[m3video] BFAR = 0x7d8a7c8f
[m3video] AFSR = 0x00000000
[m3video] Terminating Execution...

要怎么配置?

  • 我的配置是
    staticParams->videnc2Params.rateControlPreset = IVIDEO_LOW_DELAY;
    staticParams->entropyCodingMode = IH264_ENTROPYCODING_CAVLC;
    staticParams->videnc2Params.inputDataMode = IVIDEO_ENTIREFRAME;
    staticParams->videnc2Params.numInputDataUnits = 1;
    staticParams->videnc2Params.outputDataMode = (0?IVIDEO_ENTIREFRAME:IVIDEO_SLICEMODE);
    staticParams->videnc2Params.numOutputDataUnits = 1;

    staticParams->sliceCodingParams.sliceCodingPreset = IH264_SLICECODING_USERDEFINED;
    staticParams->sliceCodingParams.sliceMode = IH264_SLICEMODE_BYTES;
    staticParams->sliceCodingParams.streamFormat = IH264_BYTE_STREAM;
    staticParams->sliceCodingParams.sliceUnitSize = 2048;
    staticParams->sliceCodingParams.sliceStartOffset[0] = 25;
    staticParams->sliceCodingParams.sliceStartOffset[1] = 50;
    staticParams->sliceCodingParams.sliceStartOffset[2] = 100;

    dynamicParams->videnc2DynamicParams.putDataFxn = H264ETest_DataSyncPutDataFxn;
    dynamicParams->videnc2DynamicParams.putDataHandle = fGetInpDHandle;
    dynamicParams->videnc2DynamicParams.getDataFxn = H264ETest_DataSyncGetBufFxn;
    dynamicParams->videnc2DynamicParams.getDataHandle = fGetInpDHandle1;

    dynamicParams->sliceCodingParams.sliceCodingPreset = IH264_SLICECODING_USERDEFINED;
    dynamicParams->sliceCodingParams.sliceMode = IH264_SLICEMODE_BYTES;
    dynamicParams->sliceCodingParams.streamFormat = IH264_BYTE_STREAM;
    dynamicParams->sliceCodingParams.sliceUnitSize = 2048;
    dynamicParams->sliceCodingParams.sliceStartOffset[0] = 25;
    dynamicParams->sliceCodingParams.sliceStartOffset[1] = 50;
    dynamicParams->sliceCodingParams.sliceStartOffset[2] = 100;
  • [m3video]
    [m3video] --------- CH 0 : H264 ENC : Dynamic Params -------
    [m3video]
    [m3video] videnc2DynamicParams -> inputHeight : 1080
    [m3video] videnc2DynamicParams -> inputWidth : 1920
    [m3video] videnc2DynamicParams -> refFrameRate : 30000
    [m3video] videnc2DynamicParams -> targetFrameRate : 30000
    [m3video] videnc2DynamicParams -> targetBitRate : 3000000
    [m3video] videnc2DynamicParams -> intraFrameInterval : 15
    [m3video] videnc2DynamicParams -> generateHeader : 0
    [m3video] videnc2DynamicParams -> captureWidth : 1920
    [m3video] videnc2DynamicParams -> forceFrame : -1
    [m3video] videnc2DynamicParams -> interFrameInterval : 1
    [m3video] videnc2DynamicParams -> mvAccuracy : 2
    [m3video] videnc2DynamicParams -> sampleAspectRatioHeight : 1080
    [m3video] videnc2DynamicParams -> sampleAspectRatioWidth : 1920
    [m3video] videnc2DynamicParams -> ignoreOutbufSizeFlag : 1
    [m3video] videnc2DynamicParams -> lateAcquireArg : 0
    [m3video]
    [m3video] rateControlParams -> rateControlParamsPreset : 1
    [m3video] rateControlParams -> scalingMatrixPreset : 0
    [m3video] rateControlParams -> rcAlgo : 1
    [m3video] rateControlParams -> qpI : -1
    [m3video] rateControlParams -> qpMaxI : 45
    [m3video] rateControlParams -> qpMinI : 15
    [m3video] rateControlParams -> qpP : -1
    [m3video] rateControlParams -> qpMaxP : 45
    [m3video] rateControlParams -> qpMinP : 15
    [m3video] rateControlParams -> qpOffsetB : 4
    [m3video] rateControlParams -> qpMaxB : 44
    [m3video] rateControlParams -> qpMinB : 10
    [m3video] rateControlParams -> allowFrameSkip : 0
    [m3video] rateControlParams -> removeExpensiveCoeff : 0
    [m3video] rateControlParams -> chromaQPIndexOffset : 0
    [m3video] rateControlParams -> IPQualityFactor : 0
    [m3video] rateControlParams -> initialBufferLevel : 0
    [m3video] rateControlParams -> HRDBufferSize : 1500000
    [m3video] rateControlParams -> minPicSizeRatioI : 0
    [m3video] rateControlParams -> maxPicSizeRatioI : 0
    [m3video] rateControlParams -> minPicSizeRatioP : 0
    [m3video] rateControlParams -> maxPicSizeRatioP : 0
    [m3video] rateControlParams -> minPicSizeRatioB : 0
    [m3video] rateControlParams -> maxPicSizeRatioB : 0
    [m3video] rateControlParams -> enablePRC : 1
    [m3video] rateControlParams -> enablePartialFrameSkip : 0
    [m3video] rateControlParams -> discardSavedBits : 1
    [m3video] rateControlParams -> VBRDuration : 8
    [m3video] rateControlParams -> VBRsensitivity : 0
    [m3video] rateControlParams -> skipDistributionWindowLength: 5
    [m3video] rateControlParams -> numSkipInDistributionWindow : 1
    [m3video] rateControlParams -> enableHRDComplianceMode : 1
    [m3video] rateControlParams -> frameSkipThMulQ5 : 0
    [m3video] rateControlParams -> vbvUseLevelThQ5 : 0
    [m3video]
    [m3video] interCodingParams-> interCodingPreset : 1
    [m3video] interCodingParams-> searchRangeHorP : 144
    [m3video] interCodingParams-> searchRangeVerP : 32
    [m3video] interCodingParams-> searchRangeHorB : 144
    [m3video] interCodingParams-> searchRangeVerB : 16
    [m3video] interCodingParams-> interCodingBias : 1
    [m3video] interCodingParams-> skipMVCodingBias : 1
    [m3video] interCodingParams-> minBlockSizeP : 0
    [m3video] interCodingParams-> minBlockSizeB : 0
    [m3video] interCodingParams-> meAlgoMode : 1
    [m3video]
    [m3video] intraCodingParams-> intraCodingPreset : 0
    [m3video] intraCodingParams-> lumaIntra4x4Enable : 255
    [m3video] intraCodingParams-> lumaIntra8x8Enable : 0
    [m3video] intraCodingParams-> lumaIntra8x8Enable : 15
    [m3video] intraCodingParams-> chromaIntra8x8Enable : 15
    [m3video] intraCodingParams-> chromaComponentEnable : 1
    [m3video] intraCodingParams-> intraRefreshMethod : 0
    [m3video] intraCodingParams-> intraRefreshRate : 0
    [m3video] intraCodingParams-> gdrOverlapRowsBtwFrames : 0
    [m3video] intraCodingParams-> constrainedIntraPredEnable : 0
    [m3video] intraCodingParams-> constrainedIntraPredEnable : 0
    [m3video]
    [m3video] nalUnitControlParams -> naluControlPreset : 1

    [host] IpcBitsInLink_tskMain:Entered
    [host] 917: IPC_BITS_IN : Create in progress !!!

    [host] 917: IPC_BITS_IN : ListMPOpen start !!!

    [host] 917: SYSTEM: Opening ListMP [VIDEO-M3_IPC_OUT_29] ...
    [m3video] nalUnitControlParams -> naluPresentMaskStartOfSequence : 8608
    [m3video] nalUnitControlParams -> naluPresentMaskIDRPicture : 8672
    [m3video] nalUnitControlParams -> naluPresentMaskIntraPicture : 8450
    [m3video] nalUnitControlParams -> naluPresentMaskNonIntraPicture : 2
    [m3video] nalUnitControlParams -> naluPresentMaskEndOfSequence : 3072
    [m3video]
    [m3video] sliceCodingParams-> sliceCodingPreset : 1
    [m3video] sliceCodingParams-> sliceMode : 2
    [m3video] sliceCodingParams-> sliceUnitSize : 2048
    [m3video] sliceCodingParams-> sliceStartOffset[IH264ENC_MAX_NUM_SLICE_START_OFFSET] : 25 50 100
    [m3video] sliceCodingParams-> streamFormat : 0
    [m3video]
    [m3video] loopFilterParams-> loopfilterPreset : 0
    [m3video] loopFilterParams-> loopfilterDisableIDC : 0
    [m3video] loopFilterParams-> filterOffsetA : 0
    [m3video] loopFilterParams-> filterOffsetB : 0
    [m3video]
    [m3video] fmoCodingParams-> fmoCodingPreset : 0
    [m3video] fmoCodingParams-> numSliceGroups : 1
    [m3video] fmoCodingParams-> liceGroupMapType : 4
    [m3video] fmoCodingParams-> liceGroupChangeDirectionFlag : 0
    [m3video] fmoCodingParams-> liceGroupChangeRate : 0
    [m3video] fmoCodingParams-> sliceGroupChangeCycle : 0
    [m3video] fmoCodingParams-> sliceGroupParams : [0 0]
    [m3video]
    [m3video] vuiCodingParams-> vuiCodingPreset : 1
    [m3video] vuiCodingParams-> aspectRatioInfoPresentFlag : 0
    [m3video] vuiCodingParams-> aspectRatioIdc : 255
    [m3video] vuiCodingParams-> videoSignalTypePresentFlag : 1
    [m3video] vuiCodingParams-> videoFormat : 5
    [m3video] vuiCodingParams-> videoFullRangeFlag : 1
    [m3video] vuiCodingParams-> timingInfoPresentFlag : 1
    [m3video] vuiCodingParams-> hrdParamsPresentFlag : 1
    [m3video] vuiCodingParams-> numUnitsInTicks : 1000
    [m3video]
    [m3video] stereoInfoParams-> stereoInfoPreset : 0
    [m3video] stereoInfoParams-> topFieldIsLeftViewFlag : 1
    [m3video] stereoInfoParams-> viewSelfContainedFlag : 0
    [m3video]
    [m3video] framePackingSEIParams-> framePackingPreset : 0
    [m3video] framePackingSEIParams-> framePackingType : 3
    [m3video] framePackingSEIParams-> frame0PositionX : 0
    [m3video] framePackingSEIParams-> frame0PositionY : 0
    [m3video] framePackingSEIParams-> frame1PositionX : 0
    [m3video] framePackingSEIParams-> frame1PositionY : 0
    [m3video]
    [m3video] svcCodingParams-> svcExtensionFlag : 0
    [m3video] svcCodingParams-> dependencyID : 0
    [m3video] svcCodingParams-> qualityID : 0
    [m3video] svcCodingParams-> enhancementProfileID : 0
    [m3video] svcCodingParams-> layerIndex : 0
    [m3video] svcCodingParams-> refLayerDQId : 0
    [m3video]
    [m3video] interlaceCodingType : 3
    [m3video] bottomFieldIntra : 0
    [m3video] gopStructure : 0
    [m3video] entropyCodingMode : 0
    [m3video] transformBlockSize : 0
    [m3video] log2MaxFNumMinus4 : 10
    [m3video] picOrderCountType : 0
    [m3video] enableWatermark : 0
    [m3video] IDRFrameInterval : 1
    [m3video] maxIntraFrameInterval : 60
    [m3video] debugTraceLevel : 1
    [m3video] lastNFramesToLog : 31
    [m3video] enableAnalyticinfo : 0
    [m3video] enableGMVSei : 0
    [m3video] constraintSetFlags : -128
    [m3video] enableRCDO : 0
    [m3video] enableLongTermRefFrame : 0
    [m3video] LTRPPeriod : 0
    [m3video] searchCenter : 32767
    [m3video] enableStaticMBCount : 0
    [m3video] extMemoryDebugTraceAddr : -1162029952
    [m3video] numTemporalLayer : 1
    [m3video] referencePicMarking: 1

    [host] 919: SYSTEM: Opening ListMP [VIDEO-M3_IPC_IN_29] ...
    [m3video] extMemoryDebugTraceSize : 43008
    [m3video] enableROI : 0
    [m3video]
    [m3video]

  • 你好,

    看起来错误不是encoder codec本身的报的错误。应该是应用软件的问题。由于slice模式在原有代码里面没有支持,需要你们修改相关代码来支持。
  • 工程师你好

    谢谢你的回复,根据你的回复我想请问下

    1.为什么不是codec报错呢,我跟踪代码报错位置是fxns->process函数返回值报错,并没有跑到后面去,根据打印错误0x18400也提示是参数配置有问题,但是不知道是哪个参数没配对,我看一个帖子和我一样的配置就能运行~有点纳闷

    e2echina.ti.com/.../170120

    2.对于你提到的添加代码进行支持,我的理解应该在回调函数dynamicParams->videnc2DynamicParams.putDataFxn中对数据进行处理(但是还没跑到这就卡死了),您有什么建议或者思路么

    谢谢

  • meng工你好,
    我现在把slicemode调整成宏块模式后,能够正常运行了,但是输出还是整帧输出,需要调整成分片输出和接收可以么,如果要改,你有什么好的思路和建议么,