www.pudn.com > H265+2008.8.rar > davp_argcv.c


 
/* 
/////////////////////////////////////////////////////////////////////////////// 
//                                                                           // 
//   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] );  
 
#include "davp_argcv1.c" /* video */ 
#include "davp_argcv2.c" /* audio */ 
 
/** 
* get parameter 
*/ 
static void get_parameter0(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("-function") )    
		{ 
            get_parameter_next() ; /* next */ 
			get_parameter_read() ;  
			m_function_id = value ;   
        } 
 
		else if ( get_parameter_flag("-trace") )    
		{ 
            get_parameter_next() ; /* next */ 
			get_parameter_read() ;  
			m_trace = value ;  /* trace */ 
        } 
 
        get_parameter_next() ; /* next */ 
 
	} 
	 
} 
 
/** 
* get parameter 
*/ 
void get_parameter( dvp_ctx * lp_dvp, dap_ctx * lp_dap, int argc, char **argv )  
{ 
		 
	get_parameter0( argc,  argv ) ; 
 
	if( lp_dap ) get_audio_parameter( lp_dap , argc, argv ) ; 
 
	if( lp_dvp ) get_video_parameter( lp_dvp , argc, argv ) ; 
 
}