tools_argcv.c

来自「 离散余弦变换对图象信号有近似最优的去相关能力, 但多维的变换公式一直没有给出.」· C语言 代码 · 共 83 行

C
83
字号

/*
///////////////////////////////////////////////////////////////////////////////
//                                                                           //
//   Copyright (C) 2006-2008  Beijing,  pengzhen (pengzhenxp@yahoo.com.cn)   //
//                                                                           //
///////////////////////////////////////////////////////////////////////////////
*/

#define get_parameter_flag(AA) ( strcmp( argv[mark], (AA) ) == 0 )
#define get_parameter_next() argc-- ; mark++ ; 
#define get_parameter_read() value = atoi( argv[mark] ); 

/**
* get parameter
*/
static void get_parameter(int argc, char **argv)
{

    int mark = 1 ; int value = 0 ;
	
    argc-- ; /* skip name */
    while (argc > 0) 
	{
        
		if ( get_parameter_flag("-infile") ) 
		{
            get_parameter_next() ; /* next */

			strcpy( m_in_file_name , argv[mark] );
        }
	
		else if ( get_parameter_flag("-outfile") ) 
		{
            get_parameter_next() ; /* next */

			strcpy( m_out_file_name , argv[mark] ); 
        }
	
#ifdef __OUT_RAW__
		else if ( get_parameter_flag("-outrawfile") ) 
		{
            get_parameter_next() ; /* next */

			strcpy( m_out_raw_file_name , argv[mark] ); 

        }
#endif /* __OUT_RAW__ */

		else if ( get_parameter_flag("-frame_size") ) 
		{
			char *arg_bak ; int width , height ; 
			
			get_parameter_next() ; /* next */
			//get_parameter_read() ;
			
			arg_bak = argv[mark]; 
			width = (int)strtol(arg_bak, (char **)&arg_bak, 10) ; /* width */
			arg_bak +=  (arg_bak != NULL )  ;
			height = (int)strtol(arg_bak, (char **)&arg_bak, 10) ; /* height */

			width = (width >>4) << 4 ; /* picture width. (must be a multiple of 16) */
			height = (height >>4) << 4 ; /* picture height. (must be a multiple of 16) */

			m_width  = width ; 
			m_height = height ;
			
        }

		else if ( get_parameter_flag("-colorspace") )   
		{
            get_parameter_next() ; /* next */
			get_parameter_read() ; 
			m_colorspace = value ;  /* MPV_CSP_RGB32 = 5 */
        }

        get_parameter_next() ; /* next */

	}
	
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?