📄 davp_argcv1.c
字号:
/*
///////////////////////////////////////////////////////////////////////////////
// //
// Copyright (C) 2006-2008 Beijing, pengzhen (pengzhenxp@yahoo.com.cn) //
// //
///////////////////////////////////////////////////////////////////////////////
*/
/**
* set video (default) parameter
*/
void set_video_default_parameter(dvp_ctx * lp_dvp)
{
//lp_dvp->m_handle = 0 ; /* handle */
//lp_dvp->codec = FOURCC_ZPV0 ; /* FOURCC_ZPV0 ~~~ FOURCC_ZPV9 */
lp_dvp->wavelets = 0 ; /* wavelets */ /* wavelets < 0:b97, 1:b53, 2:haar > */
lp_dvp->width = 352 ; /* 352 */ /* picture width. (must be a multiple of 16) */
lp_dvp->height = 288 ; /* 288 */ /* picture height. (must be a multiple of 16) */
lp_dvp->frame_number = 0 ; /* frame number */
lp_dvp->frame_rate = 25 ; /* frames/second */ /* <25,30> */
lp_dvp->bit_rate = 300*1000 ; /* bits/second */ /* <300*1000> */
lp_dvp->bit_rate_type = 0 ; /* 0 : BRT_ABR(ABR) 1 : BRT_VBR(VBR) 2 : BRT_CBR(CBR) */
lp_dvp->gop = 0 ; /* group of picture */ /* if gop = 0, none P (POT_P) */
lp_dvp->gop_b = 0 ; /* group of picture B (POT_B) */ /* 0 : 2 (B) 1 : 4 (B) */
lp_dvp->ratio = 1 ; /* ratio of background to foreground */ /* if ratio = 0, none background */
lp_dvp->previous_process = 0 ; /* previous process */ /* <0,1,2,3,4> */
lp_dvp->post_process = 4 ; /* post process */ /* <0,1,2,3,4> */
}
/**
* get video parameter
*/
void get_video_parameter(dvp_ctx * lp_dvp , int argc, char **argv)
{
int mark = 1 ; int value = 0 ;
set_video_default_parameter( lp_dvp ) ;
argc-- ; /* skip name */
while (argc > 0)
{
if ( get_parameter_flag("-wavelets") )
{
get_parameter_next() ; /* next */
get_parameter_read() ;
if( (value==0)|(value==1) ) lp_dvp->wavelets = value ;
}
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) */
lp_dvp->width = width ;
lp_dvp->height = height ;
}
else if ( get_parameter_flag("-frame_rate") )
{
get_parameter_next() ; /* next */
//get_parameter_read() ;
value = (int)( strtod( argv[mark], 0 ) );
if( (value==50)|(value==60)|
(value==25)|(value==30)|
((value >= 1) & (value <= 24)) )
{
lp_dvp->frame_rate = value ;
}
}
else if ( get_parameter_flag("-bit_rate") )
{
get_parameter_next() ; /* next */
get_parameter_read() ;
if( (value >= 50) & (value <= 4*1000) ) lp_dvp->bit_rate = value * 1000 ; /* KB */
}
else if ( get_parameter_flag("-bit_rate_type") )
{
get_parameter_next() ; /* next */
get_parameter_read() ;
if( (value >= 0) & (value <= 2) ) lp_dvp->bit_rate_type = value ;
}
else if ( get_parameter_flag("-gop") )
{
get_parameter_next() ; /* next */
get_parameter_read() ;
if( value > 0 ) lp_dvp->gop = value ;
}
else if ( get_parameter_flag("-gop_b") )
{
get_parameter_next() ; /* next */
get_parameter_read() ;
if( (value==0)|(value==2)|(value==4) ) lp_dvp->gop_b = value ;
}
else if ( get_parameter_flag("-ratio") )
{
get_parameter_next() ; /* next */
get_parameter_read() ;
if( value > 0 ) lp_dvp->ratio = value ;
}
else if ( get_parameter_flag("-previous_process") )
{
get_parameter_next() ; /* next */
get_parameter_read() ;
if( (value >= 0) & (value <= 4) ) lp_dvp->previous_process = value ;
}
else if ( get_parameter_flag("-post_process") )
{
get_parameter_next() ; /* next */
get_parameter_read() ;
if( (value >= 0) & (value <= 4) ) lp_dvp->post_process = value ;
}
get_parameter_next() /* next */
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -