Example #1
0
ErrVal DecoderParameter::init(int argc, char** argv)
{

//  Char* pcCom;

  
  if (argc <4 || argc>5)
    RNOKS ( xPrintUsage(argv) );
  cBitstreamFile = argv[1]; // input bitstream
  cYuvFile       = argv[2]; // decoded output file

  uiNumOfViews   = atoi (argv[3]);
  if (argc==5) {
	  uiMaxPocDiff = (unsigned int) atoi( argv[4] );	
	  if (uiMaxPocDiff<=0)
		  uiMaxPocDiff= 1000; //MSYS_UINT_MAX;
  } else
	uiMaxPocDiff= 1000; //MSYS_UINT_MAX;
	
   

  return Err::m_nOK;
}
Example #2
0
ErrVal
PreProcessorParameter::init( Int argc, Char** argv )
{
  Bool bError = false;

  for( Int iArg = 1; iArg < argc; iArg++ )
  {
    if( !strcmp( argv[iArg], "-i" ) )
    {
      if( !(iArg+1<argc) || ! m_cInputFileName.empty() )
      {
        bError  = true;
        break;
      }
      m_cInputFileName = argv[++iArg];
    }
    else if( !strcmp( argv[iArg], "-o" ) )
    {
      if( !(iArg+1<argc) || ! m_cOutputFileName.empty() )
      {
        bError  = true;
        break;
      }
      m_cOutputFileName = argv[++iArg];
    }
    else if( !strcmp( argv[iArg], "-w" ) )
    {
      if( !(iArg+1<argc) || m_uiFrameWidth )
      {
        bError  = true;
        break;
      }
      m_uiFrameWidth = atoi( argv[++iArg] );
    }
    else if( !strcmp( argv[iArg], "-h" ) )
    {
      if( !(iArg+1<argc) || m_uiFrameHeight )
      {
        bError  = true;
        break;
      }
      m_uiFrameHeight = atoi( argv[++iArg] );
    }
    else if( !strcmp( argv[iArg], "-f" ) )
    {
      if( !(iArg+1<argc) || m_uiNumFrames )
      {
        bError  = true;
        break;
      }
      m_uiNumFrames = atoi( argv[++iArg] );
    }
    else if( !strcmp( argv[iArg], "-gop" ) )
    {
      if( !(iArg+1<argc) )
      {
        bError  = true;
        break;
      }
      m_uiGOPSize = atoi( argv[++iArg] );
    }
    else if( !strcmp( argv[iArg], "-qp" ) )
    {
      if( !(iArg+1<argc) )
      {
        bError  = true;
        break;
      }
      m_dQP = atof( argv[++iArg] );
    }
    else
    {
      bError = true;
    }
  }


  //===== consistency check =====
  if( !bError )
  {
    bError  = ( m_cInputFileName.empty() );
  }
  if( !bError )
  {
    bError  = ( m_cOutputFileName.empty() );
  }
  if( !bError )
  {
    bError  = ( m_uiNumFrames < 1 );
  }
  if( !bError )
  {
    bError  = ( m_uiFrameWidth == 0 || m_uiFrameWidth % 16 );
  }
  if( !bError )
  {
    bError  = ( m_uiFrameHeight == 0 || m_uiFrameHeight % 16 );
  }
  if( !bError )
  {
    bError  = ( m_dQP <= 0.0 );
  }
  if( !bError )
  {
    bError  = ( m_uiGOPSize != 2 &&
                m_uiGOPSize != 4 &&
                m_uiGOPSize != 8 &&
                m_uiGOPSize != 16 &&
                m_uiGOPSize != 32 &&
                m_uiGOPSize != 64 );
  }

  //==== output when error ====
  if( bError )
  {
    RNOKS( xPrintUsage( argv ) );
  }

  return Err::m_nOK;
}
Example #3
0
ErrVal
QualityLevelParameter::init( Int argc, Char** argv )
{
  Bool bError = false;

  for( Int iArg = 1; iArg < argc; iArg++ )
  {
    if( !strcmp( argv[iArg], "-in" ) )
    {
      if( !(iArg+1<argc) || ! m_cInputBitStreamName.empty() )
      {
        bError  = true;
        break;
      }
      m_cInputBitStreamName = argv[++iArg];
    }
    else if( !strcmp( argv[iArg], "-out" ) )
    {
      if( !(iArg+1<argc) || ! m_cOutputBitStreamName.empty() )
      {
        bError  = true;
        break;
      }
      m_cOutputBitStreamName = argv[++iArg];
    }
    else if( !strcmp( argv[iArg], "-org" ) )
    {
      if( !(iArg+2<argc) )
      {
        bError = true;
        break;
      }
      UInt  uiLayer = atoi( argv[++iArg] );
      if( !(uiLayer<MAX_LAYERS) || ! m_acOriginalFileName[uiLayer].empty() )
      {
        bError  = true;
        break;
      }
      m_acOriginalFileName[uiLayer] = argv[++iArg];
    }
    else if( !strcmp( argv[iArg], "-wp" ) )
    {
      if( !(iArg+1<argc) || m_uiDataFileMode )
      {
        bError  = true;
        break;
      }
      m_uiDataFileMode  = 2;
      m_cDataFileName   = argv[++iArg];
    }
    else if( !strcmp( argv[iArg], "-rp" ) )
    {
      if( !(iArg+1<argc) || m_uiDataFileMode )
      {
        bError  = true;
        break;
      }
      m_uiDataFileMode  = 1;
      m_cDataFileName   = argv[++iArg];
    }
    else if( !strcmp( argv[iArg], "-ind" ) )
    {
      if( m_uiDistortionEstimationMode != 3 )
      {
        bError = true;
        break;
      }
      m_uiDistortionEstimationMode  = 1;
    }
    else if( !strcmp( argv[iArg], "-dep" ) )
    {
      if( m_uiDistortionEstimationMode != 3 )
      {
        bError = true;
        break;
      }
      m_uiDistortionEstimationMode  = 2;
    }
    else if( !strcmp( argv[iArg], "-sei" ) )
    {
      //m_bQualityLayerSEI = true;//SEI changes update
			m_bPriorityLevelSEI = true;//SEI changes update
    }
    //JVT-S043
    else if( !strcmp( argv[iArg], "-mlql" ) )
    {
      m_eQLAssignerMode   = QLASSIGNERMODE_MLQL;
    }
    else
    {
      bError = true;
    }
  }


  //===== consistency check =====
  if( !bError )
  {
    bError  = ( m_cInputBitStreamName.empty() );
  }
  if( !bError )
  {
    bError  = ( m_acOriginalFileName[0].empty() && m_cOutputBitStreamName.empty() );
  }
  if( !bError )
  {
    if( !m_cOutputBitStreamName.empty() )
    {
      bError  = ( m_acOriginalFileName[0].empty() && m_uiDataFileMode != 1 );
    }
    else
    {
      bError  = ( m_acOriginalFileName[0].empty() || m_uiDataFileMode != 2 );
    }
  }


  //==== output when error ====
  if( bError )
  {
    RNOKS( xPrintUsage( argv ) );
  }

  return Err::m_nOK;
}