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

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

?? ripple.c

?? VLC Player Source Code
?? C
字號(hào):
/***************************************************************************** * ripple.c : Ripple video effect plugin for vlc ***************************************************************************** * Copyright (C) 2000-2006 the VideoLAN team * $Id$ * * Authors: Samuel Hocevar <sam@zoy.org> *          Antoine Cellerier <dionoea -at- videolan -dot- org> * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA. *****************************************************************************//***************************************************************************** * Preamble *****************************************************************************/#ifdef HAVE_CONFIG_H# include "config.h"#endif#include <math.h>                                            /* sin(), cos() */#include <vlc_common.h>#include <vlc_plugin.h>#include <vlc_vout.h>#include <vlc_filter.h>#include "filter_picture.h"/***************************************************************************** * Local prototypes *****************************************************************************/static int  Create    ( vlc_object_t * );static void Destroy   ( vlc_object_t * );static picture_t *Filter( filter_t *, picture_t * );/***************************************************************************** * Module descriptor *****************************************************************************/vlc_module_begin();    set_description( N_("Ripple video filter") );    set_shortname( N_( "Ripple" ));    set_capability( "video filter2", 0 );    set_category( CAT_VIDEO );    set_subcategory( SUBCAT_VIDEO_VFILTER );    add_shortcut( "ripple" );    set_callbacks( Create, Destroy );vlc_module_end();/***************************************************************************** * vout_sys_t: Distort video output method descriptor ***************************************************************************** * This structure is part of the video output thread descriptor. * It describes the Distort specific properties of an output thread. *****************************************************************************/struct filter_sys_t{    double  f_angle;    mtime_t last_date;};/***************************************************************************** * Create: allocates Distort video thread output method ***************************************************************************** * This function allocates and initializes a Distort vout method. *****************************************************************************/static int Create( vlc_object_t *p_this ){    filter_t *p_filter = (filter_t *)p_this;    /* Allocate structure */    p_filter->p_sys = malloc( sizeof( filter_sys_t ) );    if( p_filter->p_sys == NULL )        return VLC_ENOMEM;    p_filter->pf_video_filter = Filter;    p_filter->p_sys->f_angle = 0.0;    p_filter->p_sys->last_date = 0;    return VLC_SUCCESS;}/***************************************************************************** * Destroy: destroy Distort video thread output method ***************************************************************************** * Terminate an output method created by DistortCreateOutputMethod *****************************************************************************/static void Destroy( vlc_object_t *p_this ){    filter_t *p_filter = (filter_t *)p_this;    free( p_filter->p_sys );}/***************************************************************************** * Render: displays previously rendered output ***************************************************************************** * This function send the currently rendered image to Distort image, waits * until it is displayed and switch the two rendering buffers, preparing next * frame. *****************************************************************************/static picture_t *Filter( filter_t *p_filter, picture_t *p_pic ){    picture_t *p_outpic;    int i_index;    double f_angle;    mtime_t new_date = mdate();    if( !p_pic ) return NULL;    p_outpic = filter_NewPicture( p_filter );    if( !p_outpic )    {        picture_Release( p_pic );        return NULL;    }    p_filter->p_sys->f_angle -= (p_filter->p_sys->last_date - new_date) / 100000.0;    p_filter->p_sys->last_date = new_date;    f_angle = p_filter->p_sys->f_angle;    for( i_index = 0 ; i_index < p_pic->i_planes ; i_index++ )    {        int i_line, i_first_line, i_num_lines, i_offset, i_pixel_pitch,            i_visible_pixels;        uint8_t black_pixel;        uint8_t *p_in, *p_out;        black_pixel = ( p_pic->i_planes > 1 && i_index == Y_PLANE ) ? 0x00                                                                    : 0x80;        i_num_lines = p_pic->p[i_index].i_visible_lines;        i_pixel_pitch = p_pic->p[i_index].i_pixel_pitch;        i_visible_pixels = p_pic->p[i_index].i_visible_pitch/p_pic->p[i_index].i_pixel_pitch;        i_first_line = i_num_lines * 4 / 5;        p_in = p_pic->p[i_index].p_pixels;        p_out = p_outpic->p[i_index].p_pixels;        for( i_line = 0 ; i_line < i_first_line ; i_line++ )        {            vlc_memcpy( p_out, p_in, p_pic->p[i_index].i_visible_pitch );            p_in += p_pic->p[i_index].i_pitch;            p_out += p_outpic->p[i_index].i_pitch;        }        /* Ok, we do 3 times the sin() calculation for each line. So what ? */        for( i_line = i_first_line ; i_line < i_num_lines ; i_line++ )        {            /* Calculate today's offset, don't go above 1/20th of the screen */            i_offset = (int)( (double)(i_visible_pixels)                         * sin( f_angle + 2.0 * (double)i_line                                              / (double)( 1 + i_line                                                            - i_first_line) )                         * (double)(i_line - i_first_line)                         / (double)i_num_lines                         / 8.0 )*p_pic->p[i_index].i_pixel_pitch;            if( i_offset )            {                if( i_offset < 0 )                {                    vlc_memcpy( p_out, p_in - i_offset,                                p_pic->p[i_index].i_visible_pitch + i_offset );                    p_in -= p_pic->p[i_index].i_pitch;                    p_out += p_outpic->p[i_index].i_pitch;                    vlc_memset( p_out + i_offset, black_pixel, -i_offset );                }                else                {                    vlc_memcpy( p_out + i_offset, p_in,                                p_pic->p[i_index].i_visible_pitch - i_offset );                    vlc_memset( p_out, black_pixel, i_offset );                    p_in -= p_pic->p[i_index].i_pitch;                    p_out += p_outpic->p[i_index].i_pitch;                }            }            else            {                vlc_memcpy( p_out, p_in, p_pic->p[i_index].i_visible_pitch );                p_in -= p_pic->p[i_index].i_pitch;                p_out += p_outpic->p[i_index].i_pitch;            }        }    }    return CopyInfoAndRelease( p_outpic, p_pic );}

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
美女视频黄 久久| 欧美—级在线免费片| 日韩免费视频一区二区| 久久久久久久久久久电影| 国产精品成人在线观看| 亚洲动漫第一页| 激情文学综合网| 一本大道久久a久久精二百| 正在播放一区二区| 国产片一区二区三区| 亚洲一区二区偷拍精品| 韩国精品主播一区二区在线观看 | 欧美性感一区二区三区| 日韩午夜在线观看视频| 中文字幕一区二区三区在线不卡 | 6080日韩午夜伦伦午夜伦| 欧美精品一区二区三区久久久 | 色网综合在线观看| 日韩视频免费观看高清完整版在线观看| 国产日韩精品一区二区三区| 一二三四社区欧美黄| 国产黄色精品视频| 欧美裸体一区二区三区| 国产精品久久免费看| 奇米影视一区二区三区小说| 99久久精品99国产精品| 精品福利一二区| 亚洲va韩国va欧美va| 成人av网站在线| 日韩久久久久久| 亚洲成人自拍一区| av激情亚洲男人天堂| 欧美精品一区男女天堂| 日韩精品久久理论片| 91成人免费网站| 中文字幕中文字幕一区二区| 狠狠狠色丁香婷婷综合久久五月| 色噜噜狠狠成人网p站| 国产午夜精品久久久久久久| 欧美a级理论片| 91国偷自产一区二区开放时间| 中文字幕免费观看一区| 激情综合色综合久久综合| 欧美二区在线观看| 亚洲电影在线免费观看| 色诱亚洲精品久久久久久| 国产蜜臀av在线一区二区三区| 美女一区二区视频| 欧美日本免费一区二区三区| 亚洲精品乱码久久久久久久久 | 国产精品成人在线观看| 国产精品资源在线看| 日韩视频一区二区三区在线播放| 亚洲高清视频在线| 色哟哟精品一区| 综合久久综合久久| 不卡在线视频中文字幕| 欧美激情一区二区三区不卡| 国产麻豆欧美日韩一区| 日韩精品一区在线| 人禽交欧美网站| 91精品免费在线| 婷婷久久综合九色综合绿巨人| 欧美亚洲一区三区| 一区二区三区在线观看欧美| 色综合中文综合网| 日韩欧美国产高清| 日本一区中文字幕| 日韩午夜av一区| 久久成人麻豆午夜电影| 日韩欧美在线1卡| 裸体健美xxxx欧美裸体表演| 日韩欧美久久久| 国产一区二区在线视频| 久久久久久久久久久久久久久99| 国产一区二区三区国产| 国产欧美一区二区精品性| 国产成人小视频| 国产精品久久久久久久裸模| 99视频精品免费视频| **网站欧美大片在线观看| 色哟哟日韩精品| 婷婷久久综合九色综合伊人色| 欧美一区二区三区在线观看| 激情伊人五月天久久综合| 国产拍欧美日韩视频二区| av一区二区三区在线| 一区二区三区四区在线免费观看| 欧美性猛片xxxx免费看久爱| 日韩电影在线一区二区三区| 精品国产一区二区三区久久影院| 国产一区二区三区蝌蚪| 国产精品久久久久桃色tv| 91一区在线观看| 视频一区二区中文字幕| 26uuu亚洲综合色欧美| 成人综合婷婷国产精品久久| 亚洲男女一区二区三区| 欧美日韩亚洲不卡| 国产在线精品一区二区三区不卡 | 成人av资源下载| 亚洲狠狠爱一区二区三区| 日韩欧美卡一卡二| 不卡av在线免费观看| 亚洲综合色视频| 精品国一区二区三区| 99久久国产综合精品色伊| 午夜精品福利久久久| 久久综合久久综合久久| 91亚洲精品久久久蜜桃网站| 婷婷国产v国产偷v亚洲高清| 国产日韩欧美高清在线| 欧美日韩一区二区电影| 免费成人你懂的| 亚洲视频一二三区| 欧美大片日本大片免费观看| 国产成人自拍高清视频在线免费播放| 亚洲欧美另类久久久精品| 日韩欧美一级在线播放| 不卡一二三区首页| 蜜臀av性久久久久蜜臀aⅴ| 中文字幕欧美日本乱码一线二线| 欧美人妇做爰xxxⅹ性高电影| 国产老肥熟一区二区三区| 亚洲尤物在线视频观看| 精品久久久久一区| 一本久久a久久精品亚洲 | 国产欧美日韩中文久久| 欧美精品乱码久久久久久按摩 | 中文字幕成人网| 欧美人伦禁忌dvd放荡欲情| 成人精品视频一区| 免费成人在线播放| 亚洲免费在线视频一区 二区| 欧美一区二区三区视频在线观看| 白白色 亚洲乱淫| 久久99久久99精品免视看婷婷| 亚洲日本在线观看| 国产亚洲一区二区三区四区 | 美国三级日本三级久久99 | 欧美午夜精品电影| 风间由美性色一区二区三区| 日精品一区二区| 亚洲精品成人少妇| 国产日韩欧美在线一区| 这里只有精品免费| 在线一区二区三区四区五区| 国产91在线观看丝袜| 久久成人久久爱| 日韩av午夜在线观看| 一区二区成人在线观看| 欧美国产日产图区| 精品福利一二区| 日韩亚洲欧美在线| 欧美美女直播网站| 欧美在线一区二区| 99久久婷婷国产综合精品电影 | 国产精品欧美一区二区三区| 欧美sm极限捆绑bd| 欧美一区二区高清| 欧美日韩精品一二三区| 在线免费观看成人短视频| 波多野结衣一区二区三区| 国产精品一线二线三线精华| 玖玖九九国产精品| 免费欧美日韩国产三级电影| 亚洲一区二区三区四区在线免费观看| 国产精品国产三级国产aⅴ中文| 国产亚洲精品bt天堂精选| 久久影视一区二区| 精品sm捆绑视频| 精品国产一区二区亚洲人成毛片| 日韩视频免费观看高清完整版在线观看| 欧美巨大另类极品videosbest| 欧美在线免费观看亚洲| 色综合天天狠狠| 日本高清不卡一区| 欧美性猛交xxxx乱大交退制版| 欧美专区亚洲专区| 精品婷婷伊人一区三区三| 欧美日韩亚洲综合在线 欧美亚洲特黄一级| 91久久精品一区二区三区| 91免费在线播放| 欧美最猛黑人xxxxx猛交| 在线观看免费视频综合| 欧美视频一区二| 制服丝袜成人动漫| 精品国产伦一区二区三区观看方式| 91精品国产91久久久久久一区二区 | 久久伊人中文字幕| 久久精品在这里| 国产精品毛片大码女人| 成人免费视频在线观看| 一区二区三区在线看| 香港成人在线视频| 美腿丝袜亚洲综合| 国产精品自产自拍| 91免费精品国自产拍在线不卡| 色天使色偷偷av一区二区| 欧美美女一区二区在线观看|