* include/amvideo.h (RESET_MASKS,RESET_PALETTE): Use ZeroMemory instead

of memset to avoid <string.h>. Still need a fix for memcmp.
	* include/dshow.h (AM_ASPECT_RATIO_MODE,AM_WST_DRAWBGMODE,AM_WST_LEVEL)
	(AMExtendedSeekingCapabilities,AM_WST_SERVICE,AM_WST_STATE)
	(AM_WST_STYLE): Add enums.
	(AM_WST_PAGE,AMVABeginFrameInfo,AMVACompBufferInfo,AMVAEndFrameInfo,
	AMVAInternalMemInfo,AMVAUncompBufferInfo,AMVAUncompDataInfo): New
	structures.
	* include/errors.h (VFW_*): Define.
	* include/evcode.h (AM_WMT_EVENT_DATA): New structure.
	* include/mmsystem.h (WAVE_FORMAT_EXTENSIBLE): Define.
	* include/edevdefs.h (ED_FORMAT_SMPTE_30,ED_FORMAT_SMPTE_30DROP)
	(ED_FORMAT_SMPTE_25,ED_FORMAT_SMPTE_24): Move from here...
	* include/strmif.h: ... to here. New file.
	* include/aviriff.h: New file.
	* include/bdatypes.h: New file.
	* include/control.h: New file.
	* include/dvdmedia.h: New file.
	* include/il21dec.h: New file.
	* include/ks.h: New file.
	* include/ksmedia.h: New file.
	* include/mmreg.h: New file.
	* include/mpegtype.h: New file.
	* include/vidcap.h: New file.
	* include/vmr9.h: New file.
	* include/vptype.h: New file.
	* include/xprtdefs.h: New file.
This commit is contained in:
Dimitri Papadopoulos 2006-05-10 08:57:45 +00:00
parent fe9a050c9e
commit 5f6ae3d318
21 changed files with 2077 additions and 9 deletions

View File

@ -1,3 +1,33 @@
2006-05-10 Dimitri Papadopoulos <papadopo@users.sourceforge.net>
* include/amvideo.h (RESET_MASKS,RESET_PALETTE): Use ZeroMemory instead
of memset to avoid <string.h>. Still need a fix for memcmp.
* include/dshow.h (AM_ASPECT_RATIO_MODE,AM_WST_DRAWBGMODE,AM_WST_LEVEL)
(AMExtendedSeekingCapabilities,AM_WST_SERVICE,AM_WST_STATE)
(AM_WST_STYLE): Add enums.
(AM_WST_PAGE,AMVABeginFrameInfo,AMVACompBufferInfo,AMVAEndFrameInfo,
AMVAInternalMemInfo,AMVAUncompBufferInfo,AMVAUncompDataInfo): New
structures.
* include/errors.h (VFW_*): Define.
* include/evcode.h (AM_WMT_EVENT_DATA): New structure.
* include/mmsystem.h (WAVE_FORMAT_EXTENSIBLE): Define.
* include/edevdefs.h (ED_FORMAT_SMPTE_30,ED_FORMAT_SMPTE_30DROP)
(ED_FORMAT_SMPTE_25,ED_FORMAT_SMPTE_24): Move from here...
* include/strmif.h: ... to here. New file.
* include/aviriff.h: New file.
* include/bdatypes.h: New file.
* include/control.h: New file.
* include/dvdmedia.h: New file.
* include/il21dec.h: New file.
* include/ks.h: New file.
* include/ksmedia.h: New file.
* include/mmreg.h: New file.
* include/mpegtype.h: New file.
* include/vidcap.h: New file.
* include/vmr9.h: New file.
* include/vptype.h: New file.
* include/xprtdefs.h: New file.
2006-05-10 Dimitri Papadopoulos <papadopo@users.sourceforge.net>
* include/winnls.h [WINVER >= 0x0500] (LOCALE_IDEFAULTEBCDICCODEPAGE):
@ -82,8 +112,8 @@
2006-05-03 Dimitri Papadopoulos <papadopo@users.sourceforge.net>
* lib/directx/quartz.def: Move from lib/directx/...
* lib/quartz.def: ... to lib/
* lib/directx/quartz.def: Move from here...
* lib/quartz.def: ... to here.
2006-05-03 Dimitri Papadopoulos <papadopo@users.sourceforge.net>

View File

