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.

codec error when change vbr to cbr in interlace encoding mode

Dear Experts,

Environment: DM8148/DVR_RDK 3.5/REL. 500.V.H264AVC.E.IVAHD.02.00.04.01.

Input Signal: SDI 1920x1080 59.94i.
Encoded Output Format: H.264 Interlace encoding - 1920x1080 59.94i.

We try to encoded 1920x1080 59.94i signal by interlace encoding using DM8148.
But when we change rcAlg from 'vbr' to 'cbr' mode, there is codec error as below.
If encoded output format is progressive, there is no codec error.
Plz help ~

------Encoder is running, change vbr to cbr mode-----------------
 Channel Selected: 1[71020.137] [m3video] 70943996:!ERROR!:ENCLINK::links_m3video/iva_enc/encLink_h264.c:[240]::INTERNAL ERROR:-1
[71020.137] [m3video] ALGCONTROL FAILED:CMD:1
[71020.137] [m3video] ERROR: XDM_UNSUPPORTEDPARAM = 14,
[71020.137] [m3video] ERROR: XDM_FATALERROR = 15
[71020.137] [m3video] ERROR: IH264ENC_UNSUPPORTED_RATECONTROLPARAMS = 21,
[71020.147] [m3video] 70943997:WARN
[71020.147] [m3video]  ENCLINK: ERROR in Run time parameters changes, Extended Error code:2146304
[71020.157] [m3video] 70943997:!ERROR!:ENCLINK::links_m3video/iva_enc/encLink_h264.c:[470]::INTERNAL ERROR:-1
[71020.158] [m3video] ALGPROCESS FAILED
[71020.158] [m3video] Number of Entries in Process List : 1
[71020.158] [m3video] Extended error for entry 0 : 0x20c000
[71020.168] [m3video] 70943997:WARN
[71020.168] [m3video] ENCLINK:ERROR in Enclink_h264EncodeFrameBatch.Status[-1] for IVAHD_0
[71020.168] [m3video] 70943997:WARN
[71020.168] [m3video] ENC : IVAHDID : 0 ENCLINK:ERROR in EncLink_SubmitBatch.Status[-1]
[71020.168] [m3video] BufCtrl_getRingBufMem 4171360 37748736 4171360 4156288 bafd2ee0
[71020.178] [m3video] 70944012:!ERROR!:ENCLINK::links_m3video/iva_enc/encLink_h264.c:[470]::INTERNAL ERROR:-1
[71020.178] [m3video] ALGPROCESS FAILED
[71020.178] [m3video] Number of Entries in Process List : 1
[71020.178] [m3video] Extended error for entry 0 : 0x20c000
[71020.189] [m3video] 70944012:WARN
[71020.189] [m3video] ENCLINK:ERROR in Enclink_h264EncodeFrameBatch.Status[-1] for IVAHD_0
[71020.189] [m3video] 70944013:WARN
[71020.189] [m3video] ENC : IVAHDID : 0 ENCLINK:ERROR in EncLink_SubmitBatch.Status[-1]
[71020.189] [m3video] BufCtrl_getRingBufMem 4171360 37748736 4171360 4171360 bafd2ee0
[71020.199] [m3video] 70944028:!ERROR!:ENCLINK::links_m3video/iva_enc/encLink_h264.c:[470]::INTERNAL ERROR:-1
[71020.199] [m3video] ALGPROCESS FAILED
[71020.199] [m3video] Number of Entries in Process List : 1
[71020.199] [m3video] Extended error for entry 0 : 0x20c000
[71020.209] [m3video] 70944029:WARN
[71020.209] [m3video] ENCLINK:ERROR in Enclink_h264EncodeFrameBatch.Status[-1] for IVAHD_0
[71020.209] [m3video] 70944029:WARN
......repeat.........
[  144.746] [m3video] ENCLINK:ERROR in Enclink_h264EncodeFrameBatch.Status[-1] for IVAHD_0
[  144.746] [m3video] 88573:WARN
[  144.746] [m3video] ENC : IVAHDID : 0 ENCLINK:ERROR in EncLink_SubmitBatch.Status[-1]
[  144.746] [m3video] BufCtrl_getRingBufMem 2526432 37748736 2526432 2526432 bae41560
[  144.746] [m3video] Unhandled Exception:
[  144.746] [m3video] Exception occurred in ThreadType_Task
[  144.746] [m3video] handle: 0x3993435c.
[  144.746] [m3video] stack base: 0x39f1f000.
[  144.746] [m3video] stack size: 0x2000.
[  144.746] [m3video] R0 = 0x3920ae00  R8  = 0x00000000
[  144.746] [m3video] R1 = 0x3920da80  R9  = 0x3920ae00
[  144.746] [m3video] R2 = 0x3920bcd8  R10 = 0x3920d280
[  144.746] [m3video] R3 = 0x39f20a80  R11 = 0x3920ae00
[  144.747] [m3video] R4 = 0x00000001  R12 = 0x00000000
[  144.747] [m3video] R5 = 0x9813bcc0  SP(R13) = 0x39f20a70
[  144.747] [m3video] R6 = 0x3920da80  LR(R14) = 0x98335509
[  144.747] [m3video] R7 = 0xb5da6280  PC(R15) = 0x9813bcc0
[  144.747] [m3video] PSR = 0x60000000
[  144.747] [m3video] ICSR = 0x0440f803
[  144.747] [m3video] MMFSR = 0x00
[  144.747] [m3video] BFSR = 0x00
[  144.747] [m3video] UFSR = 0x0002
[  144.747] [m3video] HFSR = 0x40000000
[  144.747] [m3video] DFSR = 0x00000000
[  144.747] [m3video] MMAR = 0xe000ed34
[  144.747] [m3video] BFAR = 0xe000ed38
[  144.747] [m3video] AFSR = 0x00000000
[  144.747] [m3video] Terminating Execution...
------------------------------------------



Here is the codec parameter before set to 'cbr' mode.
------------------------------------------
#
[   71.440] [m3video]
[   71.440] [m3video] --------- CH 1 : H264 ENC : Dynamic Params -------
[   71.440] [m3video]
[   71.440] [m3video] videnc2DynamicParams -> inputHeight             : 540
[   71.440] [m3video] videnc2DynamicParams -> inputWidth              : 1920
[   71.440] [m3video] videnc2DynamicParams -> refFrameRate            : 30000
[   71.440] [m3video] videnc2DynamicParams -> targetFrameRate         : 30000
[   71.440] [m3video] videnc2DynamicParams -> targetBitRate           : 9000000
[   71.440] [m3video] videnc2DynamicParams -> intraFrameInterval      : 8
[   71.440] [m3video] videnc2DynamicParams -> generateHeader          : 0
[   71.440] [m3video] videnc2DynamicParams -> captureWidth            : 1920
[   71.440] [m3video] videnc2DynamicParams -> forceFrame              : -1
[   71.440] [m3video] videnc2DynamicParams -> interFrameInterval      : 1
[   71.440] [m3video] videnc2DynamicParams -> mvAccuracy              : 2
[   71.440] [m3video] videnc2DynamicParams -> sampleAspectRatioHeight : 1
[   71.440] [m3video] videnc2DynamicParams -> sampleAspectRatioWidth  : 1
[   71.440] [m3video] videnc2DynamicParams -> ignoreOutbufSizeFlag    : 1
[   71.440] [m3video] videnc2DynamicParams -> lateAcquireArg          : -1
[   71.440] [m3video]
[   71.441] [m3video] rateControlParams -> rateControlParamsPreset        : 1
[   71.441] [m3video] rateControlParams -> scalingMatrixPreset            : 0
[   71.441] [m3video] rateControlParams -> rcAlgo                         : 0
[   71.441] [m3video] rateControlParams -> qpI                            : -1
[   71.441] [m3video] rateControlParams -> qpMaxI                         : 40
[   71.441] [m3video] rateControlParams -> qpMinI                         : 10
[   71.441] [m3video] rateControlParams -> qpP                            : -1
[   71.441] [m3video] rateControlParams -> qpMaxP                         : 40
[   71.441] [m3video] rateControlParams -> qpMinP                         : 10
[   71.441] [m3video] rateControlParams -> qpOffsetB                      : 4
[   71.441] [m3video] rateControlParams -> qpMaxB                         : 44
[   71.441] [m3video] rateControlParams -> qpMinB                         : 10
[   71.441] [m3video] rateControlParams -> allowFrameSkip                 : 1
[   71.441] [m3video] rateControlParams -> removeExpensiveCoeff           : 0
[   71.441] [m3video] rateControlParams -> chromaQPIndexOffset            : 0
[   71.441] [m3video] rateControlParams -> IPQualityFactor                : 0
[   71.441] [m3video] rateControlParams -> initialBufferLevel             : 18000000
[   71.441] [m3video] rateControlParams -> HRDBufferSize                  : 18000000
[   71.441] [m3video] rateControlParams -> minPicSizeRatioI               : 0
[   71.441] [m3video] rateControlParams -> maxPicSizeRatioI               : 640
[   71.441] [m3video] rateControlParams -> minPicSizeRatioP               : 0
[   71.452] [m3video] rateControlParams -> maxPicSizeRatioP               : 0
[   71.453] [m3video] rateControlParams -> minPicSizeRatioB               : 0
[   71.453] [m3video] rateControlParams -> maxPicSizeRatioB               : 0
[   71.453] [m3video] rateControlParams -> enablePRC                      : 1
[   71.453] [m3video] rateControlParams -> enablePartialFrameSkip         : 1
[   71.453] [m3video] rateControlParams -> discardSavedBits               : 1
[   71.453] [m3video] rateControlParams -> VBRDuration                    : 8
[   71.453] [m3video] rateControlParams -> VBRsensitivity                 : 0
[   71.453] [m3video] rateControlParams -> skipDistributionWindowLength   : 5
[   71.453] [m3video] rateControlParams -> numSkipInDistributionWindow    : 2
[   71.453] [m3video] rateControlParams -> enableHRDComplianceMode        : 1
[   71.454] [m3video] rateControlParams -> frameSkipThMulQ5               : 0
[   71.454] [m3video] rateControlParams -> vbvUseLevelThQ5                : 0
[   71.454] [m3video]
[   71.454] [m3video] interCodingParams -> interCodingPreset  : 0
[   71.454] [m3video] interCodingParams -> searchRangeHorP    : 144
[   71.454] [m3video] interCodingParams -> searchRangeVerP    : 32
[   71.454] [m3video] interCodingParams -> searchRangeHorB    : 144
[   71.791] [m3video] interCodingParams -> searchRangeVerB    : 16
[   71.791] [m3video] interCodingParams -> interCodingBias    : 1
[   71.791] [m3video] interCodingParams -> skipMVCodingBias   : 1
[   71.791] [m3video] interCodingParams -> minBlockSizeP      : 0
[   71.791] [m3video] interCodingParams -> minBlockSizeB      : 0
[   71.791] [m3video] interCodingParams -> meAlgoMode         : 0
[   71.791] [m3video]
[   71.791] [m3video] intraCodingParams -> intraCodingPreset          : 0
[   71.791] [m3video] intraCodingParams -> lumaIntra4x4Enable         : 255
[   71.791] [m3video] intraCodingParams -> lumaIntra8x8Enable         : 0
[   71.791] [m3video] intraCodingParams -> lumaIntra16x16Enable       : 15
[   71.792] [m3video] intraCodingParams -> chromaIntra8x8Enable       : 15
[   71.792] [m3video] intraCodingParams -> chromaComponentEnable      : 1
[   71.792] [m3video] intraCodingParams -> intraRefreshMethod         : 0
[   71.792] [m3video] intraCodingParams -> intraRefreshRate           : 0
[   71.792] [m3video] intraCodingParams -> gdrOverlapRowsBtwFrames    : 0
[   71.792] [m3video] intraCodingParams -> constrainedIntraPredEnable : 0
[   71.792] [m3video] intraCodingParams -> intraCodingBias            : 0
[   71.792] [m3video]
[   71.792] [m3video] sliceCodingParams -> sliceCodingPreset  : 1
[   71.792] [m3video] sliceCodingParams -> sliceMode          : 9120
[   71.792] [m3video] sliceCodingParams -> sliceUnitSize      : 9184
[   71.792] [m3video] sliceCodingParams -> sliceStartOffset   : [2 35 66]
[   71.792] [m3video] sliceCodingParams -> streamFormat       : 2
[   71.792] [m3video]
[   71.792] [m3video] sliceGroupChangeCycle           : 3072
[   71.792] [m3video] searchCenter                    : 0
[   71.792] [m3video] enableStaticMBCount             : 0
[   71.792] [m3video] enableROI                       : 262400
[   71.792] [m3video]
[   71.792] [m3video]
[   71.792] [m3video]
[   71.792] [m3video] --------- H264 ENC : Static Params -------
[   71.792] [m3video]
[   71.792] [m3video] videnc2Params -> encodingPreset                : 3
[   71.793] [m3video] videnc2Params -> rateControlPreset             : 5
[   71.793] [m3video] videnc2Params -> maxHeight                     : 540
[   71.793] [m3video] videnc2Params -> maxWidth                      : 1920
[   71.793] [m3video] videnc2Params -> maxInterFrameInterval         : 1
[   71.793] [m3video] videnc2Params -> maxBitRate                    : 9000000
[   71.793] [m3video] videnc2Params -> minBitRate                    : 0
[   71.793] [m3video] videnc2Params -> inputChromaFormat             : 9
[   71.793] [m3video] videnc2Params -> inputContentType              : 1
[   71.793] [m3video] videnc2Params -> operatingMode                 : 1
[   71.793] [m3video] videnc2Params -> profile                       : 77
[   71.793] [m3video] videnc2Params -> level                         : 40
[   71.793] [m3video] videnc2Params -> inputDataMode                 : 3
[   71.793] [m3video] videnc2Params -> outputDataMode                : 3
[   71.793] [m3video] videnc2Params -> numInputDataUnits             : 1
[   71.793] [m3video] videnc2Params -> numOutputDataUnits            : 1
[   71.793] [m3video] videnc2Params -> metadataType                  : 965422524
[   71.793] [m3video] videnc2Params -> fmoCodingParams.fmoCodingPreset : 0
[   71.793] [m3video] videnc2Params->interlaceCodingType              : 3
[   71.793] [m3video] videnc2Params->bottomFieldIntra                : 0
[   71.793] [m3video] videnc2Params->gopStructure                   : 0
[   71.793] [m3video] videnc2Params->entropyCodingMode             : 1
[   71.793] [m3video] videnc2Params->transformBlockSize                 : 0
[   71.794] [m3video] videnc2Params->log2MaxFNumMinus4                 : 10
[   72.130] [m3video] videnc2Params->picOrderCountType                  : 0
[   72.130] [m3video] videnc2Params->enableWatermark                   : 0
[   72.130] [m3video] videnc2Params->IDRFrameInterval                   : 1
[   72.130] [m3video] videnc2Params->pConstantMemory                   : 0
[   72.130] [m3video] videnc2Params->maxIntraFrameInterval                  : 2147483640
[   72.130] [m3video] videnc2Params->debugTraceLevel                       : 0
[   72.130] [m3video] videnc2Params->lastNFramesToLog                     : 0
[   72.130] [m3video] videnc2Params->enableAnalyticinfo                  : 0
[   72.130] [m3video] videnc2Params->enableGMVSei                         : 0
[   72.130] [m3video] videnc2Params->constraintSetFlags                  : 0
[   72.130] [m3video] videnc2Params->enableRCDO                            : 0
[   72.130] [m3video] videnc2Params->enableLongTermRefFrame               : 0
[   72.130] [m3video] videnc2Params->LTRPPeriod                              : 0
[   72.130] [m3video] videnc2Params->numTemporalLayer                       : 1
[   72.130] [m3video] videnc2Params->referencePicMarking                         : 1
[   72.130] [m3video] videnc2Params->nalUnitControlParams.naluControlPreset     :1
[   72.130] [m3video] videnc2Params->nalUnitControlParams.naluPresentMaskEndOfSequence  :3072
[   72.130] [m3video] videnc2Params->nalUnitControlParams.naluPresentMaskIDRPicture     :9184
[   72.131] [m3video] videnc2Params->nalUnitControlParams.naluPresentMaskIntraPicture   :8962
[   72.131] [m3video] videnc2Params->nalUnitControlParams.naluPresentMaskNonIntraPicture        :578
[   72.131] [m3video] videnc2Params->nalUnitControlParams.naluPresentMaskStartOfSequence        :9120
[   72.131] [m3video] videnc2Params->vuiCodingParams.vuiCodingPreset                            :1
[   72.131] [m3video] videnc2Params->vuiCodingParams.hrdParamsPresentFlag               :0
[   72.131] [m3video] videnc2Params->vuiCodingParams.timingInfoPresentFlag              :0
------------------------------------------

thx ~

HB

  • Hello,

    I would recommended you to check the h264 enc user guide.

    Notice:

    IVIDEO_RateControlPreset should be set to IVIDEO_LOW_DELAY for CBR but

    "For low delay rate control options maxInterFrameInterval can not be more than 1 and contentType can not be IVIDEO_INTERLACED"

    You should check for your h264enc version.


    Best Regards,

    Margarita