📄 encodercodingparameter.h
字号:
if(uiValue != 0)
CodingParameter::setRCDOMotionCompensationY( 0 );
continue;
}
if( equals( pcCom, "-kpm", 4 ) )
{
ROTS( NULL == argv[n ] );
UInt uiMode = atoi( argv[n] );
CodingParameter::setEncodeKeyPictures( uiMode );
continue;
}
if( equals( pcCom, "-mgsctrl", 5 ) )
{
ROTS( NULL == argv[n] );
UInt uiMode = atoi( argv[n] );
CodingParameter::setMGSKeyPictureControl( uiMode );
continue;
}
if( equals( pcCom, "-mgsmotr", 5 ) )
{
ROTS( NULL == argv[n] );
UInt uiMode = atoi( argv[n] );
CodingParameter::setMGSKeyPictureMotRef( uiMode );
continue;
}
if( equals( pcCom, "-eqpc", 5 ) )
{
ROTS( NULL == argv[n ] );
ROTS( NULL == argv[n+1] );
UInt uiLayer = atoi( argv[n ] );
UInt uiValue = atoi( argv[n+1] );
CodingParameter::getLayerParameters( uiLayer ).setExplicitQPCascading( uiValue );
n += 1;
continue;
}
if( equals( pcCom, "-dqp", 4 ) )
{
ROTS( NULL == argv[n ] );
ROTS( NULL == argv[n+1] );
ROTS( NULL == argv[n+2] );
UInt uiLayer = atoi( argv[n ] );
UInt uiLevel = atoi( argv[n+1] );
Double dValue = atof( argv[n+2] );
CodingParameter::getLayerParameters( uiLayer ).setDeltaQPTLevel( uiLevel, dValue );
n += 2;
continue;
}
if( equals( pcCom, "-aeqpc", 6 ) )
{
ROTS( NULL == argv[n ] );
UInt uiValue = atoi( argv[n] );
for( UInt uiLayer = 0; uiLayer < MAX_LAYERS; uiLayer++ )
{
CodingParameter::getLayerParameters( uiLayer ).setExplicitQPCascading( uiValue );
}
continue;
}
if( equals( pcCom, "-adqp", 5 ) )
{
ROTS( NULL == argv[n ] );
ROTS( NULL == argv[n+1] );
UInt uiLevel = atoi( argv[n ] );
Double dValue = atof( argv[n+1] );
for( UInt uiLayer = 0; uiLayer < MAX_LAYERS; uiLayer++ )
{
CodingParameter::getLayerParameters( uiLayer ).setDeltaQPTLevel( uiLevel, dValue );
}
n += 1;
continue;
}
if( equals( pcCom, "-xdqp", 5 ) )
{
ROTS( NULL == argv[n ] );
ROTS( NULL == argv[n+1] );
ROTS( NULL == argv[n+2] );
Double dDQP0 = atof( argv[n ] );
Double dDDQP1 = atof( argv[n+1] );
Double dDDQPN = atof( argv[n+2] );
for( UInt uiLayer = 0; uiLayer < MAX_LAYERS; uiLayer++ )
{
CodingParameter::getLayerParameters( uiLayer ).setExplicitQPCascading( 1 );
for( UInt uiLevel = 0; uiLevel <= MAX_DSTAGES; uiLevel++ )
{
Double dDQP = dDQP0;
if( uiLevel > 0 )
{
dDQP += dDDQP1 + (Double)( uiLevel - 1 ) * dDDQPN;
}
CodingParameter::getLayerParameters( uiLayer ).setDeltaQPTLevel( uiLevel, dDQP );
}
}
n += 2;
continue;
}
if( equals( pcCom, "-anafgs", 7 ) )
{
ROTS( NULL == argv[n ] );
ROTS( NULL == argv[n+1] );
ROTS( NULL == argv[n+2] );
UInt uiLayer = atoi( argv[n++] );
UInt uiNumLayers = atoi( argv[n++] );
ROT( CodingParameter::getLayerParameters( uiLayer ).getFGSMode() );
CodingParameter::getLayerParameters( uiLayer ).setNumFGSLayers( uiNumLayers );
CodingParameter::getLayerParameters( uiLayer ).setFGSFilename ( argv[n] );
CodingParameter::getLayerParameters( uiLayer ).setFGSMode ( 1 );
continue;
}
if( equals( pcCom, "-encfgs", 7 ) )
{
ROTS( NULL == argv[n ] );
ROTS( NULL == argv[n+1] );
ROTS( NULL == argv[n+2] );
UInt uiLayer = atoi( argv[n++] );
Double dFGSRate = atof( argv[n++] );
ROT( CodingParameter::getLayerParameters( uiLayer ).getFGSMode() );
CodingParameter::getLayerParameters( uiLayer ).setFGSRate ( dFGSRate );
CodingParameter::getLayerParameters( uiLayer ).setFGSFilename ( argv[n] );
CodingParameter::getLayerParameters( uiLayer ).setFGSMode ( 2 );
continue;
}
if( equals( pcCom, "-bf", 3 ) )
{
ROTS( NULL == argv[n] );
rcBitstreamFile = argv[n];
continue;
}
if( equals( pcCom, "-numl", 5 ) )
{
ROTS( NULL == argv[n] );
UInt uiNumLayers = atoi( argv[n] );
CodingParameter::setNumberOfLayers( uiNumLayers );
continue;
}
if( equals( pcCom, "-ecmf", 5 ) )
{
ROTS( NULL == argv[n ] );
ROTS( NULL == argv[n+1] );
UInt uiLayer = atoi( argv[n ] );
Bool bEntropyCodingModFlag = (atoi( argv[n+1] ) == 1) ;
CodingParameter::getLayerParameters( uiLayer ).setEntropyCodingModeFlag( bEntropyCodingModFlag );
n += 1;
continue;
}
if( equals( pcCom, "-rqp", 4 ) )
{
ROTS( NULL == argv[n ] );
ROTS( NULL == argv[n+1] );
UInt uiLayer = atoi( argv[n ] );
Double dResQp = atof( argv[n+1] );
CodingParameter::getLayerParameters( uiLayer ).setBaseQpResidual( dResQp );
printf("\n********** layer %1d - rqp = %f **********\n\n",uiLayer,dResQp);
n += 1;
continue;
}
if( equals( pcCom, "-mqp", 4 ) )
{
ROTS( NULL == argv[n ] );
ROTS( NULL == argv[n+1] );
ROTS( NULL == argv[n+2] );
UInt uiLayer = atoi( argv[n ] );
UInt uiStage = atoi( argv[n+1] );
Double dMotQp = atof( argv[n+2] );
CodingParameter::getLayerParameters( uiLayer ).setQpModeDecision( uiStage, dMotQp );
n += 2;
continue;
}
if( equals( pcCom, "-lqp", 4 ) )
{
ROTS( NULL == argv[n ] );
ROTS( NULL == argv[n+1] );
UInt uiLayer = atoi( argv[n ] );
Double dQp = atof( argv[n+1] );
CodingParameter::getLayerParameters( uiLayer ).setBaseQpResidual( dQp );
for( UInt uiStage = 0; uiStage < MAX_DSTAGES; uiStage++ )
{
CodingParameter::getLayerParameters( uiLayer ).setQpModeDecision( uiStage, dQp );
}
CodingParameter::getLayerParameters( uiLayer ).setQpModeDecisionLP( dQp );
n += 1;
continue;
}
if( equals( pcCom, "-meqplp", 7 ) )
{
ROTS( NULL == argv[n ] );
ROTS( NULL == argv[n+1] );
UInt uiLayer = atoi( argv[n ] );
Double dQp = atof( argv[n+1] );
CodingParameter::getLayerParameters( uiLayer ).setQpModeDecisionLP( dQp );
n += 1;
continue;
}
if( equals( pcCom, "-ilpred", 7 ) )
{
ROTS( NULL == argv[n ] );
ROTS( NULL == argv[n+1] );
UInt uiLayer = atoi( argv[n ] );
UInt uiBLRes = atoi( argv[n+1] );
CodingParameter::getLayerParameters( uiLayer ).setInterLayerPredictionMode( uiBLRes );
n += 1;
continue;
}
if( equals( pcCom, "-mfile", 6 ) )
{
ROTS( NULL == argv[n ] );
ROTS( NULL == argv[n+1] );
ROTS( NULL == argv[n+2] );
UInt uiLayer = atoi( argv[n ] );
UInt uiMode = atoi( argv[n+1] );
CodingParameter::getLayerParameters( uiLayer ).setMotionInfoMode( uiMode );
CodingParameter::getLayerParameters( uiLayer ).setMotionInfoFilename( argv[n+2] );
n += 2;
continue;
}
if( equals( pcCom, "-gop", 4 ) )
{
ROTS( NULL == argv[n] );
UInt uiGOPSize = atoi( argv[n] );
CodingParameter::setGOPSize( uiGOPSize );
continue;
}
if( equals( pcCom, "-iper", 5 ) )
{
ROTS( NULL == argv[n] );
Int iIntraPeriod = atoi( argv[n] );
CodingParameter::setIntraPeriod( iIntraPeriod );
continue;
}
if( equals( pcCom, "-blid", 5 ) )
{
ROTS( NULL == argv[n ] );
ROTS( NULL == argv[n+1] );
UInt uiLayer = atoi( argv[n ] );
UInt uiBlId = atoi( argv[n+1] );
CodingParameter::getLayerParameters( uiLayer ).setBaseLayerId( uiBlId );
n += 1;
continue;
}
if( equals( pcCom, "-frms", 5 ) )
{
ROTS( NULL == argv[n] );
UInt uiFrms = atoi( argv[n] );
CodingParameter::setTotalFrames( uiFrms );
continue;
}
if( equals( pcCom, "-bcip", 5 ) )
{
n--;
ROTS( NULL == argv[n] );
CodingParameter::getLayerParameters(0).setContrainedIntraForLP();
continue;
}
if( equals( pcCom, "-cl", 3 ) )
{
ROTS( NULL == argv[n] );
ROTS( NULL == argv[n+1] );
UInt uiLayer = atoi( argv[n] );
UInt uiCLoop = atoi( argv[n+1] );
CodingParameter::getLayerParameters( uiLayer ).setClosedLoop( uiCLoop );
n += 1;
continue;
}
if( equals( pcCom, "-ref", 4 ) )
{
ROTS( NULL == argv[n] );
Double dLowPassEnhRef = atof( argv[n] );
CodingParameter::setLowPassEnhRef( dLowPassEnhRef );
continue;
}
if( equals( pcCom, "-ar", 3 ) )
{
ROTS( NULL == argv[n] );
ROTS( NULL == argv[n + 1] );
UInt uiBaseRefWeightZeroBlock = atoi( argv[n] );
UInt uiBaseRefWeightZeroCoeff = atoi( argv[n + 1] );
CodingParameter::setAdaptiveRefFGSWeights( uiBaseRefWeightZeroBlock, uiBaseRefWeightZeroCoeff );
// skip two
n += 1;
continue;
}
if( equals( pcCom, "-fs", 3 ) )
{
ROTS( NULL == argv[n] );
UInt flag = atoi( argv[n] );
CodingParameter::setFgsEncStructureFlag( flag );
continue;
}
if( equals( pcCom, "-pf", 3) )
{
ROTS( NULL == argv[n] );
std::string cFilename = argv[n];
RNOKS( xReadFromFile( cFilename, rcBitstreamFile ) );
continue;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -