📄 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->wavelets = 0 ; /* wavelets */ /* 0 : w1, 1 : w2 */
//lp_dvp->wavelets = 1 ; /* wavelets */ /* 0 : w1, 1 : w2 */
lp_dvp->width = 352 ; /* 352 */ /* picture width. (must be a multiple of 32) */ /* CIF, D1, HD */
lp_dvp->height = 288 ; /* 288 */ /* picture height. (must be a multiple of 32) */ /* CIF, D1, HD */
lp_dvp->fps = 25 ; /* frames/second */ /* <25,30> */
lp_dvp->bps = 300*1000 ; /* bits/second */ /* <300*1000> */
lp_dvp->insert_i = 1 ; /* insert picture 'I' */ /* insert 'I', if insert_i = 1 */
lp_dvp->have_b = 1 ; /* have picture 'B' */ /* none 'B', if have_b = 0 */
lp_dvp->me_c = 0 ; /* chroma join motion_estimate (ME) */ /* 0 : no, 1 : yes */
lp_dvp->ms_t = 0 ; /* motion_search type */ /* 0 : diamond, 1 : advance diamond, 2 : small diamond, 3 : square,*/
lp_dvp->abr = 0 ; /* adaptive bit rate */ /* 0 : CBR, 1 : ABR */
//lp_dvp->ratio = 1 ; /* ratio of background to foreground */ /* none background, if ratio = 0 */
lp_dvp->gop = 512 ; /* group of picture */ /* only 'I', if gop = 0 */
lp_dvp->prp = 3 ; /* previous process */ /* <0,1,2,3> */
lp_dvp->pop = 3 ; /* post process */ /* <0,1,2,3> */
lp_dvp->bands = 2 ; /* wavelets bands */ /* <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 ; /* wavelets */ /* 0 : w1, 1 : w2 */
}
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 ;
height = (height >>4) << 4 ;
lp_dvp->width = width ; /* picture width. (must be a multiple of 16) */ /* 352 */ /* CIF, D1, HD */
lp_dvp->height = height ; /* picture height. (must be a multiple of 16) */ /* 288 */ /* CIF, D1, HD */
}
else if ( get_parameter_flag("-fps") )
{
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->fps = value ; /* frames/second */ /* 25, 30 */ /* 25 */
}
}
else if ( get_parameter_flag("-bps") )
{
get_parameter_next() ; /* next */
get_parameter_read() ;
/* bits/second */ /* 50 ~~~ 10k kbit/second */ /* <300*1000> */
if( (value >= 30) & (value <= 10*1000) ) lp_dvp->bps = value * 1000 ; /* KB */
}
else if ( get_parameter_flag("-gop") )
{
get_parameter_next() ; /* next */
get_parameter_read() ;
if( value >= 0 ) lp_dvp->gop = value ; /* group of picture */ /* none 'P', if gop = 0 */
}
else if ( get_parameter_flag("-have_b") )
{
get_parameter_next() ; /* next */
get_parameter_read() ;
lp_dvp->have_b = value & 0x01 ; /* have picture 'B' */ /* none 'B', if have_b = 0 */
}
else if ( get_parameter_flag("-abr") )
{
get_parameter_next() ; /* next */
get_parameter_read() ;
lp_dvp->abr = value & 0x01 ; /* adaptive bit rate */ /* 0 : CBR, 1 : ABR */
}
else if ( get_parameter_flag("-me_c") )
{
get_parameter_next() ; /* next */
get_parameter_read() ;
lp_dvp->me_c = value & 0x01 ; /* chroma join motion_estimate (ME) */ /* 0 : no, 1 : yes */
}
else if ( get_parameter_flag("-ms_t") )
{
get_parameter_next() ; /* next */
get_parameter_read() ;
/* motion_search type */ /* 0 : diamond, 1 : advance diamond, 2 : small diamond, 3 : square,*/
if( (value >= 0) & (value < 4) ) lp_dvp->ms_t = value ;
}
else if ( get_parameter_flag("-prp") )
{
get_parameter_next() ; /* next */
get_parameter_read() ;
if( (value >= 0) & (value < 4) ) lp_dvp->prp = value ; /* previous process */ /* <0,1,2,3> */
}
else if ( get_parameter_flag("-pop") )
{
get_parameter_next() ; /* next */
get_parameter_read() ;
if( (value >= 0) & (value < 4) ) lp_dvp->pop = value ; /* post process */ /* <0,1,2,3> */
}
get_parameter_next() /* next */
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -