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.

DM8168 h263 encoder baseline profile setting

hi, everyone

i saw the MPEG4_Encoder_HDVICP2_UserGuide says h263 encoder support h263 baseline profile,and support h263 annex I/J/K/T. and it work .

my problem is, if i do not want to support annex I/J/K/T(just baseline profile 0),how could set the config to finish it ?

regards

jimmy

  • Jimmy,

    MPEG4_Encoder_HDVICP2 does not support h263 annex I/J/K/T. It supports short video header feature. If you assign 1 to useShortVideoHeader parameter in IMPEG4ENC_Params structure, the encoder will generate H.263 baseline profile stream with short video header.

    Regards,

    Mohammed Harris

  • Mohammed,

    thanks for answer,now i got another problem.

    when i use MPEG4_Decoder_HDVICP2 to decode  MPEG4_Encoder_HDVICP2 bitstream,it decode well.but i use the others decoder(like vlc/elecard..),it work fail.at the beginning it is ok,after a while,the decode picture change its color.you can see the  picture.i modify some encode param,but it do not work. how to fix it?

    and below is encoder param:

    [1145][10:06:51] [m3video] --------- CH 0 : H263 ENC : static Params -------
    [1146][10:06:51] [m3video] 
    [1147][10:06:51] [m3video] videnc2Params -> encodingPreset             : 3
    [1148][10:06:51] [m3video] videnc2Params -> rateControlPreset          : 5
    [1150][10:06:51] [m3video] videnc2Params -> maxHeight                  : 1088
    [1151][10:06:51] [m3video] videnc2Params -> maxWidth                   : 1920
    [1153][10:06:51] [m3video] videnc2Params -> dataEndianness             : 1
    [1154][10:06:51] [m3video] videnc2Params -> maxInterFrameInterval      : 0
    [1156][10:06:51] [m3video] videnc2Params -> maxBitRate                 : -1
    [1157][10:06:51] [m3video] videnc2Params -> minBitRate                 : 0
    [1159][10:06:51] [m3video] videnc2Params -> inputChromaFormat          : 9
    [1160][10:06:51] [m3video] videnc2Params -> inputContentType           : 0
    [1162][10:06:51] [m3video] videnc2Params -> operatingMode              : 1
    [1163][10:06:51] [m3video] videnc2Params -> profile                    : 3
    [1165][10:06:51] [m3video] videnc2Params -> level                      : 70
    [1166][10:06:51] [m3video] videnc2Params -> inputDataMode              : 3
    [1168][10:06:51] [m3video] videnc2Params -> outputDataMode             : 1
    [1169][10:06:51] [m3video] videnc2Params -> numInputDataUnits          : 1
    [1170][10:06:51] [m3video] 
    [1171][10:06:51] [m3video] rateControlParams -> rateControlParamsPreset        : 1
    [1172][10:06:51] [m3video] rateControlParams -> rcAlgo                         : 1
    [1173][10:06:51] [m3video] rateControlParams -> qpI                            : 5
    [1174][10:06:51] [m3video] rateControlParams -> qpP                            : 5
    [1175][10:06:51] [m3video] rateControlParams -> seIntialQP                     : 5
    [1176][10:06:51] [m3video] rateControlParams -> qpMax                          : 31
    [1177][10:06:51] [m3video] rateControlParams -> qpMin                          : 1
    [1178][10:06:51] [m3video] rateControlParams -> allowFrameSkip                 : 0
    [1179][10:06:51] [m3video] rateControlParams -> enablePerceptualQuantMode      : 0
    [1180][10:06:51] [m3video] rateControlParams -> initialBufferLevel             : 281600
    [1181][10:06:51] [m3video] rateControlParams -> vbvBufferSize                  : 422400
    [1182][10:06:51] [m3video] rateControlParams -> qpMinIntra                     : 0
    [1183][10:06:51] [m3video] 
    [1184][10:06:51] [m3video] interCodingParams -> interCodingPreset          : 1
    [1185][10:06:51] [m3video] interCodingParams -> searchRangeHorP            : 44
    [1186][10:06:51] [m3video] interCodingParams -> searchRangeVerP            : 28
    [1187][10:06:51] [m3video] interCodingParams -> globalOffsetME             : 1
    [1188][10:06:51] [m3video] interCodingParams -> earlySkipThreshold         : 200
    [1189][10:06:51] [m3video] interCodingParams -> enableThresholdingMethod   : 1
    [1190][10:06:51] [m3video] interCodingParams -> minBlockSizeP              : 1
    [1191][10:06:51] [m3video] interCodingParams -> enableRoundingControl      : 0
    [1192][10:06:51] [m3video] 
    [1193][10:06:51] [m3video] intraCodingParams -> intraCodingPreset           : 1
    [1194][10:06:51] [m3video] intraCodingParams -> intraRefreshMethod          : 0
    [1195][10:06:51] [m3video] intraCodingParams -> intraRefreshRate            : 0
    [1196][10:06:51] [m3video] intraCodingParams -> acpredEnable                : 0
    [1197][10:06:51] [m3video] intraCodingParams -> insertGOVHdrBeforeIframe    : 0
    [1198][10:06:51] [m3video] intraCodingParams -> enableDriftControl          : 1
    [1199][10:06:51] [m3video] 
    [1200][10:06:51] [m3video] sliceCodingParams -> sliceCodingPreset  : 1
    [1201][10:06:51] [m3video] sliceCodingParams -> sliceMode          : 2
    [1202][10:06:51] [m3video] sliceCodingParams -> sliceUnitSize      : 8192
    [1203][10:06:51] [m3video] sliceCodingParams -> gobInterval        : 1
    [1204][10:06:51] [m3video] sliceCodingParams -> useHec             : 0
    [1205][10:06:51] [m3video] 
    [1206][10:06:51] [m3video] useDataPartitioning                  : 0
    [1207][10:06:51] [m3video] useRvlc                              : 0
    [1208][10:06:51] [m3video] useShortVideoHeader                  : 1
    [1209][10:06:51] [m3video] vopTimeIncrementResolution           : 60
    [1210][10:06:51] [m3video] nonMultiple16RefPadMethod            : 1
    [1211][10:06:51] [m3video] pixelRange                           : 0
    [1212][10:06:51] [m3video] enableSceneChangeAlgo                : 0
    [1213][10:06:51] [m3video] useVOS                               : 1
    [1214][10:06:51] [m3video] enableMONA                           : 0
    [1215][10:06:51] [m3video] enableAnalyticinfo                   : -1
    [1216][10:06:51] [m3video] debugTraceLevel                      : 0
    [1217][10:06:51] [m3video] lastNFramesToLog                     : 0
    [1218][10:06:51] [m3video] 
    [1219][10:06:51] [m3video] 
    [1220][10:06:51] [m3video] 
    [1221][10:06:51] [m3video] --------- CH 0 : H263 ENC : Dynamic Params -------
    [1222][10:06:51] [m3video] 
    [1223][10:06:51] [m3video] videnc2DynamicParams -> inputHeight             : 288
    [1224][10:06:51] [m3video] videnc2DynamicParams -> inputWidth              : 352
    [1225][10:06:51] [m3video] videnc2DynamicParams -> refFrameRate            : 30000
    [1226][10:06:51] [m3video] videnc2DynamicParams -> targetFrameRate         : 30000
    [1227][10:06:51] [m3video] videnc2DynamicParams -> targetBitRate           : 704000
    [1228][10:06:51] [m3video] videnc2DynamicParams -> intraFrameInterval      : 0
    [1229][10:06:51] [m3video] videnc2DynamicParams -> generateHeader          : 0
    [1230][10:06:51] [m3video] videnc2DynamicParams -> captureWidth            : 352
    [1231][10:06:51] [m3video] videnc2DynamicParams -> forceFrame              : -1
    [1232][10:06:51] [m3video] videnc2DynamicParams -> interFrameInterval      : 0
    [1233][10:06:51] [m3video] videnc2DynamicParams -> mvAccuracy              : 1
    [1234][10:06:51] [m3video] videnc2DynamicParams -> sampleAspectRatioHeight : 1
    [1235][10:06:51] [m3video] videnc2DynamicParams -> sampleAspectRatioWidth  : 1
    [1236][10:06:51] [m3video] videnc2DynamicParams -> ignoreOutbufSizeFlag    : 1
    [1237][10:06:51] [m3video] videnc2DynamicParams -> lateAcquireArg          : -1
    [1238][10:06:51] [m3video] videnc2DynamicParams -> putDataFxn              : 0x9182c8d5
    [1239][10:06:51] [m3video] videnc2DynamicParams -> putDataHandle           : 0x      12
    [1240][10:06:51] [m3video] videnc2DynamicParams -> getDataFxn              : 0x9184c305
    [1241][10:06:51] [m3video] videnc2DynamicParams -> getDataHandle           : 0x      13
    [1242][10:06:51] [m3video] videnc2DynamicParams -> getBufferFxn            : 0x9184bfed
    [1243][10:06:51] [m3video] videnc2DynamicParams -> getBufferHandle         : 0x      14
    [1244][10:06:51] [m3video] 
    [1245][10:06:51] [m3video] rateControlParams -> rateControlParamsPreset        : 1
    [1246][10:06:51] [m3video] rateControlParams -> rcAlgo                         : 1
    [1247][10:06:51] [m3video] rateControlParams -> qpI                            : 5
    [1248][10:06:51] [m3video] rateControlParams -> qpP                            : 5
    [1249][10:06:51] [m3video] rateControlParams -> seIntialQP                     : 5
    [1250][10:06:51] [m3video] rateControlParams -> qpMax                          : 31
    [1251][10:06:51] [m3video] rateControlParams -> qpMin                          : 1
    [1252][10:06:51] [m3video] rateControlParams -> allowFrameSkip                 : 0
    [1253][10:06:51] [m3video] rateControlParams -> enablePerceptualQuantMode      : 0
    [1254][10:06:51] [m3video] rateControlParams -> initialBufferLevel             : 0
    [1255][10:06:51] [m3video] rateControlParams -> vbvBufferSize                  : 0
    [1256][10:06:51] [m3video] rateControlParams -> qpMinIntra                     : 0
    [1257][10:06:51] [m3video] 
    [1258][10:06:51] [m3video] interCodingParams -> interCodingPreset          : 0
    [1259][10:06:51] [m3video] interCodingParams -> searchRangeHorP            : 44
    [1260][10:06:51] [m3video] interCodingParams -> searchRangeVerP            : 28
    [1261][10:06:51] [m3video] interCodingParams -> globalOffsetME             : 0
    [1262][10:06:51] [m3video] interCodingParams -> earlySkipThreshold         : 200
    [1263][10:06:51] [m3video] interCodingParams -> enableThresholdingMethod   : 1
    [1264][10:06:51] [m3video] interCodingParams -> minBlockSizeP              : 1
    [1265][10:06:51] [m3video] interCodingParams -> enableRoundingControl      : 0
    [1266][10:06:51] [m3video] 
    [1267][10:06:51] [m3video] sliceCodingParams -> sliceCodingPreset  : 1
    [1268][10:06:51] [m3video] sliceCodingParams -> sliceMode          : 2
    [1269][10:06:51] [m3video] sliceCodingParams -> sliceUnitSize      : 8192
    [1270][10:06:51] [m3video] sliceCodingParams -> gobInterval        : 1
    [1271][10:06:51] [m3video] sliceCodingParams -> useHec             : 0
    [1272][10:06:51] [m3video] 
    [1273][10:06:51] [m3video] aspectRatioIdc                          : 1
    [1274][10:06:51] [m3video] 
    [1275][10:06:51] [m3video] 

    Regards,

     jimmy

     

  • Hi Jimmy,

    We have encoded a stream with above configuration. With software decoder(like VLC) we are not observing change in color. 

    Could you please share us your encoded stream.

    Regards,

    Mohammed Harris