@ -5,6 +5,7 @@
#endif
#include <ddraw.h>
#include <strmif.h>
#ifdef __cplusplus
extern "C" {
@ -27,8 +28,8 @@ extern "C" {
#define BIT_MASKS_MATCH(pbmi1,pbmi2) (!memcmp((pbmi1)->dwBitMasks,(pbmi2)->dwBitMasks,3*sizeof(DWORD)))
#define PALETTISED(pbmi) ((pbmi)->bmiHeader.biBitCount <= 8)
#define PALETTE_ENTRIES(pbmi) (1 << (pbmi)->bmiHeader.biBitCount)
#define RESET_MASKS(pbmi) ((void)memset((pbmi)->dwBitFields,0,3*sizeof(DWORD)))
#define RESET_PALETTE(pbmi) ((void)memset(((pbmi)->bmiColors,0,256*sizeof(RGBQUAD)));
#define RESET_MASKS(pbmi) (ZeroMemory((PVOID)(pbmi)->dwBitFields,3*sizeof(DWORD)))
#define RESET_PALETTE(pbmi) (ZeroMemory((PVOID)(pbmi)->bmiColors,256*sizeof(RGBQUAD)));
#define SIZE_EGA_PALETTE (16*sizeof(RGBQUAD))
#define SIZE_MASKS (3*sizeof(DWORD))
#define SIZE_PALETTE (256*sizeof(RGBQUAD))

View File

@ -0,0 +1,87 @@
#ifndef _AVIRIFF_H
#define _AVIRIFF_H
#if __GNUC__ >=3
#pragma GCC system_header
#endif
#ifndef _MMSYSTEM_H
#include <mmsystem.h>
#endif
#ifndef _WINGDI_H
#include <wingdi.h>
#endif
#ifdef __cplusplus
extern "C" {
#endif
/*--- DirectShow Reference - DirectShow Structures */
typedef struct _avimainheader {
FOURCC fcc;
DWORD cb;
DWORD dwMicroSecPerFrame;
DWORD dwMaxBytesPerSec;
DWORD dwPaddingGranularity;
DWORD dwFlags;
DWORD dwTotalFrames;
DWORD dwInitialFrames;
DWORD dwStreams;
DWORD dwSuggestedBufferSize;
DWORD dwWidth;
DWORD dwHeight;
DWORD dwReserved[4];
} AVIMAINHEADER;
#define AVIF_COPYRIGHTED 0x00020000
#define AVIF_HASINDEX 0x00000010
#define AVIF_ISINTERLEAVED 0x00000100
#define AVIF_MUSTUSEINDEX 0x00000020
#define AVIF_WASCAPTUREFILE 0x00010000
typedef struct _avioldindex {
FOURCC fcc;
DWORD cb;
struct _avioldindex_entry {
DWORD dwChunkId;
DWORD dwFlags;
DWORD dwOffset;
DWORD dwSize;
} aIndex[];
} AVIOLDINDEX;
#define AVIIF_LIST 0x00000001
#define AVIIF_KEYFRAME 0x00000010
#define AVIIF_NO_TIME 0x00000100
typedef struct {
BYTE bFirstEntry;
BYTE bNumEntries;
WORD wFlags;
PALETTEENTRY peNew[];
} AVIPALCHANGE;
typedef struct _avistreamheader {
FOURCC fcc;
DWORD cb;
FOURCC fccType;
FOURCC fccHandler;
DWORD dwFlags;
WORD wPriority;
WORD wLanguage;
DWORD dwInitialFrames;
DWORD dwScale;
DWORD dwRate;
DWORD dwStart;
DWORD dwLength;
DWORD dwSuggestedBufferSize;
DWORD dwQuality;
DWORD dwSampleSize;
struct {
short int left;
short int top;
short int right;
short int bottom;
} rcFrame;
} AVISTREAMHEADER;
#define AVISF_DISABLED 0x00000001
#define AVISF_VIDEO_PALCHANGES 0x00010000
#ifdef __cplusplus
}
#endif
#endif

View File

@ -0,0 +1,32 @@
#ifndef _BDATYPES_H
#define _BDATYPES_H
#if __GNUC__ >= 3
#pragma GCC system_header
#endif
#ifdef __cplusplus
extern "C" {
#endif
/*--- DirectShow Reference - DirectShow Enumerated Types */
typedef enum {
MEDIA_TRANSPORT_PACKET,
MEDIA_ELEMENTARY_STREAM,
MEDIA_MPEG2_PSI,
MEDIA_TRANSPORT_PAYLOAD
} MEDIA_SAMPLE_CONTENT;
/*--- DirectShow Reference - DirectShow Structures */
typedef struct {
DWORD dwOffset
DWORD dwPacketLength
DWORD dwStride
} MPEG2_TRANSPORT_STRIDE;
typedef struct {
ULONG ulPID;
MEDIA_SAMPLE_CONTENT MediaSampleContent ;
} PID_MAP;
#ifdef __cplusplus
}
#endif
#endif

View File

@ -0,0 +1,18 @@
#ifndef _CONTROL_H
#define _CONTROL_H
#if __GNUC__ >= 3
#pragma GCC system_header
#endif
#ifdef __cplusplus
extern "C" {
#endif
/*--- DirectShow Reference - DirectShow Data Types */
typedef LONG_PTR OAEVENT;
typedef LONG_PTR OAHWND;
#ifdef __cplusplus
}
#endif
#endif

View File

@ -4,11 +4,105 @@
#pragma GCC system_header
#endif
#include <strmif.h>
#include <amaudio.h>
#include <amvideo.h>
#include <evcode.h>
#include <audevcod.h>
#include <dvdevcod.h>
#include <errors.h>
#include <vptype.h>
#include <ks.h>
#include <vidcap.h>
#include <bdatypes.h>
#include <dvdmedia.h>
#include <il21dec.h>
#include <ddraw.h> /* DDSCAPS2, DDPIXELFORMAT */
#ifndef _WINGDI_H
#include <wingdi.h> /* BITMAPINFOHEADER */
#endif
#ifdef __cplusplus
extern "C" {
#endif
/*--- DirectShow Reference - DirectShow Enumerated Types */
typedef enum _AM_ASPECT_RATIO_MODE {
AM_ARMODE_STRETCHED,
AM_ARMODE_LETTER_BOX,
AM_ARMODE_CROP,
AM_ARMODE_STRETCHED_AS_PRIMARY
} AM_ASPECT_RATIO_MODE;
typedef enum _AM_WST_DRAWBGMODE {
AM_WST_DRAWBGMODE_Opaque,
AM_WST_DRAWBGMODE_Transparent
} AM_WST_DRAWBGMODE,*PAM_WST_DRAWBGMODE;
typedef enum _AM_WST_LEVEL {
AM_WST_LEVEL_1_5 = 0
} AM_WST_LEVEL,*PAM_WST_LEVEL;
typedef enum _AM_WST_SERVICE {
AM_WST_SERVICE_None = 0,
AM_WST_SERVICE_Text,
AM_WST_SERVICE_IDS,
AM_WST_SERVICE_Invalid
} AM_WST_SERVICE,*PAM_WST_SERVICE;
typedef enum _AM_WST_STATE {
AM_WST_STATE_Off = 0,
AM_WST_STATE_On
} AM_WST_STATE,*PAM_WST_STATE;
typedef enum _AM_WST_STYLE {
AM_WST_STYLE_None = 0,
AM_WST_STYLE_Invers
} AM_WST_STYLE,*PAM_WST_STYLE;
typedef enum {
AM_EXSEEK_CANSEEK= 1,
AM_EXSEEK_CANSCAN = 2,
AM_EXSEEK_MARKERSEEK = 4,
AM_EXSEEK_SCANWITHOUTCLOCK = 8,
AM_EXSEEK_NOSTANDARDREPAINT = 16,
AM_EXSEEK_BUFFERING = 32,
AM_EXSEEK_SENDS_VIDEOFRAMEREADY = 64
} AMExtendedSeekingCapabilities;
/*--- DirectShow Reference - DirectShow Structures */
typedef struct _AM_WST_PAGE {
DWORD dwPageNr;
DWORD dwSubPageNr;
BYTE *pucPageData;
} AM_WST_PAGE,*PAM_WST_PAGE;
typedef struct _tag_AMVABeginFrameInfo{
DWORD dwDestSurfaceIndex;
LPVOID pInputData;
DWORD dwSizeInputData;
LPVOID pOutputData;
DWORD dwSizeOutputData;
} AMVABeginFrameInfo,*LPAMVABeginFrameInfo;
typedef struct _tag_AMVACompBufferInfo{
DWORD dwNumCompBuffers;
DWORD dwWidthToCreate;
DWORD dwHeightToCreate;
DWORD dwBytesToAllocate;
DDSCAPS2 ddCompCaps;
DDPIXELFORMAT ddPixelFormat;
} AMVACompBufferInfo,*LPAMVACompBufferInfo;
typedef struct _tag_AMVAEndFrameInfo{
DWORD dwSizeMiscData;
LPVOID pMiscData;
} AMVAEndFrameInfo,*LPAMVAEndFrameInfo;
typedef struct _tag_AMVAInternalMemInfo{
DWORD dwScratchMemAlloc;
} AMVAInternalMemInfo,*LPAMVAInternalMemInfo;
typedef struct _tag_AMVAUncompBufferInfo{
DWORD dwMinNumSurfaces;
DWORD dwMaxNumSurfaces;
DDPIXELFORMAT ddUncompPixelFormat;
} AMVAUncompBufferInfo,*LPAMVAUncompBufferInfo;
typedef struct _tag_AMVAUncompDataInfo{
DWORD dwUncompWidth;
DWORD dwUncompHeight;
DDPIXELFORMAT ddUncompPixelFormat;
} AMVAUncompDataInfo,*LPAMVAUncompDataInfo;
#ifdef __cplusplus
}
#endif
#endif

View File

@ -0,0 +1,101 @@
#ifndef _DVDMEDIA_H
#define _DVDMEDIA_H
#if __GNUC__ >= 3
#pragma GCC system_header
#endif
#ifndef _STRMIF_H
#include <strmif.h>
#endif
#ifdef __cplusplus
extern "C" {
#endif
/*--- DirectShow Reference - DirectShow Structures - AM_SAMPLE2_PROPERTIES Structure */
#define AM_VIDEO_FLAG_FIELD_MASK 0x0003
#define AM_VIDEO_FLAG_INTERLEAVED_FRAME 0x0000
#define AM_VIDEO_FLAG_FIELD1 0x0001
#define AM_VIDEO_FLAG_FIELD2 0x0002
#define AM_VIDEO_FLAG_FIELD1FIRST 0x0004
#define AM_VIDEO_FLAG_WEAVE 0x0008
#define AM_VIDEO_FLAG_REPEAT_FIELD 0x0040
/*--- DirectShow Reference - DirectShow Enumerated Types */
enum AM_MPEG2Level {
AM_MPEG2Level_Low = 1,
AM_MPEG2Level_Main,
AM_MPEG2Level_High1440,
AM_MPEG2Level_High
};
enum AM_MPEG2Profile {
AM_MPEG2Profile_Simple = 1,
AM_MPEG2Profile_Main,
AM_MPEG2Profile_SNRScalable,
AM_MPEG2Profile_SpatiallyScalable,
AM_MPEG2Profile_High
};
typedef enum {
AM_RATE_ChangeRate = 1,
AM_RATE_FullDataRateMax = 2,
AM_RATE_ReverseDecode = 3,
AM_RATE_DecoderPosition = 4,
AM_RATE_DecoderVersion = 5
} AM_PROPERTY_DVD_RATE_CHANGE;
/*--- DirectShow Reference - DirectShow Structures */
typedef struct tagVIDEOINFOHEADER2 {
RECT rcSource;
RECT rcTarget;
DWORD dwBitRate;
DWORD dwBitErrorRate;
REFERENCE_TIME AvgTimePerFrame;
DWORD dwInterlaceFlags;
DWORD dwCopyProtectFlags;
DWORD dwPictAspectRatioX;
DWORD dwPictAspectRatioY;
union {
DWORD dwControlFlags;
DWORD dwReserved1;
};
DWORD dwReserved2;
BITMAPINFOHEADER bmiHeader;
} VIDEOINFOHEADER2;
#define AMINTERLACE_IsInterlaced 0x00000001
#define AMINTERLACE_1FieldPerSample 0x00000002
#define AMINTERLACE_Field1First 0x00000004
#define AMINTERLACE_FieldPatField1Only 0x00000000
#define AMINTERLACE_FieldPatField2Only 0x00000010
#define AMINTERLACE_FieldPatBothRegular 0x00000020
#define AMINTERLACE_FieldPatBothIrregular 0x00000030
#define AMINTERLACE_DisplayModeBobOnly 0x00000000
#define AMINTERLACE_DisplayModeWeaveOnly 0x00000040
#define AMINTERLACE_DisplayModeBobOrWeave 0x00000080
#define AMINTERLACE_FieldPatternMask 0x00000030
#define AMINTERLACE_DisplayModeMask 0x000000C0
#define AMCONTROL_USED 0x00000001
#define AMCONTROL_PAD_TO_4x3 0x00000002
#define AMCONTROL_PAD_TO_16x9 0x00000004
#define AMCONTROL_COLORINFO_PRESENT 0x00000008
typedef struct tagMPEG2VIDEOINFO {
VIDEOINFOHEADER2 hdr;
DWORD dwStartTimeCode;
DWORD cbSequenceHeader;
DWORD dwProfile;
DWORD dwLevel;
DWORD dwFlags;
DWORD dwSequenceHeader[1];
} MPEG2VIDEOINFO;
#define AMMPEG2_DoPanScan 0x00000001
#define AMMPEG2_DVDLine21Field1 0x00000002
#define AMMPEG2_DVDLine21Field2 0x00000004
#define AMMPEG2_SourceIsLetterboxed 0x00000008
#define AMMPEG2_FilmCameraMode 0x00000010
#define AMMPEG2_LetterboxAnalogOut 0x00000020
#define AMMPEG2_DSS_UserData 0x00000040
#define AMMPEG2_DVB_UserData 0x00000080
#define AMMPEG2_27MhzTimebase 0x00000100
#define AMMPEG2_WidescreenAnalogOut 0x00000200
#ifdef __cplusplus
}
#endif
#endif

View File

@ -115,10 +115,6 @@
#define ED_TCG_MIDI_QF 0x00001193
#define ED_TCG_MIDI_FULL 0x00001194
#define ED_TCG_FRAMERATE 0x00001195
#define ED_FORMAT_SMPTE_30 0x00001196
#define ED_FORMAT_SMPTE_30DROP 0x00001197
#define ED_FORMAT_SMPTE_25 0x00001198
#define ED_FORMAT_SMPTE_24 0x00001199
#define ED_TCG_SYNC_SOURCE 0x0000119A
#define ED_TCG_VIDEO 0x0000119B
#define ED_TCG_READER 0x0000119C

View File

@ -8,6 +8,149 @@
extern "C" {
#endif
#define VFW_S_NO_MORE_ITEMS 0x00040103
#define VFW_S_DUPLICATE_NAME 0x0004022D
#define VFW_S_STATE_INTERMEDIATE 0x00040237
#define VFW_S_PARTIAL_RENDER 0x00040242
#define VFW_S_SOME_DATA_IGNORED 0x00040245
#define VFW_S_CONNECTIONS_DEFERRED 0x00040246
#define VFW_S_RESOURCE_NOT_NEEDED 0x00040250
#define VFW_S_MEDIA_TYPE_IGNORED 0x00040254
#define VFW_S_VIDEO_NOT_RENDERED 0x00040257
#define VFW_S_AUDIO_NOT_RENDERED 0x00040258
#define VFW_S_RPZA 0x0004025A
#define VFW_S_ESTIMATED 0x00040260
#define VFW_S_RESERVED 0x00040263
#define VFW_S_STREAM_OFF 0x00040267
#define VFW_S_CANT_CUE 0x00040268
#define VFW_S_NOPREVIEWPIN 0x0004027E
#define VFW_S_DVD_NON_ONE_SEQUENTIAL 0x00040280
#define VFW_S_DVD_CHANNEL_CONTENTS_NOT_AVAILABLE 0x0004028C
#define VFW_S_DVD_NOT_ACCURATE 0x0004028D
#define VFW_E_INVALIDMEDIATYPE 0x80040200
#define VFW_E_INVALIDSUBTYPE 0x80040201
#define VFW_E_NEED_OWNER 0x80040202
#define VFW_E_ENUM_OUT_OF_SYNC 0x80040203
#define VFW_E_ALREADY_CONNECTED 0x80040204
#define VFW_E_FILTER_ACTIVE 0x80040205
#define VFW_E_NO_TYPES 0x80040206
#define VFW_E_NO_ACCEPTABLE_TYPES 0x80040207
#define VFW_E_INVALID_DIRECTION 0x80040208
#define VFW_E_NOT_CONNECTED 0x80040209
#define VFW_E_NO_ALLOCATOR 0x8004020A
#define VFW_E_RUNTIME_ERROR 0x8004020B
#define VFW_E_BUFFER_NOTSET 0x8004020C
#define VFW_E_BUFFER_OVERFLOW 0x8004020D
#define VFW_E_BADALIGN 0x8004020E
#define VFW_E_ALREADY_COMMITTED 0x8004020F
#define VFW_E_BUFFERS_OUTSTANDING 0x80040210
#define VFW_E_NOT_COMMITTED 0x80040211
#define VFW_E_SIZENOTSET 0x80040212
#define VFW_E_NO_CLOCK 0x80040213
#define VFW_E_NO_SINK 0x80040214
#define VFW_E_NO_INTERFACE 0x80040215
#define VFW_E_NOT_FOUND 0x80040216
#define VFW_E_CANNOT_CONNECT 0x80040217
#define VFW_E_CANNOT_RENDER 0x80040218
#define VFW_E_CHANGING_FORMAT 0x80040219
#define VFW_E_NO_COLOR_KEY_SET 0x8004021A
#define VFW_E_NOT_OVERLAY_CONNECTION 0x8004021B
#define VFW_E_NOT_SAMPLE_CONNECTION 0x8004021C
#define VFW_E_PALETTE_SET 0x8004021D
#define VFW_E_COLOR_KEY_SET 0x8004021E
#define VFW_E_NO_COLOR_KEY_FOUND 0x8004021F
#define VFW_E_NO_PALETTE_AVAILABLE 0x80040220
#define VFW_E_NO_DISPLAY_PALETTE 0x80040221
#define VFW_E_TOO_MANY_COLORS 0x80040222
#define VFW_E_STATE_CHANGED 0x80040223
#define VFW_E_NOT_STOPPED 0x80040224
#define VFW_E_NOT_PAUSED 0x80040225
#define VFW_E_NOT_RUNNING 0x80040226
#define VFW_E_WRONG_STATE 0x80040227
#define VFW_E_START_TIME_AFTER_END 0x80040228
#define VFW_E_INVALID_RECT 0x80040229
#define VFW_E_TYPE_NOT_ACCEPTED 0x8004022A
#define VFW_E_SAMPLE_REJECTED 0x8004022B
#define VFW_E_SAMPLE_REJECTED_EOS 0x8004022C
#define VFW_E_DUPLICATE_NAME 0x8004022D
#define VFW_E_TIMEOUT 0x8004022E
#define VFW_E_INVALID_FILE_FORMAT 0x8004022F
#define VFW_E_ENUM_OUT_OF_RANGE 0x80040230
#define VFW_E_CIRCULAR_GRAPH 0x80040231
#define VFW_E_NOT_ALLOWED_TO_SAVE 0x80040232
#define VFW_E_TIME_ALREADY_PASSED 0x80040233
#define VFW_E_ALREADY_CANCELLED 0x80040234
#define VFW_E_CORRUPT_GRAPH_FILE 0x80040235
#define VFW_E_ADVISE_ALREADY_SET 0x80040236
#define VFW_E_NO_MODEX_AVAILABLE 0x80040238
#define VFW_E_NO_ADVISE_SET 0x80040239
#define VFW_E_NO_FULLSCREEN 0x8004023A
#define VFW_E_IN_FULLSCREEN_MODE 0x8004023B
#define VFW_E_UNKNOWN_FILE_TYPE 0x80040240
#define VFW_E_CANNOT_LOAD_SOURCE_FILTER 0x80040241
#define VFW_E_FILE_TOO_SHORT 0x80040243
#define VFW_E_INVALID_FILE_VERSION 0x80040244
#define VFW_E_INVALID_CLSID 0x80040247
#define VFW_E_INVALID_MEDIA_TYPE 0x80040248
#define VFW_E_SAMPLE_TIME_NOT_SET 0x80040249
#define VFW_E_MEDIA_TIME_NOT_SET 0x80040251
#define VFW_E_NO_TIME_FORMAT_SET 0x80040252
#define VFW_E_MONO_AUDIO_HW 0x80040253
#define VFW_E_NO_DECOMPRESSOR 0x80040255
#define VFW_E_NO_AUDIO_HARDWARE 0x80040256
#define VFW_E_RPZA 0x80040259
#define VFW_E_PROCESSOR_NOT_SUITABLE 0x8004025B
#define VFW_E_UNSUPPORTED_AUDIO 0x8004025C
#define VFW_E_UNSUPPORTED_VIDEO 0x8004025D
#define VFW_E_MPEG_NOT_CONSTRAINED 0x8004025E
#define VFW_E_NOT_IN_GRAPH 0x8004025F
#define VFW_E_NO_TIME_FORMAT 0x80040261
#define VFW_E_READ_ONLY 0x80040262
#define VFW_E_BUFFER_UNDERFLOW 0x80040264
#define VFW_E_UNSUPPORTED_STREAM 0x80040265
#define VFW_E_NO_TRANSPORT 0x80040266
#define VFW_E_BAD_VIDEOCD 0x80040269
#define VFW_S_NO_STOP_TIME 0x80040270
#define VFW_E_OUT_OF_VIDEO_MEMORY 0x80040271
#define VFW_E_VP_NEGOTIATION_FAILED 0x80040272
#define VFW_E_DDRAW_CAPS_NOT_SUITABLE 0x80040273
#define VFW_E_NO_VP_HARDWARE 0x80040274
#define VFW_E_NO_CAPTURE_HARDWARE 0x80040275
#define VFW_E_DVD_OPERATION_INHIBITED 0x80040276
#define VFW_E_DVD_INVALIDDOMAIN 0x80040277
#define VFW_E_DVD_NO_BUTTON 0x80040278
#define VFW_E_DVD_GRAPHNOTREADY 0x80040279
#define VFW_E_DVD_RENDERFAIL 0x8004027A
#define VFW_E_DVD_DECNOTENOUGH 0x8004027B
#define VFW_E_DDRAW_VERSION_NOT_SUITABLE 0x8004027C
#define VFW_E_COPYPROT_FAILED 0x8004027D
#define VFW_E_TIME_EXPIRED 0x8004027F
#define VFW_E_DVD_WRONG_SPEED 0x80040281
#define VFW_E_DVD_MENU_DOES_NOT_EXIST 0x80040282
#define VFW_E_DVD_CMD_CANCELLED 0x80040283
#define VFW_E_DVD_STATE_WRONG_VERSION 0x80040284
#define VFW_E_DVD_STATE_CORRUPT 0x80040285
#define VFW_E_DVD_STATE_WRONG_DISC 0x80040286
#define VFW_E_DVD_INCOMPATIBLE_REGION 0x80040287
#define VFW_E_DVD_NO_ATTRIBUTES 0x80040288
#define VFW_E_DVD_NO_GOUP_PGC 0x80040289
#define VFW_E_DVD_LOW_PARENTAL_LEVEL 0x8004028A
#define VFW_E_DVD_NOT_IN_KARAOKE_MODE 0x8004028B
#define VFW_E_FRAME_STEP_UNSUPPORTED 0x8004028E
#define VFW_E_DVD_STREAM_DISABLED 0x8004028F
#define VFW_E_DVD_TITLE_UNKNOWN 0x80040290
#define VFW_E_DVD_INVALID_DISC 0x80040291
#define VFW_E_DVD_NO_RESUME_INFORMATION 0x80040292
#define VFW_E_PIN_ALREADY_BLOCKED_ON_THIS_THREAD 0x80040293
#define VFW_E_PIN_ALREADY_BLOCKED 0x80040294
#define VFW_E_CERTIFICATION_FAILURE 0x80040295
#define VFW_E_VMR_NOT_IN_MIXER_MODE 0x80040296
#define VFW_E_VMR_NO_AP_SUPPLIED 0x80040297
#define VFW_E_VMR_NO_DEINTERLACE_HW 0x80040298
#define VFW_E_VMR_NO_PROCAMP_HW 0x80040299
#define VFW_E_DVD_VMR9_INCOMPATIBLEDEC 0x8004029A
#define VFW_E_NO_COPP_HW 0x8004029B
#define VFW_E_BAD_KEY 0x800403F2
#define MAX_ERROR_TEXT_LEN 160
DWORD WINAPI AMGetErrorTextA(HRESULT,CHAR*,DWORD);
DWORD WINAPI AMGetErrorTextW(HRESULT,WCHAR*,DWORD);

View File

@ -4,6 +4,11 @@
#pragma GCC system_header
#endif
#ifdef __cplusplus
extern "C" {
#endif
/*--- DirectShow Reference - Constants and GUIDs - Event Notification Codes */
#define EC_ACTIVATE 0x0013
#define EC_BUFFERING_DATA 0x0011
#define EC_BUILT 0x0300
@ -51,5 +56,13 @@
#define EC_WMT_EVENT 0x0252
#define EC_WMT_INDEX_EVENT 0x0251
#define EC_USER 0x8000
/*--- DirectShow Reference - DirectShow Structures */
typedef struct {
HRESULT hrStatus;
void *pData;
} AM_WMT_EVENT_DATA;
#ifdef __cplusplus
}
#endif
#endif

View File

@ -0,0 +1,35 @@
#ifndef _IL21DEC_H
#define _IL21DEC_H
#if __GNUC__ >= 3
#pragma GCC system_header
#endif
#ifdef __cplusplus
extern "C" {
#endif
/*--- DirectShow Reference - DirectShow Enumerated Types */
typedef enum _AM_LINE21_CCLEVEL {
AM_L21_CCLEVEL_TC2
} AM_LINE21_CCLEVEL,*PAM_LINE21_CCLEVEL;
typedef enum _AM_LINE21_CCSERVICE {
AM_L21_CCSERVICE_None,
AM_L21_CCSERVICE_Caption1,
AM_L21_CCSERVICE_Caption2,
AM_L21_CCSERVICE_Text1,
AM_L21_CCSERVICE_Text2,
AM_L21_CCSERVICE_XDS,
} AM_LINE21_CCSERVICE,*PAM_LINE21_CCSERVICE;
typedef enum _AM_LINE21_CCSTATE {
AM_L21_CCSTATE_Off,
AM_L21_CCSTATE_On
} AM_LINE21_CCSTATE,*PAM_LINE21_CCSTATE;
typedef enum _AM_LINE21_DRAWBGMODE {
AM_L21_DRAWBGMODE_Opaque,
AM_L21_DRAWBGMODE_Transparent
} AM_LINE21_DRAWBGMODE,*PAM_LINE21_DRAWBGMODE;
#ifdef __cplusplus
}
#endif
#endif

View File

@ -0,0 +1,20 @@
#ifndef _KS_H
#define _KS_H
#if __GNUC__ >= 3
#pragma GCC system_header
#endif
#ifdef __cplusplus
extern "C" {
#endif
/*--- DirectShow Reference - DirectShow Structures */
typedef struct {
ULONG Size;
ULONG Count;
} KSMULTIPLE_ITEM,*PKSMULTIPLE_ITEM;
#ifdef __cplusplus
}
#endif
#endif

View File

@ -0,0 +1,23 @@
#ifndef _KSMEDIA_H
#define _KSMEDIA_H
#if __GNUC__ >= 3
#pragma GCC system_header
#endif
#ifdef __cplusplus
extern "C" {
#endif
/*--- DirectShow Reference - DirectShow Enumerated Types - CameraControlFlags Enumeration */
#define KSPROPERTY_CAMERACONTROL_FLAGS_AUTO 0x0001L
#define KSPROPERTY_CAMERACONTROL_FLAGS_MANUAL 0x0002L
#define KSPROPERTY_CAMERACONTROL_FLAGS_ABSOLUTE 0x0000L
#define KSPROPERTY_CAMERACONTROL_FLAGS_RELATIVE 0x0010L
/*--- DirectShow Reference - DirectShow Enumerated Types - VideoProcAmpFlags Enumeration */
#define KSPROPERTY_VIDEOPROCAMP_FLAGS_AUTO 0X0001L
#define KSPROPERTY_VIDEOPROCAMP_FLAGS_MANUAL 0X0002L
#ifdef __cplusplus
}
#endif
#endif

View File

@ -0,0 +1,71 @@
#ifndef _MMREG_H
#define _MMREG_H
#if __GNUC__ >= 3
#pragma GCC system_header
#endif
#ifndef _MMSYSTEM_H
#include <mmsystem.h>
#endif
#ifdef __cplusplus
extern "C" {
#endif
/*--- DirectShow Reference - DirectShow Structures */
typedef struct mpeg1waveformat_tag {
WAVEFORMATEX wfx;
WORD fwHeadLayer;
DWORD dwHeadBitrate;
WORD fwHeadMode;
WORD fwHeadModeExt;
WORD wHeadEmphasis;
WORD fwHeadFlags;
DWORD dwPTSLow;
DWORD dwPTSHigh;
} MPEG1WAVEFORMAT;
#define ACM_MPEG_LAYER1 0x0001
#define ACM_MPEG_LAYER2 0x0002
#define ACM_MPEG_LAYER3 0x0004
#define ACM_MPEG_STEREO 0x0001
#define ACM_MPEG_JOINTSTEREO 0x0002
#define ACM_MPEG_DUALCHANNEL 0x0004
#define ACM_MPEG_SINGLECHANNEL 0x0008
#define ACM_MPEG_PRIVATEBIT 0x0001
#define ACM_MPEG_COPYRIGHT 0x0002
#define ACM_MPEG_ORIGINALHOME 0x0004
#define ACM_MPEG_PROTECTIONBIT 0x0008
#define ACM_MPEG_ID_MPEG1 0x0010
typedef struct {
WAVEFORMATEX Format;
union {
WORD wValidBitsPerSample;
WORD wSamplesPerBlock;
WORD wReserved;
} Samples;
DWORD dwChannelMask;
GUID SubFormat;
} WAVEFORMATEXTENSIBLE,*PWAVEFORMATEXTENSIBLE;
#define SPEAKER_FRONT_LEFT 0x1
#define SPEAKER_FRONT_RIGHT 0x2
#define SPEAKER_FRONT_CENTER 0x4
#define SPEAKER_LOW_FREQUENCY 0x8
#define SPEAKER_BACK_LEFT 0x10
#define SPEAKER_BACK_RIGHT 0x20
#define SPEAKER_FRONT_LEFT_OF_CENTER 0x40
#define SPEAKER_FRONT_RIGHT_OF_CENTER 0x80
#define SPEAKER_BACK_CENTER 0x100
#define SPEAKER_SIDE_LEFT 0x200
#define SPEAKER_SIDE_RIGHT 0x400
#define SPEAKER_TOP_CENTER 0x800
#define SPEAKER_TOP_FRONT_LEFT 0x1000
#define SPEAKER_TOP_FRONT_CENTER 0x2000
#define SPEAKER_TOP_FRONT_RIGHT 0x4000
#define SPEAKER_TOP_BACK_LEFT 0x8000
#define SPEAKER_TOP_BACK_CENTER 0x10000
#define SPEAKER_TOP_BACK_RIGHT 0x20000
#ifdef __cplusplus
}
#endif
#endif

View File

@ -191,6 +191,7 @@ extern "C" {
#define WAVE_FORMAT_4M16 1024
#define WAVE_FORMAT_4S16 2048
#define WAVE_FORMAT_PCM 1
#define WAVE_FORMAT_EXTENSIBLE 0xFFFE
#define MIDIERR_UNPREPARED MIDIERR_BASE
#define MIDIERR_STILLPLAYING (MIDIERR_BASE+1)
#define MIDIERR_NOMAP (MIDIERR_BASE+2)

View File

@ -0,0 +1,29 @@
#ifndef _MPEGTYPE_H
#define _MPEGTYPE_H
#if __GNUC__ >= 3
#pragma GCC system_header
#endif
#include <strmif.h>
#ifdef __cplusplus
extern "C" {
#endif
/*--- DirectShow Reference - DirectShow Structures */
typedef struct tagAM_MPEGSTREAMTYPE {
DWORD dwStreamID;
DWORD dwReserved;
AM_MEDIA_TYPE mt;
BYTE bFormat[1];
} AM_MPEGSTREAMTYPE;
typedef struct tagAM_MPEGSYSTEMTYPE {
DWORD dwBitRate;
DWORD cStreams;
AM_MPEGSTREAMTYPE Streams[1];
} AM_MPEGSYSTEMTYPE;
#ifdef __cplusplus
}
#endif
#endif

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,23 @@
#ifndef _VIDCAP_H
#define _VIDCAP_H
#if __GNUC__ >= 3
#pragma GCC system_header
#endif
#ifdef __cplusplus
extern "C" {
#endif
/*--- DirectShow Reference - DirectShow Structures */
typedef struct {
ULONG FromNode;
ULONG FromNodePin;
ULONG ToNode;
ULONG ToNodePin;
} KSTOPOLOGY_CONNECTION;
#define KSFILTER_NODE 0xFFFFFFFF
#ifdef __cplusplus
}
#endif
#endif

View File

@ -0,0 +1,211 @@
#ifndef _VMR9_H
#define _VMR9_H
#if __GNUC__ >= 3
#pragma GCC system_header
#endif
#ifdef __cplusplus
extern "C" {
#endif
/*--- DirectShow Reference - DirectShow Enumerated Types */
typedef enum _VMR9_SampleFormat {
VMR9_SampleReserved = 1,
VMR9_SampleProgressiveFrame = 2,
VMR9_SampleFieldInterleavedEvenFirst = 3,
VMR9_SampleFieldInterleavedOddFirst = 4,
VMR9_SampleFieldSingleEven = 5,
VMR9_SampleFieldSingleOdd = 6
} VMR9_SampleFormat;
typedef enum {
VMR9AlphaBitmap_Disable = 0x00000001,
VMR9AlphaBitmap_hDC = 0x00000002,
VMR9AlphaBitmap_EntireDDS = 0x00000004,
VMR9AlphaBitmap_SrcColorKey = 0x00000008,
VMR9AlphaBitmap_SrcRect = 0x00000010,
VMR9AlphaBitmap_FilterMode = 0x00000020
} VMR9AlphaBitmapFlags;
typedef enum {
VMR9ARMode_None,
VMR9ARMode_LetterBox
} VMR9AspectRatioMode;
typedef enum {
DeinterlacePref9_NextBest = 0x01,
DeinterlacePref9_BOB = 0x02,
DeinterlacePref9_Weave = 0x04,
DeinterlacePref9_Mask = 0x07
} VMR9DeinterlacePrefs;
typedef enum {
DeinterlaceTech9_Unknown = 0x0000,
DeinterlaceTech9_BOBLineReplicate = 0x0001,
DeinterlaceTech9_BOBVerticalStretch = 0x0002,
DeinterlaceTech9_MedianFiltering = 0x0004,
DeinterlaceTech9_EdgeFiltering = 0x0010,
DeinterlaceTech9_FieldAdaptive = 0x0020,
DeinterlaceTech9_PixelAdaptive = 0x0040,
DeinterlaceTech9_MotionVectorSteered = 0x0080
} VMR9DeinterlaceTech;
typedef enum {
MixerPref9_NoDecimation = 0x00000001,
MixerPref9_DecimateOutput = 0x00000002,
MixerPref9_ARAdjustXorY = 0x00000004,
MixerPref9_NonSquareMixing = 0x00000008,
MixerPref9_DecimateMask = 0x0000000F,
MixerPref9_BiLinearFiltering = 0x00000010,
MixerPref9_PointFiltering = 0x00000020,
MixerPref9_AnisotropicFiltering = 0x00000040,
MixerPref9_PyramidalQuadFiltering = 0x00000080,
MixerPref9_GaussianQuadFiltering = 0x00000100,
MixerPref9_FilteringReserved = 0x00000E00,
MixerPref9_FilteringMask = 0x00000FF0,
MixerPref9_RenderTargetRGB = 0x00001000,
MixerPref9_RenderTargetYUV = 0x00002000,
MixerPref9_RenderTargetReserved = 0x000FC000,
MixerPref9_RenderTargetMask = 0x000FF000
MixerPref9_DynamicSwitchToBOB = 0x00100000,
MixerPref9_DynamicDecimateBy2 = 0x00200000,
MixerPref9_DynamicReserved = 0x00C00000,
MixerPref9_DynamicMask = 0x00F00000
} VMR9MixerPrefs;
typedef enum VMR9Mode {
VMR9Mode_Windowed = 0x00000001,
VMR9Mode_Windowless = 0x00000002,
VMR9Mode_Renderless = 0x00000004,
VMR9Mode_Mask = 0x00000007
};
typedef enum {
VMR9Sample_SyncPoint = 0x00000001,
VMR9Sample_Preroll = 0x00000002,
VMR9Sample_Discontinuity = 0x00000004,
VMR9Sample_TimeValid = 0x00000008
} VMR9PresentationFlags;
typedef enum {
ProcAmpControl9_Brightness = 0x00000001,
ProcAmpControl9_Contrast = 0x00000002,
ProcAmpControl9_Hue = 0x00000004,
ProcAmpControl9_Saturation = 0x00000008,
ProcAmpControl9_Mask = 0x0000000F
} VMR9ProcAmpControlFlags;
typedef enum VMR9RenderPrefs {
RenderPrefs9_DoNotRenderBorder = 0x00000001,
RenderPrefs9_Mask = 0x00000001
};
typedef enum {
VMR9AllocFlag_3DRenderTarget = 0x0001,
VMR9AllocFlag_DXVATarget = 0x0002,
VMR9AllocFlag_TextureSurface = 0x0004,
VMR9AllocFlag_OffscreenSurface = 0x0008,
VMR9AllocFlag_UsageReserved = 0x00F0,
VMR9AllocFlag_UsageMask = 0x00FF
} VMR9SurfaceAllocationFlags;
/*--- DirectShow Reference - DirectShow Structures */
/**********
typedef struct VMR9AllocationInfo{
DWORD dwFlags;
DWORD dwWidth;
DWORD dwHeight;
D3DFORMAT Format;
D3DPOOL Pool;
DWORD MinBuffers;
SIZE szAspectRatio;
SIZE szNativeSize;
};
**********/
typedef struct _VMR9DeinterlaceCaps {
DWORD dwSize;
DWORD dwNumPreviousOutputFrames;
DWORD dwNumForwardRefSamples;
DWORD dwNumBackwardRefSamples;
VMRDeinterlaceTech DeinterlaceTechnology;
} VMR9DeinterlaceCaps;
typedef struct _VMR9Frequency {
DWORD dwNumerator;
DWORD dwDenominator;
} VMR9Frequency;
typedef struct {
UINT uDevID;
RECT rcMonitor;
HMONITOR hMon;
DWORD dwFlags;
wchar_t szDevice[32];
wchar_t szDescription[512]
LARGE_INTEGER liDriverVersion;
DWORD dwVendorId;
DWORD dwDeviceId;
DWORD dwSubSysId;
DWORD dwRevision;
} VMR9MonitorInfo;
typedef struct VMR9NormalizedRect{
float left;
float top;
float right;
float bottom;
};
/**********
typedef struct {
DWORD dwFlags;
IDirect3DSurface9 *lpSurf;
REFERENCE_TIME rtStart;
REFERENCE_TIME rtEnd;
SIZE szAspectRatio;
RECT rcSrc;
RECT rcDst;
DWORD dwReserved1;
DWORD dwReserved2;
} VMR9PresentationInfo;
**********/
typedef struct _VMR9ProcAmpControl
{
DWORD dwSize;
DWORD dwFlags;
float Contrast;
float Brightness;
float Hue;
float Saturation;
} VMR9ProcAmpControl;
typedef struct _VMR9ProcAmpControlRange
{
DWORD dwSize;
VMR9ProcAmpControlFlags dwProperty;
float MinValue;
float MaxValue;
float DefaultValue;
float StepSize;
} VMR9ProcAmpControlRange;
typedef struct _VMR9VideoDesc {
DWORD dwSize;
DWORD dwSampleWidth;
DWORD dwSampleHeight;
VMR9_SampleFormat SampleFormat;
DWORD dwFourCC;
VMR9Frequency InputSampleFreq;
VMR9Frequency OutputFrameFreq;
} VMR9VideoDesc;
/**********
typedef struct VMR9VideoStreamInfo{
IDirect3DSurface9 *pddsVideoSurface;
DWORD dwWidth;
DWORD dwHeight;
DWORD dwStrmID;
FLOAT fAlpha;
VMR9NormalizedRect rNormal;
REFERENCE_TIME rtStart;
REFERENCE_TIME rtEnd;
VMR9_SampleFormat SampleFormat;
};
typedef struct VMR9AlphaBitmap{
DWORD dwFlags;
HDC hdc;
IDirect3DSurface9 *pDDS;
RECT rSrc;
VMR9NormalizedRect rDest;
FLOAT fAlpha;
COLORREF clrSrcKey;
DWORD dwFilterMode;
};
**********/
#ifdef __cplusplus
}
#endif
#endif

View File

@ -0,0 +1,55 @@
#ifndef _VPTYPE_H
#define _VPTYPE_H
#if __GNUC__ >= 3
#pragma GCC system_header
#endif
#ifdef __cplusplus
extern "C" {
#endif
/*--- DirectShow Reference - DirectShow Enumerated Types */
typedef enum _AMVP_MODE {
AMVP_MODE_WEAVE,
AMVP_MODE_BOBINTERLEAVED,
AMVP_MODE_BOBNONINTERLEAVED,
AMVP_MODE_SKIPEVEN,
AMVP_MODE_SKIPODD
} AMVP_MODE;
typedef enum _AMVP_SELECT_FORMAT_BY {
AMVP_DO_NOT_CARE,
AMVP_BEST_BANDWIDTH,
AMVP_INPUT_SAME_AS_OUTPUT
} AMVP_SELECT_FORMAT_BY;
/*--- DirectShow Reference - DirectShow Structures */
typedef struct _AMVPDIMINFO{
DWORD dwFieldWidth;
DWORD dwFieldHeight;
DWORD dwVBIWidth;
DWORD dwVBIHeight;
RECT rcValidRegion;
} AMVPDIMINFO,*LPAMVPDIMINFO;
typedef struct _AMVPDATAINFO{
DWORD dwSize;
DWORD dwMicrosecondsPerField;
AMVPDIMINFO amvpDimInfo;
DWORD dwPictAspectRatioX;
DWORD dwPictAspectRatioY;
BOOL bEnableDoubleClock;
BOOL bEnableVACT;
BOOL bDataIsInterlaced;
LONG lHalfLinesOdd;
BOOL bFieldPolarityInverted;
DWORD dwNumLinesInVREF;
LONG lHalfLinesEven;
DWORD dwReserved1;
} AMVPDATAINFO,*LPAMVPDATAINFO;
typedef struct _AMVPSIZE{
DWORD dwWidth;
DWORD dwHeight;
} AMVPSIZE,*LPAMVPSIZE;
#ifdef __cplusplus
}
#endif
#endif

View File

@ -0,0 +1,11 @@
#ifndef _XPTRDEFS_H
#define _XPTRDEFS_H
#if __GNUC__ >= 3
#pragma GCC system_header
#endif
/*--- DirectShow Reference - DirectShow Structures - TIMECODE_SAMPLE Structure */
#define ED_DEVCAP_ATN_READ 0x13B7
#define ED_DEVCAP_RTC_READ 0x13BA
#endif