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.

RTOS/TDA2EXEVM: How to issue a IDR slice?

Part Number: TDA2EXEVM

Tool/software: TI-RTOS

Dear Sirs:

  We are using PROCESSOR-SDK VISION 03_03_00_00 with J6E+VISION Board.

  We use the original Encoder setting except set staticParams.IDRFrameInterval = 1 inside EncLinkH264_algCreate before enc_link_h264_create.

[IPU1-0]     12.246080 s: IDRFrameInterval      = [1]
[IPU1-0]     12.246172 s: maxIntraFrameInterval = [2147483640]
[IPU1-0]     12.246233 s: maxInterFrameInterval = [1]
[IPU1-0]     12.246294 s: intraFrameInterval    = [30]
[IPU1-0]     12.246355 s: interFrameInterval    = [1]

  We expect to see a sequence of NALUs as SPS PPS IDR P P P P P P ... SPS PPS IDR P P P P P P P P.... SPD PPS IDR P...

  However it does not happen. Only the 1st Frame send out the SPS PPS IDR and all other NALUs has no IDR.

  We refer to this post:

 and it do output ALL SPS PPS IDR sequence.

  We also try to call the for IDR command in the link (EncLink_codecSetForceIDR), however, the API is not always working and most of the time, it doesn't.

  Now, my question is how we can ask the encoder to output SPS/PPS/IDR every 30 frames.

  The above setting is working in our DM81xx platform with h264enc 02.00.07.01

  If more information is needed please let me know. Please note, we don't need normal I slice we need SPS+PPS+IDR to replace all I slice.

Below information is what we set in DM81xx and it is working. However even we set the same in TDA, it still can not procedure the SPS+PPS+IDR every 30 or 60 frame.

 [m3vpss ] videnc2Params-> encodingPreset              : 3
 [m3vpss ] videnc2Params-> rateControlPreset           : 5
 [m3vpss ] videnc2Params-> maxHeight                   : 720
 [m3vpss ] videnc2Params-> maxWidth                    : 1280
 [m3vpss ] videnc2Params-> dataEndianness              : 1
 [m3vpss ] videnc2Params-> maxInterFrameInterval       : 1
 [m3vpss ] videnc2Params-> maxBitRate                  : 8000000
 [m3vpss ] videnc2Params-> minBitRate                  : 0
 [m3vpss ] videnc2Params-> inputChromaFormat           : 9
 [m3vpss ] videnc2Params-> inputContentType            : 0
 [m3vpss ] videnc2Params-> operatingMode               : 1
 [m3vpss ] videnc2Params-> profile                     : 100
 [m3vpss ] videnc2Params-> level                       : 42
 [m3vpss ] videnc2Params-> inputDataMode               : 3
 [m3vpss ] videnc2Params-> outputDataMode              : 3
 [m3vpss ] rateControlParams -> rateControlParamsPreset    : 1
 [m3vpss ] rateControlParams -> scalingMatrixPreset        : 1
 [m3vpss ] rateControlParams -> rcAlgo                     : 5
 [m3vpss ] rateControlParams -> qpI                        : -1
 [m3vpss ] rateControlParams -> qpMaxI                     : 36
 [m3vpss ] rateControlParams -> qpMinI                     : 10
 [m3vpss ] rateControlParams -> qpP                        : -1
 [m3vpss ] rateControlParams -> qpMaxP                     : 40
 [m3vpss ] rateControlParams -> qpMinP                     : 10
 [m3vpss ] rateControlParams -> qpOffsetB                  : 4
 [m3vpss ] rateControlParams -> qpMaxB                     : 44
 [m3vpss ] rateControlParams -> qpMinB                     : 10
 [m3vpss ] rateControlParams -> allowFrameSkip             : 0
 [m3vpss ] rateControlParams -> removeExpensiveCoeff       : 0
 [m3vpss ] rateControlParams -> chromaQPIndexOffset        : 0
 [m3vpss ] rateControlParams -> IPQualityFactor            : 0
 [m3vpss ] rateControlParams -> initialBufferLevel         : 2500000
 [m3vpss ] rateControlParams -> HRDBufferSize              : 2500000
 [m3vpss ] rateControlParams -> minPicSizeRatioI           : 0
 [m3vpss ] rateControlParams -> maxPicSizeRatioI           : 640
 [m3vpss ] rateControlParams -> minPicSizeRatioP           : 0
 [m3vpss ] rateControlParams -> maxPicSizeRatioP           : 0
 [m3vpss ] rateControlParams -> minPicSizeRatioB           : 0
 [m3vpss ] rateControlParams -> maxPicSizeRatioB           : 0
 [m3vpss ] rateControlParams -> enablePRC                  : 1
 [m3vpss ] rateControlParams -> enablePartialFrameSkip     : 0
 [m3vpss ] rateControlParams -> discardSavedBits           : 0
 [m3vpss ] rateControlParams -> VBRDuration                : 8
 [m3vpss ] rateControlParams -> VBRsensitivity             : 0
 [m3vpss ] rateControlParams -> skipDistributionWindowLength: 5
 [m3vpss ] rateControlParams -> numSkipInDistributionWindow : 1
 [m3vpss ] rateControlParams -> enableHRDComplianceMode    : 1
 [m3vpss ] rateControlParams -> frameSkipThMulQ5           : 0
 [m3vpss ] rateControlParams -> vbvUseLevelThQ5            : 0
 [m3vpss ]  
 [m3vpss ] interCodingParams-> interCodingPreset           : 4
 [m3vpss ] interCodingParams-> searchRangeHorP             : 144
 [m3vpss ] interCodingParams-> searchRangeVerP             : 32
 [m3vpss ] interCodingParams-> searchRangeHorB             : 144
 [m3vpss ] interCodingParams-> searchRangeVerB             : 16
 [m3vpss ] interCodingParams-> interCodingBias             : 1
 [m3vpss ] interCodingParams-> skipMVCodingBias            : 1
 [m3vpss ] interCodingParams-> minBlockSizeP               : 0
 [m3vpss ] interCodingParams-> minBlockSizeB               : 0
 [m3vpss ] interCodingParams-> meAlgoMode                  : 1
 [m3vpss ]  
 [m3vpss ] intraCodingParams-> intraCodingPreset           : 3
 [m3vpss ] intraCodingParams-> lumaIntra4x4Enable          : 0
 [m3vpss ] intraCodingParams-> lumaIntra8x8Enable          : 255
 [m3vpss ] intraCodingParams-> lumaIntra8x8Enable          : 15




 [m3vpss ] intraCodingParams-> intraCodingPreset           : 3
 [m3vpss ] intraCodingParams-> lumaIntra4x4Enable          : 0
 [m3vpss ] intraCodingParams-> lumaIntra8x8Enable          : 255
 [m3vpss ] intraCodingParams-> lumaIntra8x8Enable          : 15
 [m3vpss ] intraCodingParams-> chromaIntra8x8Enable        : 15
 [m3vpss ] intraCodingParams-> chromaComponentEnable       : 1
 [m3vpss ] intraCodingParams-> intraRefreshMethod          : 0
 [m3vpss ] intraCodingParams-> intraRefreshRate            : 0
 [m3vpss ] intraCodingParams-> gdrOverlapRowsBtwFrames     : 0
 [m3vpss ] intraCodingParams-> constrainedIntraPredEnable  : 0
 [m3vpss ] intraCodingParams-> constrainedIntraPredEnable  : 0
 [m3vpss ]  
 [m3vpss ] nalUnitControlParams -> naluControlPreset               : 0
 [m3vpss ] nalUnitControlParams -> naluPresentMaskStartOfSequence  : 416
 [m3vpss ] nalUnitControlParams -> naluPresentMaskIDRPicture       : 416
 [m3vpss ] nalUnitControlParams -> naluPresentMaskIntraPicture     : 2
 [m3vpss ] nalUnitControlParams -> naluPresentMaskNonIntraPicture  : 2
 [m3vpss ] nalUnitControlParams -> naluPresentMaskEndOfSequence    : 3072
 [m3vpss ]  
 [m3vpss ] sliceCodingParams-> sliceCodingPreset           : 0
 [m3vpss ] sliceCodingParams-> sliceMode                   : 0
 [m3vpss ] sliceCodingParams-> sliceUnitSize               : 0
 [m3vpss ] sliceCodingParams-> sliceStartOffset[IH264ENC_MAX_NUM_SLICE_START_OFFSET] : 0 0 0
 [m3vpss ] sliceCodingParams-> streamFormat                        : 0
 [m3vpss ]  
 [m3vpss ] loopFilterParams-> loopfilterPreset             : 0
 [m3vpss ] loopFilterParams-> loopfilterDisableIDC         : 0
 [m3vpss ] loopFilterParams-> filterOffsetA                : 0
 [m3vpss ] loopFilterParams-> filterOffsetB                : 0
 [m3vpss ]  
 [m3vpss ] fmoCodingParams-> fmoCodingPreset               : 0
 [m3vpss ] fmoCodingParams-> numSliceGroups                : 1
 [m3vpss ] fmoCodingParams-> liceGroupMapType              : 4
 [m3vpss ] fmoCodingParams-> liceGroupChangeDirectionFlag  : 0
 [m3vpss ] fmoCodingParams-> liceGroupChangeRate           : 0
 [m3vpss ] fmoCodingParams-> sliceGroupChangeCycle         : 0
 [m3vpss ] fmoCodingParams-> sliceGroupParams              : [0 0]
 [m3vpss ]  
 [m3vpss ] vuiCodingParams-> vuiCodingPreset               : 1
 [m3vpss ] vuiCodingParams-> aspectRatioInfoPresentFlag    : 0
 [m3vpss ] vuiCodingParams-> aspectRatioIdc                : 255
 [m3vpss ] vuiCodingParams-> videoSignalTypePresentFlag    : 1
 [m3vpss ] vuiCodingParams-> videoFormat                   : 5
 [m3vpss ] vuiCodingParams-> videoFullRangeFlag            : 1
 [m3vpss ] vuiCodingParams-> timingInfoPresentFlag         : 1
 [m3vpss ] vuiCodingParams-> hrdParamsPresentFlag          : 1
 [m3vpss ] vuiCodingParams-> numUnitsInTicks               : 1000
 [m3vpss ]  
 [m3vpss ] stereoInfoParams-> stereoInfoPreset             : 0
 [m3vpss ] stereoInfoParams-> topFieldIsLeftViewFlag       : 1
 [m3vpss ] stereoInfoParams-> viewSelfContainedFlag        : 0
 [m3vpss ]  
 [m3vpss ] framePackingSEIParams-> framePackingPreset      : 0
 [m3vpss ] framePackingSEIParams-> framePackingType        : 3
 [m3vpss ] framePackingSEIParams-> frame0PositionX         : 0
 [m3vpss ] framePackingSEIParams-> frame0PositionY         : 0
 [m3vpss ] framePackingSEIParams-> frame1PositionX         : 0
 [m3vpss ] framePackingSEIParams-> frame1PositionY         : 0
 [m3vpss ]  
 [m3vpss ] svcCodingParams-> svcExtensionFlag              : 0
 [m3vpss ] svcCodingParams-> dependencyID                  : 0
 [m3vpss ] svcCodingParams-> qualityID                     : 0
 [m3vpss ] svcCodingParams-> enhancementProfileID          : 0
 [m3vpss ] svcCodingParams-> layerIndex                    : 0
 [m3vpss ] svcCodingParams-> refLayerDQId                  : 0

 [m3vpss ]  
 [m3vpss ] IH264ENC_Params-> interlaceCodingType       : 3
 [m3vpss ] IH264ENC_Params-> bottomFieldIntra          : 0
 [m3vpss ] IH264ENC_Params-> gopStructure              : 0
 [m3vpss ] IH264ENC_Params-> entropyCodingMode         : 1
 [m3vpss ] IH264ENC_Params-> transformBlockSize        : 1
 [m3vpss ] IH264ENC_Params-> log2MaxFNumMinus4         : 10
 [m3vpss ] IH264ENC_Params-> picOrderCountType         : 0
 [m3vpss ] IH264ENC_Params-> enableWatermark           : 0
 [m3vpss ] IH264ENC_Params-> IDRFrameInterval          : 1
 [m3vpss ] IH264ENC_Params-> pConstantMemory           : 0
 [m3vpss ] IH264ENC_Params-> maxIntraFrameInterval     : 60
 [m3vpss ] IH264ENC_Params-> debugTraceLevel           : 1
 [m3vpss ] IH264ENC_Params-> lastNFramesToLog          : 31
 [m3vpss ] IH264ENC_Params-> enableAnalyticinfo        : 0
 [m3vpss ] IH264ENC_Params-> enableGMVSei              : 0
 [m3vpss ] IH264ENC_Params-> constraintSetFlags        : 0
 [m3vpss ] IH264ENC_Params-> enableRCDO                : 0
 [m3vpss ] IH264ENC_Params-> enableLongTermRefFrame    : 0
 [m3vpss ] IH264ENC_Params-> LTRPPeriod                : 0
 [m3vpss ] IH264ENC_Params-> numTemporalLayer          : 1
 [m3vpss ] IH264ENC_Params-> referencePicMarking       : 1

 [m3vpss ] rateControlParams -> rateControlParamsPreset    : 1


 [m3vpss ] rateControlParams -> scalingMatrixPreset        : 1
 [m3vpss ] rateControlParams -> rcAlgo                     : 1
 [m3vpss ] rateControlParams -> qpI                        : 18
 [m3vpss ] rateControlParams -> qpMaxI                     : 40
 [m3vpss ] rateControlParams -> qpMinI                     : 6
 [m3vpss ] rateControlParams -> qpP                        : 18
 [m3vpss ] rateControlParams -> qpMaxP                     : 40
 [m3vpss ] rateControlParams -> qpMinP                     : 6
 [m3vpss ] rateControlParams -> qpOffsetB                  : 4
 [m3vpss ] rateControlParams -> qpMaxB                     : 44
 [m3vpss ] rateControlParams -> qpMinB                     : 10
 [m3vpss ] rateControlParams -> allowFrameSkip             : 0
 [m3vpss ] rateControlParams -> removeExpensiveCoeff       : 0
 [m3vpss ] rateControlParams -> chromaQPIndexOffset        : 0
 [m3vpss ] rateControlParams -> IPQualityFactor            : 0
 [m3vpss ] rateControlParams -> initialBufferLevel         : 750000
 [m3vpss ] rateControlParams -> HRDBufferSize              : 750000
 [m3vpss ] rateControlParams -> minPicSizeRatioI           : 0
 [m3vpss ] rateControlParams -> maxPicSizeRatioI           : 640
 [m3vpss ] rateControlParams -> minPicSizeRatioP           : 0
 [m3vpss ] rateControlParams -> maxPicSizeRatioP           : 0
 [m3vpss ] rateControlParams -> minPicSizeRatioB           : 0
 [m3vpss ] rateControlParams -> maxPicSizeRatioB           : 0
 [m3vpss ] rateControlParams -> enablePRC                  : 1
 [m3vpss ] rateControlParams -> enablePartialFrameSkip     : 0
 [m3vpss ] rateControlParams -> discardSavedBits           : 1
 [m3vpss ] rateControlParams -> VBRDuration                : 0
 [m3vpss ] rateControlParams -> VBRsensitivity             : 0
 [m3vpss ] rateControlParams -> skipDistributionWindowLength: 5
 [m3vpss ] rateControlParams -> numSkipInDistributionWindow : 1
 [m3vpss ] rateControlParams -> enableHRDComplianceMode    : 1
 [m3vpss ] rateControlParams -> frameSkipThMulQ5           : 0
 [m3vpss ] rateControlParams -> vbvUseLevelThQ5            : 0
 [m3vpss ]  

Regards,

/ckhsu