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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? theoradecodefilter.h

?? Window Mobile Capture with DirectDraw
?? H
字號:
//===========================================================================
//Copyright (C) 2003-2006 Zentaro Kavanagh
//
//Redistribution and use in source and binary forms, with or without
//modification, are permitted provided that the following conditions
//are met:
//
//- Redistributions of source code must retain the above copyright
//  notice, this list of conditions and the following disclaimer.
//
//- Redistributions in binary form must reproduce the above copyright
//  notice, this list of conditions and the following disclaimer in the
//  documentation and/or other materials provided with the distribution.
//
//- Neither the name of Zentaro Kavanagh nor the names of contributors 
//  may be used to endorse or promote products derived from this software 
//  without specific prior written permission.
//
//THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
//``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
//LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
//PARTICULAR PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE ORGANISATION OR
//CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
//EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
//PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
//PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
//LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
//NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
//SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
//===========================================================================

#pragma once

//#define OGGCODECS_LOGGING

#include "Theoradecoderdllstuff.h"
#include "theoradecodeoutputpin.h"
#include "theoradecodeinputpin.h"

#include <libilliCore/iBE_Math.h>
#include <math.h>
//#include "DSStringer.h"
#include "TheoraDecoder.h"
#include <fstream>
using namespace std;
class TheoraDecodeFilter 
	//:	public CVideoTransformFilter
	:	public CTransformFilter

