亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? pvr.c

?? VLC Player Source Code
?? C
?? 第 1 頁 / 共 3 頁
字號:
        case 0x0030: return V4L2_MPEG_AUDIO_L2_BITRATE_56K;        case 0x0040: return V4L2_MPEG_AUDIO_L2_BITRATE_64K;        case 0x0050: return V4L2_MPEG_AUDIO_L2_BITRATE_80K;        case 0x0060: return V4L2_MPEG_AUDIO_L2_BITRATE_96K;        case 0x0070: return V4L2_MPEG_AUDIO_L2_BITRATE_112K;        case 0x0080: return V4L2_MPEG_AUDIO_L2_BITRATE_128K;        case 0x0090: return V4L2_MPEG_AUDIO_L2_BITRATE_160K;        case 0x00a0: return V4L2_MPEG_AUDIO_L2_BITRATE_192K;        case 0x00b0: return V4L2_MPEG_AUDIO_L2_BITRATE_224K;        case 0x00c0: return V4L2_MPEG_AUDIO_L2_BITRATE_256K;        case 0x00d0: return V4L2_MPEG_AUDIO_L2_BITRATE_320K;        case 0x00e0: return V4L2_MPEG_AUDIO_L2_BITRATE_384K;    }    return V4L2_MPEG_AUDIO_L2_BITRATE_192K;}/***************************************************************************** * V4L2AudioMode: calculate v4l2 audio mode from pvr-audio-bitmask *****************************************************************************/static uint32_t V4L2AudioMode( uint32_t i_bitmask ){    switch( i_bitmask & 0x0300 )    {        case 0x0100: return V4L2_MPEG_AUDIO_MODE_JOINT_STEREO;        case 0x0200: return V4L2_MPEG_AUDIO_MODE_DUAL;        case 0x0300: return V4L2_MPEG_AUDIO_MODE_MONO;    }    return V4L2_MPEG_AUDIO_MODE_STEREO;}/***************************************************************************** * ConfigureV4L2: set up codec parameters using the new v4l2 api *****************************************************************************/static int ConfigureV4L2( access_t * p_access ){    access_sys_t *p_sys = (access_sys_t *) p_access->p_sys;    struct v4l2_ext_controls controls;    int result;    memset( &controls, 0, sizeof(struct v4l2_ext_controls) );    controls.ctrl_class  = V4L2_CTRL_CLASS_MPEG;    controls.error_idx   = 0;    controls.reserved[0] = 0;    controls.reserved[1] = 0;    controls.count       = 0;    controls.controls    = calloc( sizeof( struct v4l2_ext_control ),                                   MAX_V4L2_CTRLS );    if( controls.controls == NULL )        return VLC_ENOMEM;    /* Note: Ignore frame rate.  Doesn't look like it can be changed. */    if( p_sys->i_bitrate != -1 )    {        AddV4L2Ctrl( p_access, &controls, V4L2_CID_MPEG_VIDEO_BITRATE,                     p_sys->i_bitrate );        msg_Dbg( p_access, "Setting [%u] bitrate = %u",                 controls.count - 1, p_sys->i_bitrate );    }    if( p_sys->i_bitrate_peak != -1 )    {        AddV4L2Ctrl( p_access, &controls, V4L2_CID_MPEG_VIDEO_BITRATE_PEAK,                     p_sys->i_bitrate_peak );        msg_Dbg( p_access, "Setting [%u] bitrate_peak = %u",                 controls.count - 1, p_sys->i_bitrate_peak );    }    if( p_sys->i_bitrate_mode != -1 )    {        AddV4L2Ctrl( p_access, &controls, V4L2_CID_MPEG_VIDEO_BITRATE_MODE,                     p_sys->i_bitrate_mode );        msg_Dbg( p_access, "Setting [%u] bitrate_mode = %u",                 controls.count - 1, p_sys->i_bitrate_mode );    }    if( p_sys->i_audio_bitmask != -1 )    {        /* Sample rate */        AddV4L2Ctrl( p_access, &controls, V4L2_CID_MPEG_AUDIO_SAMPLING_FREQ,                    V4L2SampleRate( p_sys->i_audio_bitmask ) );        /* Encoding layer and bitrate */        switch( V4L2AudioEncoding( p_sys->i_audio_bitmask ) )        {            case V4L2_MPEG_AUDIO_ENCODING_LAYER_1:                 AddV4L2Ctrl( p_access, &controls,                              V4L2_CID_MPEG_AUDIO_SAMPLING_FREQ,                              V4L2_MPEG_AUDIO_ENCODING_LAYER_1 );                 AddV4L2Ctrl( p_access, &controls,                              V4L2_CID_MPEG_AUDIO_L1_BITRATE,                              V4L2AudioL1Bitrate( p_sys->i_audio_bitmask ) );                 break;            case V4L2_MPEG_AUDIO_ENCODING_LAYER_2:                 AddV4L2Ctrl( p_access, &controls,                              V4L2_CID_MPEG_AUDIO_SAMPLING_FREQ,                              V4L2_MPEG_AUDIO_ENCODING_LAYER_2 );                 AddV4L2Ctrl( p_access, &controls,                              V4L2_CID_MPEG_AUDIO_L2_BITRATE,                              V4L2AudioL2Bitrate( p_sys->i_audio_bitmask ) );                 break;        }        /* Audio mode - stereo or mono */        AddV4L2Ctrl( p_access, &controls, V4L2_CID_MPEG_AUDIO_MODE,                     V4L2AudioMode( p_sys->i_audio_bitmask ) );        /* See if the user wants any other audio feature */        if( ( p_sys->i_audio_bitmask & 0x1ff00 ) != 0 )        {            /* It would be possible to support the bits that represent:             *   V4L2_CID_MPEG_AUDIO_MODE_EXTENSION             *   V4L2_CID_MPEG_AUDIO_EMPHASIS             *   V4L2_CID_MPEG_AUDIO_CRC             * but they are not currently used.  Tell the user.             */            msg_Err( p_access, "There were bits in pvr-audio-bitmask that were not used.");        }        msg_Dbg( p_access, "Setting audio controls");    }    if( p_sys->i_keyint != -1 )    {        AddV4L2Ctrl( p_access, &controls, V4L2_CID_MPEG_VIDEO_GOP_SIZE,                     p_sys->i_keyint );        msg_Dbg( p_access, "Setting [%u] keyint = %u",                 controls.count - 1, p_sys->i_keyint );    }    if( p_sys->i_bframes != -1 )    {        AddV4L2Ctrl( p_access, &controls, V4L2_CID_MPEG_VIDEO_B_FRAMES,                     p_sys->i_bframes );        msg_Dbg( p_access, "Setting [%u] bframes = %u",                 controls.count - 1, p_sys->i_bframes );    }    result = ioctl( p_sys->i_fd, VIDIOC_S_EXT_CTRLS, &controls );    if( result < 0 )    {        msg_Err( p_access, "Failed to write %u new capture card settings.",                            controls.error_idx );    }    free( controls.controls );    return VLC_SUCCESS;}#endif /* HAVE_NEW_LINUX_VIDEODEV2_H *//***************************************************************************** * Open: open the device *****************************************************************************/static int Open( vlc_object_t * p_this ){    access_t *p_access = (access_t*) p_this;    access_sys_t * p_sys;    char * psz_tofree;    char * psz_parser;    char * psz_device = NULL;    vlc_value_t val;    struct v4l2_capability device_capability;    int result;    memset( &device_capability, 0, sizeof(struct v4l2_capability) );    p_access->pf_read = Read;    p_access->pf_block = NULL;    p_access->pf_seek = NULL;    p_access->pf_control = Control;    p_access->info.i_update = 0;    p_access->info.i_size = 0;    p_access->info.i_pos = 0;    p_access->info.b_eof = false;    p_access->info.i_title = 0;    p_access->info.i_seekpoint = 0;    /* create private access data */    p_sys = calloc( sizeof( access_sys_t ), 1 );    if( !p_sys )        return VLC_ENOMEM;    p_access->p_sys = p_sys;    /* defaults values */    var_Create( p_access, "pvr-caching", VLC_VAR_INTEGER | VLC_VAR_DOINHERIT );    var_Create( p_access, "pvr-device", VLC_VAR_STRING | VLC_VAR_DOINHERIT );    var_Get( p_access, "pvr-device" , &val);    p_sys->psz_videodev = val.psz_string;    var_Create( p_access, "pvr-radio-device", VLC_VAR_STRING |                                              VLC_VAR_DOINHERIT );    var_Get( p_access, "pvr-radio-device" , &val);    p_sys->psz_radiodev = val.psz_string;    var_Create( p_access, "pvr-norm", VLC_VAR_INTEGER | VLC_VAR_DOINHERIT );    var_Get( p_access, "pvr-norm" , &val);    p_sys->i_standard = val.i_int;    var_Create( p_access, "pvr-width", VLC_VAR_INTEGER | VLC_VAR_DOINHERIT );    var_Get( p_access, "pvr-width" , &val);    p_sys->i_width = val.i_int;    var_Create( p_access, "pvr-height", VLC_VAR_INTEGER | VLC_VAR_DOINHERIT );    var_Get( p_access, "pvr-height" , &val);    p_sys->i_height = val.i_int;    var_Create( p_access, "pvr-frequency", VLC_VAR_INTEGER | VLC_VAR_DOINHERIT );    var_Get( p_access, "pvr-frequency" , &val);    p_sys->i_frequency = val.i_int;    var_Create( p_access, "pvr-framerate", VLC_VAR_INTEGER | VLC_VAR_DOINHERIT );    var_Get( p_access, "pvr-framerate" , &val);    p_sys->i_framerate = val.i_int;    var_Create( p_access, "pvr-keyint", VLC_VAR_INTEGER | VLC_VAR_DOINHERIT );    var_Get( p_access, "pvr-keyint" , &val);    p_sys->i_keyint = val.i_int;    var_Create( p_access, "pvr-bframes", VLC_VAR_INTEGER | VLC_VAR_DOINHERIT );    var_Get( p_access, "pvr-bframes" , &val);    p_sys->i_bframes = val.b_bool;    var_Create( p_access, "pvr-bitrate", VLC_VAR_INTEGER | VLC_VAR_DOINHERIT );    var_Get( p_access, "pvr-bitrate" , &val);    p_sys->i_bitrate = val.i_int;    var_Create( p_access, "pvr-bitrate-peak", VLC_VAR_INTEGER |                                              VLC_VAR_DOINHERIT );    var_Get( p_access, "pvr-bitrate-peak" , &val);    p_sys->i_bitrate_peak = val.i_int;    var_Create( p_access, "pvr-bitrate-mode", VLC_VAR_INTEGER |                                              VLC_VAR_DOINHERIT );    var_Get( p_access, "pvr-bitrate-mode" , &val);    p_sys->i_bitrate_mode = val.i_int;    var_Create( p_access, "pvr-audio-bitmask", VLC_VAR_INTEGER |                                              VLC_VAR_DOINHERIT );    var_Get( p_access, "pvr-audio-bitmask" , &val);    p_sys->i_audio_bitmask = val.i_int;    var_Create( p_access, "pvr-audio-volume", VLC_VAR_INTEGER |                                              VLC_VAR_DOINHERIT );    var_Get( p_access, "pvr-audio-volume" , &val);    p_sys->i_volume = val.i_int;    var_Create( p_access, "pvr-channel", VLC_VAR_INTEGER |                                              VLC_VAR_DOINHERIT );    var_Get( p_access, "pvr-channel" , &val);    p_sys->i_input = val.i_int;    /* parse command line options */    psz_tofree = strdup( p_access->psz_path );    if( !psz_tofree )        return VLC_ENOMEM;    psz_parser = psz_tofree;    if( *psz_parser )    {        for( ;; )        {            if ( !strncmp( psz_parser, "norm=", strlen( "norm=" ) ) )            {                char *psz_parser_init;                psz_parser += strlen( "norm=" );                psz_parser_init = psz_parser;                while ( (*psz_parser != ':')                        && (*psz_parser != ',')                        && (*psz_parser != '\0') )                {                    psz_parser++;                }                if ( !strncmp( psz_parser_init, "secam" ,                               psz_parser - psz_parser_init ) )                {                    p_sys->i_standard = V4L2_STD_SECAM;                }                else if ( !strncmp( psz_parser_init, "pal" ,                                    psz_parser - psz_parser_init ) )                {                    p_sys->i_standard = V4L2_STD_PAL;                }                else if ( !strncmp( psz_parser_init, "ntsc" ,                                    psz_parser - psz_parser_init ) )                {                    p_sys->i_standard = V4L2_STD_NTSC;                }                else                {                    p_sys->i_standard = strtol( psz_parser_init ,                                                &psz_parser, 0 );                }            }            else if( !strncmp( psz_parser, "channel=",                               strlen( "channel=" ) ) )            {                p_sys->i_input =                    strtol( psz_parser + strlen( "channel=" ),                            &psz_parser, 0 );            }            else if( !strncmp( psz_parser, "device=", strlen( "device=" ) ) )            {                int i_len = strlen( "/dev/videox" );                psz_device = calloc( i_len  + 1, 1 );                if( !psz_device )                    return VLC_ENOMEM;                snprintf( psz_device, i_len, "/dev/video%ld",                            strtol( psz_parser + strlen( "device=" ),                            &psz_parser, 0 ) );            }            else if( !strncmp( psz_parser, "frequency=",                               strlen( "frequency=" ) ) )            {                p_sys->i_frequency =                    strtol( psz_parser + strlen( "frequency=" ),                            &psz_parser, 0 );            }            else if( !strncmp( psz_parser, "framerate=",                               strlen( "framerate=" ) ) )            {                p_sys->i_framerate =                    strtol( psz_parser + strlen( "framerate=" ),                            &psz_parser, 0 );            }            else if( !strncmp( psz_parser, "keyint=",                               strlen( "keyint=" ) ) )            {                p_sys->i_keyint =                    strtol( psz_parser + strlen( "keyint=" ),                            &psz_parser, 0 );            }            else if( !strncmp( psz_parser, "bframes=",                               strlen( "bframes=" ) ) )            {                p_sys->i_bframes =                    strtol( psz_parser + strlen( "bframes=" ),                            &psz_parser, 0 );            }            else if( !strncmp( psz_parser, "width=",                               strlen( "width=" ) ) )            {                p_sys->i_width =                    strtol( psz_parser + strlen( "width=" ),                            &psz_parser, 0 );            }            else if( !strncmp( psz_parser, "height=",                               strlen( "height=" ) ) )            {                p_sys->i_height =                    strtol( psz_parser + strlen( "height=" ),                            &psz_parser, 0 );            }            else if( !strncmp( psz_parser, "audio=",                               strlen( "audio=" ) ) )            {                p_sys->i_audio_bitmask =                    strtol( psz_parser + strlen( "audio=" ),                            &psz_parser, 0 );            }            else if( !strncmp( psz_parser, "bitrate=",                               strlen( "bitrate=" ) ) )            {                p_sys->i_bitrate =                    strtol( psz_parser + strlen( "bitrate=" ),                            &psz_parser, 0 );            }            else if( !strncmp( psz_parser, "maxbitrate=",                               strlen( "maxbitrate=" ) ) )            {                p_sys->i_bitrate_peak =                    strtol( psz_parser + strlen( "maxbitrate=" ),                            &psz_parser, 0 );            }            else if( !strncmp( psz_parser, "bitratemode=",                               strlen( "bitratemode=" ) ) )            {                char *psz_parser_init;                psz_parser += strlen( "bitratemode=" );                psz_parser_init = psz_parser;                while ( (*psz_parser != ':')                        && (*psz_parser != ',')                        && (*psz_parser != '\0') )                {                    psz_parser++;                }

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久99精品国产.久久久久| 国产日韩一级二级三级| 亚洲成人777| 精品久久一区二区| www.视频一区| 三级欧美在线一区| 国产视频一区不卡| 在线欧美日韩国产| 国模一区二区三区白浆| 最新中文字幕一区二区三区| 欧美日韩国产a| 老司机免费视频一区二区| 国产欧美日本一区视频| 精品视频在线视频| 国产精品综合av一区二区国产馆| 亚洲人快播电影网| 日韩精品一区二区三区老鸭窝 | 成人av综合在线| 午夜欧美电影在线观看| 国产日韩精品一区二区三区 | 午夜影院久久久| 国产日韩欧美激情| 欧美日韩在线电影| 高清免费成人av| 婷婷久久综合九色国产成人| 久久久久久日产精品| 在线观看欧美日本| 国产宾馆实践打屁股91| 天堂精品中文字幕在线| 亚洲视频在线一区观看| 日韩一区和二区| 在线观看免费一区| 成人的网站免费观看| 久久精品国产秦先生| 亚洲小说春色综合另类电影| 国产精品毛片久久久久久久| 亚洲精品一区二区精华| 欧美丰满少妇xxxbbb| 色哦色哦哦色天天综合| 懂色av一区二区夜夜嗨| 另类专区欧美蜜桃臀第一页| 一区二区高清视频在线观看| 中文字幕av不卡| 精品国产污污免费网站入口 | 18欧美亚洲精品| 久久久久久久久蜜桃| 日韩午夜精品电影| 91精品国产手机| 欧美日韩国产色站一区二区三区| 91麻豆成人久久精品二区三区| 国产在线播精品第三| 久久国产福利国产秒拍| 麻豆一区二区三区| 午夜a成v人精品| 一区二区三区在线视频观看58| 一区在线观看视频| 综合电影一区二区三区 | 欧美性受xxxx黑人xyx性爽| 成人久久视频在线观看| 国产高清亚洲一区| 国产精品一色哟哟哟| 国产九色sp调教91| 国产成人综合在线观看| 国产传媒一区在线| 国产综合成人久久大片91| 国产麻豆精品在线| 国产91精品精华液一区二区三区| 国产成人自拍网| 福利一区二区在线观看| 成人午夜在线视频| jizz一区二区| 91久久香蕉国产日韩欧美9色| thepron国产精品| 色综合久久九月婷婷色综合| 一本到不卡精品视频在线观看| 欧美无砖专区一中文字| 欧美成人精品福利| 亚洲欧洲另类国产综合| 香蕉成人伊视频在线观看| 国产米奇在线777精品观看| av网站免费线看精品| 欧美精品日韩一区| 国产精品女主播在线观看| 亚洲v中文字幕| 国产河南妇女毛片精品久久久| 在线亚洲一区观看| 亚洲精品在线电影| 亚洲永久精品大片| 国产精品一二三| 欧美日韩中文字幕一区| 国产性天天综合网| 亚洲成av人片一区二区梦乃| 国产精品亚洲视频| 欧美日韩国产一级二级| 国产精品九色蝌蚪自拍| 日韩不卡一二三区| 99re这里只有精品6| 精品国产一区二区三区久久影院| 亚洲综合色丁香婷婷六月图片| 韩国成人福利片在线播放| 欧美三级视频在线| 国产精品欧美久久久久一区二区| 日韩精品福利网| 97久久精品人人做人人爽50路| 精品第一国产综合精品aⅴ| 亚洲一区二区三区在线看| 国产成人精品免费视频网站| 91精品国产综合久久香蕉的特点| 亚洲视频香蕉人妖| 国产精品一二三四| 精品剧情v国产在线观看在线| 亚洲午夜久久久久久久久电影网| 成人深夜福利app| 久久在线观看免费| 奇米亚洲午夜久久精品| 欧美影院精品一区| 亚洲色图.com| 91在线视频18| 国产欧美日韩激情| 国产一区二区久久| 日韩精品一区二区在线观看| 日本网站在线观看一区二区三区 | voyeur盗摄精品| 国产日韩欧美一区二区三区综合| 久久精品国产**网站演员| 欧美精品xxxxbbbb| 亚洲综合小说图片| 欧日韩精品视频| 亚洲尤物在线视频观看| 91农村精品一区二区在线| 国产精品盗摄一区二区三区| 国产精品66部| 久久精品人人爽人人爽| 国产乱色国产精品免费视频| 久久久天堂av| 丰满亚洲少妇av| 欧美国产日韩精品免费观看| 国产91精品一区二区麻豆亚洲| 国产亚洲一区字幕| 国产剧情一区在线| 国产欧美一区二区精品性色| 高清国产一区二区三区| 中文字幕在线视频一区| 高清成人在线观看| 自拍偷拍亚洲综合| 91成人在线精品| 午夜视频一区二区| 91精品国产欧美一区二区18| 日本美女一区二区| 日韩欧美电影一二三| 精品一区二区日韩| 国产亚洲一区二区三区四区| 国产99精品国产| 成人欧美一区二区三区黑人麻豆| 91丨九色丨蝌蚪丨老版| 亚洲精选视频在线| 在线91免费看| 久久福利资源站| 国产欧美中文在线| 色综合一区二区| 亚洲午夜精品17c| 91精品国产手机| 国产河南妇女毛片精品久久久 | 国产精品久线在线观看| av电影在线观看完整版一区二区| 亚洲欧美日韩系列| 欧美精选午夜久久久乱码6080| 麻豆高清免费国产一区| 国产婷婷色一区二区三区 | 91成人在线观看喷潮| 美女任你摸久久| 国产精品欧美极品| 69堂亚洲精品首页| 成人黄色一级视频| 亚洲国产综合视频在线观看| 日韩一区二区在线看| 成人亚洲一区二区一| 亚洲sss视频在线视频| 日韩欧美在线123| 成人性生交大片免费看中文| 一个色在线综合| 精品久久久久一区二区国产| 99久久综合精品| 日本女人一区二区三区| 中文字幕制服丝袜一区二区三区| 欧美日韩免费观看一区二区三区 | 免费成人你懂的| 国产精品乱子久久久久| 制服丝袜亚洲播放| 不卡欧美aaaaa| 久久精品国产精品亚洲红杏 | 三级影片在线观看欧美日韩一区二区| 久久精品在线免费观看| 欧美日韩一区二区三区高清| 成人在线一区二区三区| 裸体歌舞表演一区二区| 一区二区三区蜜桃| 中文一区二区在线观看| 欧美一区二区视频网站| 日本韩国一区二区三区视频|