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

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

?? output.h

?? linux下實(shí)現(xiàn)視頻播放的播放器
?? H
字號(hào):
/* *  Copyright (C) 2005-2008  gulikoza, mtrooper * *  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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *//* $Id$ */#ifndef OUTPUT_ENUM#define OUTPUT_ENUMenum OUTPUT { OVERLAY = 0, GDI = 1, DDRAW = 2, OPENGL = 3 };#endif // OUTPUT_ENUM#ifdef USES_BASECLASS#ifndef OUTPUT_H#define OUTPUT_H// Deinterlace methods#include "deinterlace/Deinterlacer.h"#include "deinterlace/WeaveDeinterlacer.h"#include "deinterlace/DiscardDeinterlacer.h"#include "deinterlace/MeanDeinterlacer.h"#include "deinterlace/BlendDeinterlacer.h"#include "memcpy.h"#if (C_HAS_LIBPOSTPROC)#include "main.h"extern "C" {#include <postproc/postprocess.h>}#endif#define MODULE "Output"// Output method base classclass Output {private:protected:    bool half;    int width, height;    SDL_Surface * surface;    Uint32 format;    Deinterlacer * deinterlacer;    MEM_COPY MemCopy;#if (C_HAS_LIBPOSTPROC)    deint ppDeint;    pp_mode_t * ppMode;    pp_context_t * ppContext;    unsigned char * ppsrc[3];    unsigned char * ppdst[3];#endif    void Render(unsigned char *ptr[], unsigned char *src[], deint * d) {#if (C_HAS_LIBPOSTPROC)	if(sdl.ppEnabled) {	    if(SDL_memcmp(&ppDeint, d, sizeof(deint))) {		SDL_memcpy(&ppDeint, d, sizeof(deint));		if(ppContext != NULL) {		    _aligned_free(ppsrc[0]);		    _aligned_free(ppsrc[1]);		    _aligned_free(ppsrc[2]);		    _aligned_free(ppdst[0]);		    _aligned_free(ppdst[1]);		    _aligned_free(ppdst[2]);		    pp_free_context(ppContext);		}		ppContext = pp_get_context(width, height, PP_FORMAT_420);		LOG_MSG("Creating %dx%d PP buffers", d->width,  d->height);		ppsrc[0] = (unsigned char *)_aligned_malloc(ppDeint.dst_pitch[2] * ppDeint.height, 64);		ppsrc[1] = (unsigned char *)_aligned_malloc(ppDeint.dst_pitch[0] * ppDeint.height>>1, 64);		ppsrc[2] = (unsigned char *)_aligned_malloc(ppDeint.dst_pitch[1] * ppDeint.height>>1, 64);		ppdst[0] = (unsigned char *)_aligned_malloc(ppDeint.dst_pitch[2] * ppDeint.height, 64);		ppdst[1] = (unsigned char *)_aligned_malloc(ppDeint.dst_pitch[0] * ppDeint.height>>1, 64);		ppdst[2] = (unsigned char *)_aligned_malloc(ppDeint.dst_pitch[1] * ppDeint.height>>1, 64);	    }	    unsigned char * tmp[3];	    tmp[0] = ppsrc[1];	    tmp[1] = ppsrc[2];	    tmp[2] = ppsrc[0];	    deinterlacer->Render(tmp, src, &ppDeint);	    // Postprocess wants YUV, we have UVY	    ppDeint.dst_pitch[0] = d->dst_pitch[2];	    ppDeint.dst_pitch[2] = d->dst_pitch[1];	    pp_postprocess(ppsrc, ppDeint.dst_pitch, ppdst, ppDeint.dst_pitch, ppDeint.width, ppDeint.height,			    NULL, 0, ppMode, ppContext, PP_FORMAT_420);	    ppDeint.dst_pitch[0] = d->dst_pitch[0];	    ppDeint.dst_pitch[2] = d->dst_pitch[2];	    // Copy to output	    MemCopy(ptr[2], ppdst[0], ppDeint.dst_pitch[2] * ppDeint.height);	    MemCopy(ptr[0], ppdst[1], ppDeint.dst_pitch[0] * (ppDeint.height>>1));	    MemCopy(ptr[1], ppdst[2], ppDeint.dst_pitch[1] * (ppDeint.height>>1));	} else {	    deinterlacer->Render(ptr, src, d);	}#else	deinterlacer->Render(ptr, src, d);#endif    }public:    Output():half(false),surface(NULL),deinterlacer(NULL)#if (C_HAS_LIBPOSTPROC)	,ppMode(NULL),ppContext(NULL)#endif    {#ifdef HAVE_ALTIVEC_H	if(SDL_HasAltiVec()) {	    MemCopy = IPTV_memcpy;	    LOG_MSG("Using Altivec optimizations");	} else#endif#if (C_HOSTCPU == X86) || (C_HOSTCPU == X86_64)	if(SDL_HasSSE2()) {	    MemCopy = sse_memcpy;	    LOG_MSG("Using SSE2 optimizations");	} else	if(SDL_HasSSE()) {	    MemCopy = sse_memcpy;	    LOG_MSG("Using SSE optimizations");	} else	if(SDL_Has3DNow()) {	    MemCopy = mmx_memcpy;	    LOG_MSG("Using 3DNow optimizations");	} else	if(SDL_HasMMX()) {	    MemCopy = mmx_memcpy;	    LOG_MSG("Using MMX optimizations");	} else#endif	{	    MemCopy = IPTV_memcpy;	    LOG_MSG("Using unoptimized copy");	}#if (C_HAS_LIBPOSTPROC)	SDL_memset(&ppDeint, 0, sizeof(deint));	ppMode = pp_get_mode_by_name_and_quality((char*)sdl.ppMode.c_str(), 1);#endif    }    virtual int Create(int, int, Uint32, SDL_Surface *) = 0;    virtual int CopyData(struct Buffer *) = 0;    virtual int SwapBuffers(SDL_Rect *) = 0;    virtual void Free(void) = 0;    virtual void SetDeinterlace(char d) {	if(deinterlacer) delete deinterlacer;	LOG_MSG("Setting deinterlace mode: %d", d);	switch (d) {	    case DEINT_WEAVE:		deinterlacer = new WeaveDeinterlacer();		break;	    case DEINT_DISCARD:		deinterlacer = new DiscardDeinterlacer();		break;	    case DEINT_MEAN:		deinterlacer = new MeanDeinterlacer;		break;	    case DEINT_BLEND:		deinterlacer = new BlendDeinterlacer;		break;	}    }    virtual ~Output() {	if(deinterlacer) delete deinterlacer; deinterlacer = NULL;#if (C_HAS_LIBPOSTPROC)	if(ppContext != NULL) {	    _aligned_free(ppsrc[0]);	    _aligned_free(ppsrc[1]);	    _aligned_free(ppsrc[2]);	    _aligned_free(ppdst[0]);	    _aligned_free(ppdst[1]);	    _aligned_free(ppdst[2]);	    pp_free_context(ppContext);	}	pp_free_mode(ppMode);#endif    }};#undef MODULE#include "overlay.h"#include "ddraw.h"#include "opengl.h"#endif // OUTPUT_H#endif // USES_BASECLASS

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美日产在线观看| 3d动漫精品啪啪1区2区免费| 亚洲国产成人精品视频| 精品国偷自产国产一区| 欧美在线观看视频一区二区三区| 久久丁香综合五月国产三级网站| 亚洲欧洲精品一区二区三区不卡| 欧美一区二区三区的| 91麻豆精东视频| 激情欧美一区二区三区在线观看| 韩国成人精品a∨在线观看| 一区二区三区加勒比av| 国产三级精品三级| 欧美一区二区在线观看| 欧洲一区在线电影| 成人av综合在线| 狠狠久久亚洲欧美| 欧美aaa在线| 亚洲 欧美综合在线网络| 亚洲免费av网站| 国产精品久久夜| 国产欧美va欧美不卡在线| 欧美一区二区视频网站| 欧美在线观看禁18| 91丝袜美腿高跟国产极品老师 | 日韩av午夜在线观看| 亚洲丝袜精品丝袜在线| 亚洲国产精品99久久久久久久久| 日韩一区二区精品| 欧美精品久久一区| 欧美高清www午色夜在线视频| 在线亚洲+欧美+日本专区| av电影在线观看不卡| 成人黄色软件下载| 国产一区91精品张津瑜| 精品一区二区成人精品| 久久国产福利国产秒拍| 久久国产精品色| 极品少妇xxxx偷拍精品少妇| 蜜臀精品一区二区三区在线观看| 亚洲sss视频在线视频| 亚洲午夜私人影院| 日日夜夜精品视频免费| 日韩va亚洲va欧美va久久| 日本vs亚洲vs韩国一区三区二区| 青娱乐精品视频在线| 精品中文字幕一区二区| 欧美欧美欧美欧美首页| 在线亚洲+欧美+日本专区| 欧美吞精做爰啪啪高潮| 欧美日韩视频不卡| 日韩一区二区精品葵司在线| 久久综合久久久久88| 久久久久久久精| 国产精品区一区二区三| 亚洲日本在线看| 亚洲亚洲精品在线观看| 欧美aaaaa成人免费观看视频| 久久国产精品99久久人人澡| 国产成人av在线影院| 99精品视频一区二区| 91国偷自产一区二区三区观看| 欧美色精品天天在线观看视频| 欧美电影在线免费观看| 久久亚洲精华国产精华液| 中文在线免费一区三区高中清不卡| 最新国产精品久久精品| 亚洲国产欧美另类丝袜| 另类调教123区| 91在线视频官网| 欧美精品高清视频| 久久久99精品免费观看| 亚洲男人天堂一区| 免费精品视频在线| 99re8在线精品视频免费播放| 欧美三区在线观看| 久久欧美一区二区| 亚洲另类中文字| 麻豆精品久久精品色综合| 成人妖精视频yjsp地址| 欧美偷拍一区二区| 国产亚洲综合av| 亚洲国产va精品久久久不卡综合| 国模套图日韩精品一区二区| 色婷婷国产精品| 欧美大白屁股肥臀xxxxxx| 专区另类欧美日韩| 极品少妇xxxx精品少妇偷拍| 99riav一区二区三区| 日韩三级免费观看| 亚洲激情自拍视频| 狠狠久久亚洲欧美| 欧美剧情电影在线观看完整版免费励志电影 | 欧美国产精品专区| 午夜私人影院久久久久| 成人深夜在线观看| 精品国产乱码久久久久久1区2区| 亚洲欧美日本在线| 色av成人天堂桃色av| 久久午夜国产精品| 视频一区在线播放| 一本色道久久综合亚洲aⅴ蜜桃| 欧美成人女星排名| 亚洲www啪成人一区二区麻豆| 东方欧美亚洲色图在线| 91精品国产入口在线| 樱花草国产18久久久久| 国产成人在线色| 欧美xxxxx牲另类人与| 亚洲国产美女搞黄色| 99久久免费国产| 久久免费视频色| 蜜臀久久99精品久久久久宅男| 欧美专区日韩专区| 亚洲日本一区二区| 成人福利在线看| 国产三级精品视频| 精品午夜一区二区三区在线观看| 欧美高清www午色夜在线视频| 亚洲免费大片在线观看| aaa国产一区| 中文字幕精品一区| 国产成人精品www牛牛影视| 精品剧情在线观看| 蓝色福利精品导航| 欧美丰满一区二区免费视频| 亚洲福利电影网| 色噜噜夜夜夜综合网| 日韩理论片一区二区| 成人免费观看视频| 国产精品丝袜久久久久久app| 精品一区二区国语对白| 精品999在线播放| 久久91精品久久久久久秒播| 欧美一级国产精品| 久久精品久久综合| 欧美大白屁股肥臀xxxxxx| 麻豆精品国产91久久久久久| 777欧美精品| 免播放器亚洲一区| 欧美一级淫片007| 久久99精品国产麻豆婷婷洗澡| 日韩一区二区精品在线观看| 麻豆国产欧美日韩综合精品二区 | 亚洲一区二区精品视频| 日韩精品中文字幕一区二区三区| 日本不卡中文字幕| 欧美电影免费观看高清完整版在线| 美女脱光内衣内裤视频久久网站| 欧美电影免费观看高清完整版在线观看 | 在线观看日韩av先锋影音电影院| 亚洲欧美偷拍另类a∨色屁股| 91亚洲精品乱码久久久久久蜜桃 | 久草在线在线精品观看| 2017欧美狠狠色| 国产91富婆露脸刺激对白| 成人欧美一区二区三区| 欧美日韩视频在线观看一区二区三区| 亚洲成人精品影院| 精品三级在线看| 成人精品视频一区| 亚洲影视资源网| 欧美一级一级性生活免费录像| 麻豆成人免费电影| 国产精品久久久久影院老司 | 毛片一区二区三区| 国产日韩欧美不卡在线| 在线观看区一区二| 久久精品国产免费| 日韩理论片在线| 日韩三级在线观看| 99r国产精品| 美女视频一区二区三区| 中文字幕日本不卡| 91精品国产综合久久精品图片 | 久久久久久免费网| 色视频成人在线观看免| 青娱乐精品视频在线| 国产精品久久网站| 日韩一级完整毛片| heyzo一本久久综合| 日韩国产欧美三级| 日韩国产欧美在线视频| 中文字幕第一区二区| 在线亚洲+欧美+日本专区| 久久国产尿小便嘘嘘| 亚洲欧美日韩电影| 精品国产一区二区三区四区四 | 国产精品一区二区久久精品爱涩 | 精品一区二区三区影院在线午夜| 国产精品天干天干在观线| 欧美日韩精品福利| 成人精品免费视频| 蜜臀久久99精品久久久久久9| 亚洲免费在线看| 国产亚洲综合在线| 日韩一级片在线观看| 在线观看精品一区| 成人毛片视频在线观看| 另类小说一区二区三区|