📄 genprofile_lib.h
字号:
//*****************************************************************************//// Microsoft Windows Media// Copyright (C) Microsoft Corporation. All rights reserved.//// FileName: GenProfile_lib.h//// Abstract: The header file which contains the structures and// functions used by the library to create a profile////*****************************************************************************#ifndef __GENPROFILE_H__#define __GENPROFILE_H__#include <wmsdk.h>#include "ff_wmv9.h"#define MAX_DATA_UNIT_EXTENSIONS 5 // An arbitrarily chosen maximum for the number of data unit extensions//// Enumeration of the different kinds of streams//enum StreamType{ ST_Unknown, // Unknown stream type ST_Audio, // Audio stream ST_Video, // Video stream ST_Script, // Script stream ST_Image, // Image stream ST_Web, // Web stream ST_File, // File stream ST_Arbitrary // Arbitrary data stream};enum MUTEX_TYPE{ MT_Bitrate, // Exclude the streams based on bitrate MT_Language, // Exclude the streams based on language MT_Presentation // Exclude the streams based on the presentation format (for example, different aspect ratios)};/*** Methods helpful in creation of a profile*////////////////////////////////////////////////////////////////////////////////class Twmv9dll;STDMETHODIMP EnsureIWMCodecInfo3( Twmv9dll *dll,IWMCodecInfo3** ppCodecInfo3 );///////////////////////////////////////////////////////////////////////////////STDMETHODIMP SetCodecVBRSettings( IWMCodecInfo3* pCodecInfo3, GUID guidCodecType, DWORD dwCodecIndex, BOOL bIsVBR, DWORD dwVBRPasses );///////////////////////////////////////////////////////////////////////////////STDMETHODIMP SetStreamLanguage( IWMStreamConfig * pStreamConfig, LCID dwLanguage );///////////////////////////////////////////////////////////////////////////////STDMETHODIMP CreateUncompressedAudioMediaType( WM_MEDIA_TYPE** ppmtMediaType, DWORD dwSamplesPerSecond, WORD wNumChannels, WORD wBitsPerSample );///////////////////////////////////////////////////////////////////////////////STDMETHODIMP CreateVideoMediaType( Twmv9dll *dll, WM_MEDIA_TYPE** ppmtMediaType, IWMCodecInfo3* pCodecInfo3, DWORD dwCodecIndex, double dwFPS, DWORD dwWidth, DWORD dwHeight, DWORD dwBitrate, BOOL bIsVBR, DWORD dwNumberOfPasses );///////////////////////////////////////////////////////////////////////////////STDMETHODIMP CreateUncompressedVideoMediaType( WM_MEDIA_TYPE** ppmtMediaType, GUID guidFormat, DWORD dwFourCC, WORD wBitsPerPixel, BYTE* pbPaletteData, DWORD cbPaletteDataSize, DWORD dwFPS, DWORD dwWidth, DWORD dwHeight );///////////////////////////////////////////////////////////////////////////////STDMETHODIMP CreateScriptMediaType( WM_MEDIA_TYPE** ppmtMediaType );///////////////////////////////////////////////////////////////////////////////STDMETHODIMP CreateImageMediaType( WM_MEDIA_TYPE** ppmtMediaType, DWORD dwBitrate, DWORD dwWidth, DWORD dwHeight );///////////////////////////////////////////////////////////////////////////////STDMETHODIMP CreateWebMediaType( WM_MEDIA_TYPE** ppmtMediaType );///////////////////////////////////////////////////////////////////////////////STDMETHODIMP CreateFileMediaType( WM_MEDIA_TYPE** ppmtMediaType );///////////////////////////////////////////////////////////////////////////////STDMETHODIMP CreateMediatypeForFormat( Twmv9dll *dll, WM_MEDIA_TYPE** ppmtDestination, IWMCodecInfo3* pCodecInfo, IWMStreamConfig** ppFormatConfig, GUID guidStreamType, DWORD dwCodecIndex, DWORD dwFormatIndex );///////////////////////////////////////////////////////////////////////////////STDMETHODIMP CreateMediatypeForFormat( Twmv9dll *dll, WM_MEDIA_TYPE** ppmtDestination, IWMCodecInfo3* pCodecInfo3, IWMStreamConfig** ppFormatConfig, GUID guidCodecType, DWORD dwCodecIndex, DWORD dwFormatIndex, BOOL bIsVBR, DWORD dwVBRPasses );///////////////////////////////////////////////////////////////////////////////STDMETHODIMP CreateVideoStream( Twmv9dll *dll, IWMStreamConfig** ppStreamConfig, IWMCodecInfo3* pCodecInfo3, IWMProfile *pProfile, DWORD dwCodecIndex, DWORD dwBitrate, DWORD dwBufferWindow, DWORD dwWidth, DWORD dwHeight, double dFPS, DWORD dwQuality, DWORD dwSecPerKey, BOOL fIsVBR, VIDEO_VBR_MODE vbrMode, DWORD dwVBRQuality, DWORD dwMaxBitrate, DWORD dwMaxBufferWindow, LCID dwLanguage );///////////////////////////////////////////////////////////////////////////////STDMETHODIMP WriteProfileAsPRX( LPCTSTR tszFilename, LPCWSTR wszProfileData, DWORD dwProfileDataLength );///////////////////////////////////////////////////////////////////////////////STDMETHODIMP AddSMPTEExtensionToStream( IWMStreamConfig* pStream );///////////////////////////////////////////////////////////////////////////////STDMETHODIMP GetUncompressedWaveFormatCount( DWORD * pdwCount );///////////////////////////////////////////////////////////////////////////////STDMETHODIMP GetUncompressedWaveFormat( DWORD dwIndex, DWORD * pdwSamplesPerSecond, WORD * pwNumChannels, WORD * pwBitsPerSample );///////////////////////////////////////////////////////////////////////////////STDMETHODIMP GetUncompressedPixelFormatCount( DWORD * pdwCount );///////////////////////////////////////////////////////////////////////////////STDMETHODIMP GetUncompressedPixelFormat( DWORD dwIndex, GUID * pguidFormat, DWORD * pdwFourCC, WORD * pwBitsPerPixel );#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -