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.

Questions on H.265 Encoding parameters ( especially fixed QP and CBR option)

I have a few questions on H.265 encoder

1>

 I have xxx.yuv.

I wan to run it 3 times with QP 28,32,36. What value of static_param2 should be?

and QP parameters to control  are these?  

static_param23  = -1                          # RCParams ::qpI      

static_param26  = 28                          # RCParams ::qpP
static_param29  = 4                       # RCParams ::QpOffsetB

2> If I want to run it in CBR mode then would these setting enough?

RC param preset =  5
dynamic_param23  =1                           # RCParams ::rcAlgo, 0 : VBR, 1: CBR

dynamic_param5   = 3000000                      # IVIDENC2_DynamicParams :: targetBitRate

 3> It seems like encoder doesn't use more than 4 DSPs (32 cores).

Is this what it is supposed to be?

Thanks

  • Hi Kim,

    1) for fixed QP you need to set as below

    static_param2 = 4

    static_param23 = 28,32,36

    static_param26 = 28,32,36

    static_param29  = 0 for 28, 4 for 32

    2) for CBR mode :

    static_param2  = 5

    static_param21  = 1

    static_param22  = 1(0 -> VBR)

    codec  supports more than 4chips(32 cores), please let us know details of configuration file if you have test it... 

    Regards

    Rama

  • Hi Jaewoo, the drop that you are using (MCSDK video drop38), uses 3 DSP for encoding 1080p30, please let us know resolution, fps, and type of configuration (LD, IBBP, RA..)  you want to test so we can guide you on # of DSP to use for real time.

    thank you,

    Paula

     

  • Rama,

    Thank you for quick reply.  We ran fixed QP test with 1280x720 but it hangs after a few frames.

    This is configuration.


    #StaticParams - IVIDENC2_Params
    static_param0   = 820                     # IVIDEND2_Params :: size                                             
    static_param1   = 3                      # IVIDEND2_Params :: encodingPreset                            
    static_param2   = 4                      # IVIDEND2_Params :: rateControlPreset                                
    static_param3   = 720                      # IVIDEND2_Params :: MaxHeight                                        
    static_param4   = 1280                      # IVIDEND2_Params :: MaxWidth                                         
    static_param5   = 1                      # IVIDEND2_Params :: dataEndianness                                   
    static_param6   = 8                      # IVIDEND2_Params :: MaxInterFrameInterval                      
    static_param7   = 20000000                      # IVIDEND2_Params :: maxBitRate                                       
    static_param8   = 2000000                      # IVIDEND2_Params :: minBitRate                                       
    static_param9   = 1                      # IVIDEND2_Params :: InputChromaFormat                                
    static_param10  = 0                      # IVIDEND2_Params :: InputContentType                                 
    static_param11  = 1                      # IVIDEND2_Params :: operatingMode: IVIDEO_ENCODE_ONLY = 1            
    static_param12  = 1                      # IVIDEND2_Params :: profile                                          
    static_param13  = 41                      # IVIDEND2_Params :: level                                            
    static_param14  = 3                      # IVIDEND2_Params :: InputDataMode: IVIDEO_ENTIREFRAME = 3            
    static_param15  = 3                      # IVIDEND2_Params :: OutputDataMode: IVIDEO_ENTIREFRAME = 3           
    static_param16  = 1                      # IVIDEND2_Params :: numInputDataUnits                         
    static_param17  = 1                      # IVIDEND2_Params :: numOutputDataUnits                               
    static_param18  = -1                      # IVIDEND2_Params :: metadataType0: IVIDEO_METADATAPLANE_NONE = -1    
    static_param19  = -1                      # IVIDEND2_Params :: metadataType1: IVIDEO_METADATAPLANE_NONE = -1    
    static_param20  = -1                      # IVIDEND2_Params :: metadataType2: IVIDEO_METADATAPLANE_NONE = -1                      

    #StaticParams - IH265VENC_RateControlParams
    static_param21  = 1                      # RCParams ::rateControlParamsPreset
    static_param22  = 0                          # RCParams ::rcAlgo                  
    static_param23  = 28                          # RCParams ::qpI                     
    static_param24  = 51                          # RCParams ::qpMaxI                  
    static_param25  = 12                          # RCParams ::qpMinI                  
    static_param26  = 30                          # RCParams ::qpP                     
    static_param27  = 51                          # RCParams ::qpMaxP                  
    static_param28  = 12                          # RCParams ::qpMinP                  
    static_param29  = 2                       # RCParams ::QpOffsetB               
    static_param30  = 51                          # RCParams ::qpMaxB                  
    static_param31  = 12                          # RCParams ::qpMinB                  
    static_param32  = 0                          # RCParams ::enableFrameSkip         
    static_param33  = 0                          # RCParams ::enablePartialFrameSkip  
    static_param34  = 0                          # RCParams ::qualityFactorIP         
    static_param35  = 2                          # RCParams ::cbQPIndexOffset         
    static_param36  = 2                          # RCParams ::crQPIndexOffset         
    static_param37  = 4000000                          # RCParams ::initialBufferLevel      
    static_param38  = 4000000                          # RCParams ::hrdBufferSize           
    static_param39  = 0                          # RCParams ::enableHRDComplianceMode
    static_param40  = 0                          # RCParams ::maxFrameSkipCnt         
    static_param41  = 1                          # RCParams ::SubFrameRC           
    static_param42  = 0                          # RCParams ::maxDeltaQP              
    static_param43  = 0                          # RCParams ::enablePRC               
    static_param44  = 0                           # RCParams ::reserved0               
    static_param45  = 0                           # RCParams ::reserved1               
    static_param46  = 0                           # RCParams ::reserved2               

    #StaticParams - IH265VENC_LoopFilterParams
    static_param47  = 1                      # LoopFilterParams :: loopFilterParamsPreset
    static_param48  = 1                      # LoopFilterParams :: enableDeblockFilter  
    static_param49  = 1                      # LoopFilterParams :: enableSaoFilter  
    static_param50  = 0                      # LoopFilterParams :: enableLoopFilterSliceBoundary  
    static_param51  = 0                      # LoopFilterParams :: enableLoopFilterTileBoundary  
    static_param52  = 0                      # LoopFilterParams :: separateCbCrSAO  
    static_param53  = 0                      # LoopFilterParams :: offsetLoopFilterInPPSFlag  
    static_param54  = 0                      # LoopFilterParams :: offsetDeblockBetaDiv2  
    static_param55  = 0                      # LoopFilterParams :: offsetDeblockTcDiv2                      

    #StaticParams - IH265VENC_GopCntrlParams
    static_param56  = 1                      # GopCntrlParams :: gopCntrlParamsPreset, 0 - Default Layer 1
                         # 1 : User defined , below parameters will be used,  
                         # 2 : Deafult layer 2, gop size 2 and IPP sequence        
                         # 3 : Deafult layer 3, gop size 4 and IPP sequence        
                         # 4 : Deafult layer 4, gop size 8 and IPP sequence        
                         # 5 : Deafult layer 2, gop size 2 and IBP sequence        
                         # 6 : Deafult layer 4, gop size 4 and IBBBP sequence      
                         # 7 : Deafult layer 8, gop size 8 and IBBBBBBBP sequence  
    static_param57  = 80                      # gopFrameType[8]; GOPFrameType = {I-73, P-80, B-66 }     #static_param[57] to static_param[64]
    static_param58  = 66                      # gopFrameType[8]; GOPFrameType = {I-73, P-80, B-66 }     #static_param[57] to static_param[64]
    static_param59  = 66                      # gopFrameType[8]; GOPFrameType = {I-73, P-80, B-66 }     #static_param[57] to static_param[64]
    static_param60  = 66                      # gopFrameType[8]; GOPFrameType = {I-73, P-80, B-66 }     #static_param[57] to static_param[64]
    static_param61  = 66                      # gopFrameType[8]; GOPFrameType = {I-73, P-80, B-66 }     #static_param[57] to static_param[64]
    static_param62  = 66                      # gopFrameType[8]; GOPFrameType = {I-73, P-80, B-66 }     #static_param[57] to static_param[64]
    static_param63  = 66                      # gopFrameType[8]; GOPFrameType = {I-73, P-80, B-66 }     #static_param[57] to static_param[64]
    static_param64  = 66                      # gopFrameType[8]; GOPFrameType = {I-73, P-80, B-66 }     #static_param[57] to static_param[64]
    static_param65 = 0                      # gopQPOffset[8];         #static_param[65] to static_param[72]
    static_param66 = 0                      # gopQPOffset[8];         #static_param[65] to static_param[72]
    static_param67 = 0                      # gopQPOffset[8];         #static_param[65] to static_param[72]
    static_param68 = 0                      # gopQPOffset[8];         #static_param[65] to static_param[72]
    static_param69 = 0                      # gopQPOffset[8];         #static_param[65] to static_param[72]
    static_param70 = 0                      # gopQPOffset[8];         #static_param[65] to static_param[72]
    static_param71 = 0                      # gopQPOffset[8];         #static_param[65] to static_param[72]
    static_param72 = 0                      # gopQPOffset[8];         #static_param[65] to static_param[72]
    static_param73 = 1                      # gopNumRefFrames[8]; #static_param[73] to static_param[80]
    static_param74 = 2                      # gopNumRefFrames[8]; #static_param[73] to static_param[80]
    static_param75 = 3                      # gopNumRefFrames[8]; #static_param[73] to static_param[80]
    static_param76 = 4                      # gopNumRefFrames[8]; #static_param[73] to static_param[80]
    static_param77 = 3                      # gopNumRefFrames[8]; #static_param[73] to static_param[80]
    static_param78 = 2                      # gopNumRefFrames[8]; #static_param[73] to static_param[80]
    static_param79 = 3                      # gopNumRefFrames[8]; #static_param[73] to static_param[80]
    static_param80 = 2                      # gopNumRefFrames[8]; #static_param[73] to static_param[80]
    static_param81 = -8                      # gopRefFrames/GOPRefIdx[8][4];    #static_param[81] to static_param[112]
    static_param85 = -4                      # gopRefFrames/GOPRefIdx[8][4];    #static_param[81] to static_param[112]
    static_param86 = +4                      # gopRefFrames/GOPRefIdx[8][4];    #static_param[81] to static_param[112]
    static_param89 = -2                      # gopRefFrames/GOPRefIdx[8][4];    #static_param[81] to static_param[112]
    static_param90 = +2                      # gopRefFrames/GOPRefIdx[8][4];    #static_param[81] to static_param[112]
    static_param91 = +6                      # gopRefFrames/GOPRefIdx[8][4];    #static_param[81] to static_param[112]
    static_param93 = -1                      # gopRefFrames/GOPRefIdx[8][4];    #static_param[81] to static_param[112]
    static_param94 = +1                      # gopRefFrames/GOPRefIdx[8][4];    #static_param[81] to static_param[112]
    static_param95 = +3                      # gopRefFrames/GOPRefIdx[8][4];    #static_param[81] to static_param[112]
    static_param96 = +7                      # gopRefFrames/GOPRefIdx[8][4];    #static_param[81] to static_param[112]
    static_param97 = -1                      # gopRefFrames/GOPRefIdx[8][4];    #static_param[81] to static_param[112]
    static_param98 = +1                      # gopRefFrames/GOPRefIdx[8][4];    #static_param[81] to static_param[112]
    static_param99 = +5                      # gopRefFrames/GOPRefIdx[8][4];    #static_param[81] to static_param[112]
    static_param101 = -2                      # gopRefFrames/GOPRefIdx[8][4];    #static_param[81] to static_param[112]
    static_param102 = +2                      # gopRefFrames/GOPRefIdx[8][4];    #static_param[81] to static_param[112]
    static_param105 = -1                      # gopRefFrames/GOPRefIdx[8][4];    #static_param[81] to static_param[112]
    static_param106 = +1                      # gopRefFrames/GOPRefIdx[8][4];    #static_param[81] to static_param[112]
    static_param107 = +3                      # gopRefFrames/GOPRefIdx[8][4];    #static_param[81] to static_param[112]
    static_param109 = -1                      # gopRefFrames/GOPRefIdx[8][4];    #static_param[81] to static_param[112]
    static_param110 = +1                      # gopRefFrames/GOPRefIdx[8][4];    #static_param[81] to static_param[112]
    static_param113 = 8                      # gopPocNo[8];                     #static_param[113] to static_param[120]
    static_param114 = 4                      # gopPocNo[8];                     #static_param[113] to static_param[120]
    static_param115 = 2                      # gopPocNo[8];                     #static_param[113] to static_param[120]
    static_param116 = 1                      # gopPocNo[8];                     #static_param[113] to static_param[120]
    static_param117 = 3                      # gopPocNo[8];                     #static_param[113] to static_param[120]
    static_param118 = 6                      # gopPocNo[8];                     #static_param[113] to static_param[120]
    static_param119 = 5                      # gopPocNo[8];                     #static_param[113] to static_param[120]
    static_param120 = 7                      # gopPocNo[8];                     #static_param[113] to static_param[120]
    static_param121 = 1                      # gopIsReference[8];                    #static_param[121] to static_param[128]
    static_param122 = 1                      # gopIsReference[8];                    #static_param[121] to static_param[128]
    static_param123 = 1                      # gopIsReference[8];                    #static_param[121] to static_param[128]
    static_param124 = 0                      # gopIsReference[8];                    #static_param[121] to static_param[128]
    static_param125 = 0                      # gopIsReference[8];                    #static_param[121] to static_param[128]
    static_param126 = 1                      # gopIsReference[8];                    #static_param[121] to static_param[128]
    static_param127 = 0                      # gopIsReference[8];                    #static_param[121] to static_param[128]
    static_param128 = 0                      # gopIsReference[8];                    #static_param[121] to static_param[128]
    static_param129 = 0                      # gopTemporalId[8];                     #static_param[129] to static_param[136]
    static_param130 = 1                      # gopTemporalId[8];                     #static_param[129] to static_param[136]
    static_param131 = 2                      # gopTemporalId[8];                     #static_param[129] to static_param[136]
    static_param132 = 3                      # gopTemporalId[8];                     #static_param[129] to static_param[136]
    static_param133 = 3                      # gopTemporalId[8];                     #static_param[129] to static_param[136]
    static_param134 = 2                      # gopTemporalId[8];                     #static_param[129] to static_param[136]
    static_param135 = 3                      # gopTemporalId[8];                     #static_param[129] to static_param[136]
    static_param136 = 3                      # gopTemporalId[8];                     #static_param[129] to static_param[136]

    #StaticParams - IH265VENC_SliceCodingParams
    static_param137  = 1                      # SliceCodingParams :: sliceCodingPreset  
    static_param138  = 0                      # SliceCodingParams :: sliceCodingMode; # 0 : Disable  
                                              # 1 : each slice consist of sliceCodingArg LCU
    static_param139  = 0                     # SliceCodingParams :: sliceCodingArg; # N : each slice consisit of N LCU in raster scan order ; This will be ignored if  enableTiles is 1
    static_param140  = 0                      # SliceCodingParams :: enableTiles  
    static_param141  = 1                      # SliceCodingParams :: numTileColumns  
    static_param142  = 1                      # SliceCodingParams :: numTileRows  
    static_param143  = 0                      # SliceCodingParams :: enableDependentSlice  

    #StaticParams - IH265VENC_IntraCodingParams
    static_param144  = 1                      # IntraCodingParams :: intraCodingPreset  
    static_param145  = 0                      # IntraCodingParams :: intraRefreshMethod  
    static_param146  = 0                      # IntraCodingParams :: intraRefreshRate  
    static_param147  = 0                      # IntraCodingParams :: constrainedIntraPredEnable  
    static_param148  = 1                      # IntraCodingParams :: enableStrongIntraSmoothing  
    static_param149  = 0                      # IntraCodingParams :: matchYCbCrIntraMode  
    static_param150  = 0                      # IntraCodingParams :: enableLumaIntra4x4Mode  
    static_param151  = 0                      # IntraCodingParams :: enableLumaIntra8x8Mode  
    static_param152  = 0                      # IntraCodingParams :: enableLumaIntra16x16Mode  
    static_param153  = 0                      # IntraCodingParams :: enableLumaIntra32x32Mode  
    static_param154  = 0                      # IntraCodingParams :: enableChromaIntra4x4Mode  
    static_param155  = 0                      # IntraCodingParams :: enableChromaIntra8x8Mode  
    static_param156  = 0                      # IntraCodingParams :: enableChromaIntra16x16Mode  

    #StaticParams - IH265VENC_InterCodingParams
    static_param157  = 1                      # InterCodingParams :: interCodingPreset  
    static_param158  = 0                      # InterCodingParams :: enableTmvp  
    static_param159  = 144                      # InterCodingParams :: searchRangeHorP  
    static_param160  = 32                      # InterCodingParams :: searchRangeVerP  
    static_param161  = 144                      # InterCodingParams :: searchRangeHorB  
    static_param162  = 32                      # InterCodingParams :: searchRangeVerB  
    static_param163  = 0                      # InterCodingParams :: interCodingBias  
    static_param164  = 0                      # InterCodingParams :: skipMVCodingBias  
    static_param165  = 3                      # InterCodingParams :: numMergeCandidates  
    static_param166  = 0                      # InterCodingParams :: enableBiPredMode  
    static_param167  = 1                      # InterCodingParams :: enableFastIntraAlgo  

    #StaticParams - IH265VENC_CTBCodingParams
    static_param168  = 64                      # CTBCodingParams :: maxCTBSize  
    static_param169  = 3                      # CTBCodingParams :: maxCUDepth  

    #StaticParams - IH265VENC_VUICodingParams
    static_param170  = 0                      # VUICodingParams :: vuiCodingPreset  
    static_param171  = 0                      # VUICodingParams :: aspectRatioInfoPresentFlag  
    static_param172  = 0                      # VUICodingParams :: aspectRatioIdc  
    static_param173  = 0                      # VUICodingParams :: videoSignalTypePresentFlag  
    static_param174  = 0                      # VUICodingParams :: videoFormat  
    static_param175  = 0                      # VUICodingParams :: videoFullRangeFlag  
    static_param176  = 0                      # VUICodingParams :: colourDescriptionPresentFlag  
    static_param177  = 0                      # VUICodingParams :: colourPrimaries  
    static_param178  = 0                      # VUICodingParams :: transferCharacteristics  
    static_param179  = 0                      # VUICodingParams :: matrixCoefficients  
    static_param180  = 0                      # VUICodingParams :: timingInfoPresentFlag  

    #StaticParams - IH265VENC_SEIParams
    static_param181  = 0                     # SEIParams :: enableSEIFlag
    static_param182     = 0                      # SEIParams :: reservedSEI0  
    static_param183     = 0                      # SEIParams :: reservedSEI1  
    static_param184     = 0                      # SEIParams :: reservedSEI2  
    static_param185     = 0                      # SEIParams :: reservedSEI3  
    static_param186  = 0                      # SEIParams :: reservedSEI4  
    static_param187  = 0                      # SEIParams :: reservedSEI5  
    static_param188  = 0                      # SEIParams :: reservedSEI6  
    static_param189  = 0                      # SEIParams :: reservedSEI7  
    static_param190  = 0                      # SEIParams :: reservedSEI8  
    static_param191  = 0                      # SEIParams :: reservedSEI9  

    #StaticParams - Misc
    static_param193  = 0                      # MiscParams :: scalingMatrixPreset, # 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      
    static_param194  = 0                      # MiscParams :: decRefreshType  
    static_param195  = 0                      # MiscParams :: decRefreshInterval  
    static_param196  = 0                      # MiscParams :: enableTransQuantBypass  
    static_param197  = 256                      # MiscParams :: maxPoc  
    static_param198  = 0                      # MiscParams :: enableTransformSkip  
    static_param199  = 10000                      # MiscParams :: maxIntraFrameInterval  
    static_param200  = 0                      # MiscParams :: enableWPP  
    static_param201  = 1                      # MiscParams :: maxNumRefFrames  
    static_param202  = 0                      # MiscParams :: enableVirtualTile  
    static_param203  = 0                      # MiscParams :: debugTraceLevel  
    static_param204  = 0                      # MiscParams :: lastNFramesToLog  

    #DynamicParams - IVIDENC2_DynamicParams

    dynamic_param0   = 372                      # IVIDENC2_DynamicParams :: size                    
    dynamic_param1   = 720                      # IVIDENC2_DynamicParams :: inputHeight             
    dynamic_param2   = 1280                      # IVIDENC2_DynamicParams :: inputWidth              
    dynamic_param3   = 30000                      # IVIDENC2_DynamicParams :: refFrameRate            
    dynamic_param4   = 30000                      # IVIDENC2_DynamicParams :: targetFrameRate         
    dynamic_param5   = 2000000                      # IVIDENC2_DynamicParams :: targetBitRate           
    dynamic_param6   = 10000                      # IVIDENC2_DynamicParams :: intraFrameInterval      
    dynamic_param7   = 0                      # IVIDENC2_DynamicParams :: generateHeader          
    dynamic_param8   = 0                      # IVIDENC2_DynamicParams :: captureWidth            
    dynamic_param9   = -1                      # IVIDENC2_DynamicParams :: forceIFrame             
    dynamic_param10  = 8                      # IVIDENC2_DynamicParams :: interFrameInterval      
    dynamic_param11  = 2                      # IVIDENC2_DynamicParams :: mvAccuracy              
    dynamic_param12  = 1                      # IVIDENC2_DynamicParams :: sampleAspectRatioHeight
    dynamic_param13  = 1                      # IVIDENC2_DynamicParams :: sampleAspectRatioWidth  
    dynamic_param14  = 0                      # IVIDENC2_DynamicParams :: ignoreOutbufSizeFlag    
    dynamic_param15  = 0                      # IVIDENC2_DynamicParams :: putDataFxn              
    dynamic_param16  = 0                      # IVIDENC2_DynamicParams :: putDataHandle           
    dynamic_param17  = 0                      # IVIDENC2_DynamicParams :: getDataFxn              
    dynamic_param18  = 0                      # IVIDENC2_DynamicParams :: getDataHandle           
    dynamic_param19  = 0                      # IVIDENC2_DynamicParams :: getBufferFxn            
    dynamic_param20  = 0                      # IVIDENC2_DynamicParams :: getBufferHandle         
    dynamic_param21  = 0                      # IVIDENC2_DynamicParams :: lateAcquireArg          

    #DynamicParams - IH265VENC_RateControlParams
    dynamic_param22  = 1                      # RCParams ::rateControlParamsPreset
    dynamic_param23  = 0                           # RCParams ::rcAlgo                  
    dynamic_param24  = 28                           # RCParams ::qpI                     
    dynamic_param25  = 40                           # RCParams ::qpMaxI                  
    dynamic_param26  = 12                           # RCParams ::qpMinI                  
    dynamic_param27  = 30                           # RCParams ::qpP                     
    dynamic_param28  = 51                           # RCParams ::qpMaxP                  
    dynamic_param29  = 12                           # RCParams ::qpMinP                  
    dynamic_param30  = 2                        # RCParams ::QpOffsetB                
    dynamic_param31  = 51                           # RCParams ::qpMaxB                  
    dynamic_param32  = 12                           # RCParams ::qpMinB                  
    dynamic_param33  = 0                           # RCParams ::enableFrameSkip         
    dynamic_param34  = 0                           # RCParams ::enablePartialFrameSkip  
    dynamic_param35  = 0                           # RCParams ::qualityFactorIP         
    dynamic_param36  = 2                           # RCParams ::cbQPIndexOffset         
    dynamic_param37  = 2                           # RCParams ::crQPIndexOffset         
    dynamic_param38  = 4000000                           # RCParams ::initialBufferLevel      
    dynamic_param39  = 4000000                           # RCParams ::hrdBufferSize           
    dynamic_param40  = 0                           # RCParams ::enableHRDComplianceMode
    dynamic_param41  = 0                           # RCParams ::maxFrameSkipCnt         
    dynamic_param42  = 1                           # RCParams ::SubFrameRC           
    dynamic_param43  = 0                           # RCParams ::maxDeltaQP              
    dynamic_param44  = 0                           # RCParams ::enablePRC               
    dynamic_param45  = 0                           # RCParams ::reserved0               
    dynamic_param46  = 0                           # RCParams ::reserved1               
    dynamic_param47  = 0                           # RCParams ::reserved2               

    #DynamicParams - IH265VENC_LoopFilterParams
    dynamic_param48  = 1                      # LoopFilterParams :: loopFilterParamsPreset
    dynamic_param49  = 1                      # LoopFilterParams :: enableDeblockFilter  
    dynamic_param50  = 1                      # LoopFilterParams :: enableSaoFilter  
    dynamic_param51  = 0                      # LoopFilterParams :: enableLoopFilterSliceBoundary  
    dynamic_param52  = 0                      # LoopFilterParams :: enableLoopFilterTileBoundary  
    dynamic_param53  = 0                      # LoopFilterParams :: separateCbCrSAO  
    dynamic_param54  = 0                      # LoopFilterParams :: offsetLoopFilterInPPSFlag  
    dynamic_param55  = 0                      # LoopFilterParams :: offsetDeblockBetaDiv2  
    dynamic_param56  = 0                      # LoopFilterParams :: offsetDeblockTcDiv2                      

    #DynamicParams - IH265VENC_IntraCodingParams
    dynamic_param57  = 1                      # IntraCodingParams :: intraCodingPreset  
    dynamic_param58  = 0                      # IntraCodingParams :: intraRefreshMethod  
    dynamic_param59  = 0                      # IntraCodingParams :: intraRefreshRate  
    dynamic_param60  = 0                      # IntraCodingParams :: constrainedIntraPredEnable  
    dynamic_param61  = 1                      # IntraCodingParams :: enableStrongIntraSmoothing  
    dynamic_param62  = 0                      # IntraCodingParams :: matchYCbCrIntraMode  
    dynamic_param63  = 0                      # IntraCodingParams :: enableLumaIntra4x4Mode  
    dynamic_param64  = 0                      # IntraCodingParams :: enableLumaIntra8x8Mode  
    dynamic_param65  = 0                      # IntraCodingParams :: enableLumaIntra16x16Mode  
    dynamic_param66  = 0                      # IntraCodingParams :: enableLumaIntra32x32Mode  
    dynamic_param67  = 0                      # IntraCodingParams :: enableChromaIntra4x4Mode  
    dynamic_param68  = 0                      # IntraCodingParams :: enableChromaIntra8x8Mode  
    dynamic_param69  = 0                      # IntraCodingParams :: enableChromaIntra16x16Mode  

    #DynamicParams - IH265VENC_InterCodingParams
    dynamic_param70  = 1                      # InterCodingParams :: interCodingPreset  
    dynamic_param71  = 0                      # InterCodingParams :: enableTmvp  
    dynamic_param72  = 144                      # InterCodingParams :: searchRangeHorP  
    dynamic_param73  = 32                      # InterCodingParams :: searchRangeVerP  
    dynamic_param74  = 144                      # InterCodingParams :: searchRangeHorB  
    dynamic_param75  = 32                      # InterCodingParams :: searchRangeVerB  
    dynamic_param76  = 0                      # InterCodingParams :: interCodingBias  
    dynamic_param77  = 0                      # InterCodingParams :: skipMVCodingBias  
    dynamic_param78  = 3                      # InterCodingParams :: numMergeCandidates  
    dynamic_param79  = 0                      # InterCodingParams :: enableBiPredMode  
    dynamic_param80  = 1                      # InterCodingParams :: enableFastIntraAlgo  

    #DynamicParams - IH265VENC_CTBCodingParams
    dynamic_param81  = 64                      # CTBCodingParams :: maxCTBSize  
    dynamic_param82  = 3                      # CTBCodingParams :: maxCUDepth  

    #DynamicParams - IH265VENC_SliceCodingParams
    dynamic_param83  = 1                      # SliceCodingParams :: sliceCodingPreset  
    dynamic_param84  = 0                      # SliceCodingParams :: sliceCodingMode; # 0 : Disable  
                                              # 1 : each slice consist of sliceCodingArg LCU
    dynamic_param85  = 0                     # SliceCodingParams :: sliceCodingArg; # N : each slice consisit of N LCU in raster scan order ; This will be ignored if  enableTiles is 1
    dynamic_param86  = 0                      # SliceCodingParams :: enableTiles  
    dynamic_param87  = 1                      # SliceCodingParams :: numTileColumns  
    dynamic_param88  = 1                      # SliceCodingParams :: numTileRows  
    dynamic_param89  = 0                      # SliceCodingParams :: enableDependentSlice  

    #DynamicParams - Misc
    dynamic_param90  = 0                      # MiscParams :: enableTransQuantBypass  
    dynamic_param91  = 0                      # MiscParams :: enableTransformSkip  
    dynamic_param92  = 0                      # MiscParams :: enableROI  

    ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

    #!/bin/sh

    CLIP_CONFIG=multiClip.cfg
    CODEC_PARAMS=codecParams.cfg

    $MCSDK_VIDEO_HOSTBIN_DIR/demo_c667x --dsp-image=$MCSDK_VIDEO_DSPIMAGE_DIR/sv04.out -v --channel="H265 Encode" -a HEVCENC -f $CLIP_CONFIG -c $CODEC_PARAMS -t "0 1 2 3 4 5 6 7" --width=1280 --height=720
    //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

    We tried to use 8 cores  and 32 cores. They both hang at different place.

    Regarding using more than 4 DSPs, we simply increased $CODEC_PARAMS -t "0 1 2 3 4 5 6 7" beyond 31 and it doesn't work for me (we used default encoding cfg in this case)

    Thanks,

    Jaewoo

  • Paula,

    Yes, we verified it runs in real time with 3 DSPs. Since we are also doing VOD business, it is also important to know what the maximum fps is.

    Thanks,

    Jaewoo

  • Hi Jaewoo,

         In the above config, SubFrameRC needs to disable when we encoding fixed Qp.

    Please change the following parameter.

    static_param41  = 0                          # RCParams ::SubFrameRC 

    dynamic_param42  = 0                     # RCParams ::SubFrameRC

    Regarding using more than 4 DSPs, Please try giving multiple of 8 for number of core.

    $CODEC_PARAMS -t "0 1 2 3 4 5 6 7....30 31 32 33 34 35 36 37 38 39" 

    Thanks & Regards

    Kuladeepak

  • Kuladeepak,

    Now we can run fixed qp mode and all DSPs.

    Thank you for your help.

    Jaewoo