{
public:
	friend class TheoraDecodeInputPin;
	TheoraDecodeFilter(void);
	virtual ~TheoraDecodeFilter(void);

	//COM Creator Function
	static CUnknown* WINAPI CreateInstance(LPUNKNOWN pUnk, HRESULT *pHr);

	//CTransfrom filter pure virtuals
	virtual HRESULT CheckInputType(const CMediaType* inMediaType);
	virtual HRESULT CheckTransform(const CMediaType* inInputMediaType, const CMediaType* inOutputMediaType);
	virtual HRESULT DecideBufferSize(IMemAllocator* inAllocator, ALLOCATOR_PROPERTIES* inPropertyRequest);
	virtual HRESULT GetMediaType(int inPosition, CMediaType* outOutputMediaType);
	virtual HRESULT Transform(IMediaSample* inInputSample, IMediaSample* outOutputSample);

	//Overrides
	virtual HRESULT Receive(IMediaSample* inSample);

	virtual HRESULT SetMediaType(PIN_DIRECTION inDirection, const CMediaType* inMediaType);
	virtual HRESULT NewSegment(REFERENCE_TIME inStart, REFERENCE_TIME inEnd, double inRate);
	//virtual BOOL ShouldSkipFrame(IMediaSample* inSample);
	virtual CBasePin* TheoraDecodeFilter::GetPin(int inPinNo);
	//Helpers
	sTheoraFormatBlock* getTheoraFormatBlock();
	void setTheoraFormat(BYTE* inFormatBlock);

#ifdef WINCE
	virtual LPAMOVIESETUP_FILTER GetSetupData(); //		{	return (LPAMOVIESETUP_FILTER)&VorbisDecodeFilterReg;	}
	virtual HRESULT Register();
#endif


protected:

	static const unsigned long THEORA_IDENT_HEADER_SIZE = 42;
	virtual void ResetFrameCount();

	HRESULT CheckOutputType(const CMediaType* inMediaType);
	void deleteBufferedPacketsAfter(unsigned long inPacketIndex);
	void FillMediaType(int inPosition, CMediaType* outMediaType, unsigned long inSampleSize);
	bool FillVideoInfoHeader(int inPosition, VIDEOINFOHEADER* inFormatBuffer);
    bool FillVideoInfoHeader2(int inPosition, VIDEOINFOHEADER2* inFormatBuffer);
	bool SetSampleParams(IMediaSample* outMediaSample, unsigned long inDataSize, REFERENCE_TIME* inStartTime, REFERENCE_TIME* inEndTime, BOOL inIsSync);
	
	unsigned long mBMIHeight;
	unsigned long mBMIWidth;
	unsigned long mBMIFrameSize;

	unsigned long mPictureHeight;
	unsigned long mPictureWidth;

	
	unsigned long mFrameCount;
	unsigned long mYOffset;
	unsigned long mXOffset;
	__int64 mFrameDuration;
	bool mBegun;
	TheoraDecoder* mTheoraDecoder;
	
	vector<StampedOggPacket*> mBufferedPackets;

	HRESULT TheoraDecoded (yuv_buffer* inYUVBuffer, IMediaSample* outSample, bool inIsKeyFrame, REFERENCE_TIME inStart, REFERENCE_TIME inEnd);
	HRESULT DecodeToYUY2(yuv_buffer* inYUVBuffer, IMediaSample* outSample, bool inIsKeyFrame, REFERENCE_TIME inStart, REFERENCE_TIME inEnd) ;
	HRESULT DecodeToYV12(yuv_buffer* inYUVBuffer, IMediaSample* outSample, bool inIsKeyFrame, REFERENCE_TIME inStart, REFERENCE_TIME inEnd) ;
	HRESULT DecodeToRGB565(yuv_buffer* inYUVBuffer, IMediaSample* outSample, bool inIsKeyFrame, REFERENCE_TIME inStart, REFERENCE_TIME inEnd) ;
	HRESULT DecodeToRGB24(yuv_buffer* inYUVBuffer, IMediaSample* outSample, bool inIsKeyFrame, REFERENCE_TIME inStart, REFERENCE_TIME inEnd) ;




	vector<CMediaType*> mOutputMediaTypes;
	struct sOutputVideoParams {
		WORD bitsPerPixel;
		DWORD fourCC;
	};

	HRESULT YV12ToYUY2(IMediaSample* inoutSample);
	BYTE* mScratchBuffer;
	GUID mCurrentOutputSubType;

	vector<sOutputVideoParams> mOutputVideoParams;

	REFERENCE_TIME mSegStart;
	REFERENCE_TIME mSegEnd;
	double mPlaybackRate;

	__int64 mSeekTimeBase;
	__int64 mLastSeenStartGranPos;
	//Format Block
	sTheoraFormatBlock* mTheoraFormatInfo;
	fstream debugLog;
};

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
精品三级av在线| 精品一区二区影视| 欧美激情一区不卡| 久久久影视传媒| 国产欧美日韩在线观看| 久久精品日韩一区二区三区| 久久毛片高清国产| 亚洲高清久久久| 免费视频最近日韩| 久久www免费人成看片高清| 国产综合久久久久久久久久久久| 国产美女在线精品| 国产成人一区二区精品非洲| 成人精品视频一区| 欧美专区日韩专区| 日韩欧美中文字幕一区| 久久久久久久久久久黄色| 首页亚洲欧美制服丝腿| 精品在线免费观看| 91精品啪在线观看国产60岁| 久久久久久久久97黄色工厂| 三级久久三级久久久| 色成年激情久久综合| 日韩三级视频在线看| 亚洲大片免费看| 粉嫩13p一区二区三区| 欧美日韩成人在线| 国产亚洲成年网址在线观看| 久久成人麻豆午夜电影| 欧美一区二区三区日韩| 欧美国产精品专区| 国产很黄免费观看久久| 日本一区二区三区四区| 国产乱色国产精品免费视频| 欧美亚州韩日在线看免费版国语版| 日韩色视频在线观看| 蜜臀91精品一区二区三区| 99国内精品久久| 欧美v国产在线一区二区三区| 日本va欧美va欧美va精品| 欧美精品久久久久久久多人混战| 欧美激情一区二区在线| 成人久久18免费网站麻豆| 中文字幕在线一区| 性感美女极品91精品| 欧美日韩亚洲另类| 亚洲少妇30p| 国产成人在线电影| 中文字幕一区二区三区在线不卡| av毛片久久久久**hd| 久久亚洲综合色一区二区三区| 亚洲一区二区三区小说| 91玉足脚交白嫩脚丫在线播放| 久久综合九色综合97婷婷女人 | 欧洲精品在线观看| 亚洲成人动漫在线免费观看| 欧美一区二区三区婷婷月色| 狠狠色丁香婷综合久久| 久久午夜色播影院免费高清| 91免费观看视频| 午夜精品福利一区二区三区蜜桃| 91在线播放网址| 日韩高清在线一区| 欧美挠脚心视频网站| 精品一区二区三区不卡| 18涩涩午夜精品.www| 欧美精品aⅴ在线视频| 国产盗摄女厕一区二区三区| 亚洲女人小视频在线观看| av电影在线观看完整版一区二区| 一区二区三区小说| 欧美唯美清纯偷拍| 国内精品视频666| 亚洲影院免费观看| 久久丝袜美腿综合| 欧美系列亚洲系列| 国产成人综合精品三级| 午夜精品成人在线视频| 中文字幕在线视频一区| 日韩一区二区三区四区| 色中色一区二区| 一区二区三区国产精华| 久久亚洲春色中文字幕久久久| 91黄色免费版| a亚洲天堂av| 国产一区三区三区| 亚洲h在线观看| 国产精品久久久久久久久免费樱桃 | 成人免费的视频| 青青草精品视频| 亚洲一级二级在线| 中文字幕国产一区| 日韩欧美一二三区| 国产精品亚洲一区二区三区在线| 亚洲影院理伦片| 亚洲色大成网站www久久九九| 欧美一区二区三区视频在线| 欧美在线色视频| 99re这里只有精品6| 丁香婷婷深情五月亚洲| 久久国产精品99久久久久久老狼| 亚洲综合无码一区二区| 国产精品久久久久国产精品日日| 精品国产sm最大网站免费看| www.日韩精品| 国产一区91精品张津瑜| 久久99国产精品久久99果冻传媒| 亚洲成a人片在线观看中文| 中文字幕制服丝袜一区二区三区| 国产日韩精品一区二区三区| 欧美本精品男人aⅴ天堂| 日韩欧美一级精品久久| 日韩一区二区三区av| 91精品国产色综合久久不卡蜜臀| 欧美亚洲国产一区在线观看网站 | 青青草国产成人av片免费| 亚洲成av人综合在线观看| 亚洲午夜av在线| 亚洲第一成人在线| 日日欢夜夜爽一区| 青椒成人免费视频| 精品一区二区影视| 国产成人免费视频网站高清观看视频| 国内外精品视频| 国产高清一区日本| 北岛玲一区二区三区四区| 不卡影院免费观看| 久久99精品国产麻豆不卡| 免费成人小视频| 国产精品白丝jk黑袜喷水| 国产精品一区二区免费不卡| 国产不卡在线一区| av在线不卡电影| 欧美性感一类影片在线播放| 欧美日韩一区二区三区视频| 欧美高清性hdvideosex| 欧美一区二区观看视频| 久久亚洲综合av| 综合av第一页| 亚洲高清不卡在线| 国产美女娇喘av呻吟久久| 99久久精品国产一区二区三区| 色婷婷综合久久久中文一区二区| 欧美精品第一页| 久久久亚洲高清| 亚洲色图制服诱惑| 日韩精品电影在线| 成人性生交大合| 欧美性猛片xxxx免费看久爱| 日韩欧美电影在线| 自拍偷自拍亚洲精品播放| 青娱乐精品在线视频| 成人精品高清在线| 欧美一区永久视频免费观看| 中文字幕国产一区二区| 日本网站在线观看一区二区三区| 国产成人精品亚洲777人妖| 欧美日韩一区视频| 中文字幕欧美国产| 蜜桃视频一区二区| 91一区二区三区在线播放| 日韩久久久精品| 亚洲综合色视频| 成人午夜视频在线| 欧美va亚洲va在线观看蝴蝶网| 日韩码欧中文字| 精品一区二区三区免费毛片爱| 一本一道久久a久久精品综合蜜臀| 日韩一级精品视频在线观看| 亚洲欧美一区二区三区久本道91| 久久草av在线| 91.xcao| 一区二区三区自拍| 福利一区二区在线| 精品乱人伦小说| 日本午夜一本久久久综合| 色婷婷狠狠综合| 国产精品视频你懂的| 有坂深雪av一区二区精品| 日韩中文字幕一区二区三区| 99久久久久久| 日本一区二区视频在线观看| 激情成人午夜视频| 欧美精品在线观看播放| 亚洲激情第一区| 91日韩在线专区| 国产精品久久久久久久久图文区| 国产酒店精品激情| 精品国产一区久久| 麻豆精品久久精品色综合| 欧美丰满美乳xxx高潮www| 亚洲亚洲精品在线观看| 日本二三区不卡| 亚洲色图清纯唯美| 91丝袜呻吟高潮美腿白嫩在线观看| 国产欧美精品一区aⅴ影院| 国产一区二区三区免费| 久久久久综合网| 国产白丝网站精品污在线入口| 久久久国产一区二区三区四区小说 |