⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 coreaac.h

📁 mpeg4 video codec mpeg4 video codec
💻 H
字号:
/*  * CoreAAC - AAC DirectShow Decoder Filter * * Modification to decode AAC without ADTS and multichannel support * christophe.paris@free.fr * * Under section 8 of the GNU General Public License, the copyright * holders of CoreAAC explicitly forbid distribution in the following * countries: * - Japan * - United States of America  * * * AAC DirectShow Decoder Filter * Copyright (C) 2003 Robert Cioch *   * 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. * */#include "../faad2/include/faad.h"// ===========================================================================================class CCoreAACDecoder : public CTransformFilter,                 public ISpecifyPropertyPages,				 public ICoreAACDec{public :	DECLARE_IUNKNOWN	static CUnknown *WINAPI CreateInstance(LPUNKNOWN punk, HRESULT *phr);	STDMETHODIMP NonDelegatingQueryInterface(REFIID riid, void **ppv);    	CCoreAACDecoder(LPUNKNOWN lpunk, HRESULT *phr);	virtual ~CCoreAACDecoder();	// ----- ISpecifyPropertyPages -----	STDMETHODIMP GetPages(CAUUID *pPages); 	// ----- ITransformFilter -----	HRESULT Transform(IMediaSample *pIn, IMediaSample *pOut);	HRESULT CheckInputType(const CMediaType *mtIn);	HRESULT CheckTransform(const CMediaType *mtIn, const CMediaType *mtOut);	HRESULT DecideBufferSize(IMemAllocator *pAllocator, ALLOCATOR_PROPERTIES *pprop);	HRESULT GetMediaType(int iPosition, CMediaType *pMediaType);	HRESULT CompleteConnect(PIN_DIRECTION direction, IPin *pReceivePin);	HRESULT StartStreaming(void);	bool Decode(BYTE *pSrc, DWORD SrcLength, BYTE *pDst, DWORD DstLength, DWORD *ActualDstLength);	// ----- ICoreAACDec -----	STDMETHODIMP get_ProfileName(char** name);    STDMETHODIMP get_SampleRate(int* sample_rate);    STDMETHODIMP get_Channels(int *channels);	STDMETHODIMP get_BitsPerSample(int *bits_per_sample);	STDMETHODIMP get_Bitrate(int *bitrate);	STDMETHODIMP get_FramesDecoded(unsigned int *frames_decoded);	STDMETHODIMP get_DownMatrix(bool *down_matrix);	STDMETHODIMP set_DownMatrix(bool down_matrix);	private:	unsigned char* m_decoderSpecific;	int m_decoderSpecificLen;	faacDecHandle m_decHandle;	int m_Channels;	int m_SamplesPerSec;	int m_BitsPerSample;	bool m_DownMatrix;	char m_ProfileName[64];	unsigned int m_Bitrate;	unsigned int m_brCalcFrames;	unsigned int m_brBytesConsumed;	unsigned int m_DecodedFrames;	unsigned int m_OutputBuffLen;};// ===========================================================================================

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -