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

📄 mpegcmn.h

📁 神龙卡 SDK_84xx_DShow_145_02.zip 这个是 windows 上二个是linux
💻 H
📖 第 1 页 / 共 3 页
字号:
/*++

Copyright (c) 1994  Microsoft Corporation

Module Name:

    mpegcmn.h

Abstract:

    These are the definitions which are common to the MPEG API and
    Port/Miniport interfaces.

Revision History:
 
--*/
#ifndef _MPEGCMN_H
#define _MPEGCMN_H

#ifdef __cplusplus
extern "C" 
{
#endif

#include "mpegerr.h"

// maximum number of mpeg devices in the computer
#define MAX_MPEG_DEVICES    40	// equivalent for RM_MAXIMUM =40 in fmpdefs.h

#ifndef _NO_64BITS_SUPPORT_

typedef ULONGLONG MPEG_SYSTEM_TIME, *PMPEG_SYSTEM_TIME;
#define MPEG_SYSTEM_TIME_MASK   ((MPEG_SYSTEM_TIME)0x00000001FFFFFFFF)
// information flags or-ed with Scr, Pts, Stc ( 64 bits variables )
#define PTS_VALIDITY				0x8000000000000000
#define PTS_WAVIFACE_4000			0x4000000000000000
#define FIRST_AUDIO_PTS				0x0004000000000000
#define PTS_WAVIFACE_0002			0x0002000000000000
#define PTS_DISCONTINUITY			0x0001000000000000
// Information flags to indicate new DATA Format (See RM_DATA_FORMAT_STRUCT)
#define RMFLAG_DATA_FORMAT_CHANGE	0x2000000000000000
#define CTS_VALIDITY				0x1000000000000000

#endif

#ifdef MMOSA
typedef unsigned char       BOOLEAN, *PBOOLEAN;
typedef char                CHAR, *PCHAR;

#ifndef MIDL_PASS
typedef unsigned char       UCHAR, *PUCHAR;
typedef short               SHORT, *PSHORT;
typedef unsigned short      USHORT, *PUSHORT;
typedef unsigned __int64    ULONGLONG, *PULONGLONG;

#define VOID                void
typedef void *              PVOID;
#endif

#define IN
#define OUT
#define OPTIONAL
#else
#ifdef MIDL_PASS
typedef char                CHAR, *PCHAR;
typedef unsigned char       *PUCHAR;
typedef long                *PLONG;
#endif

#ifndef _COLORREF_DEFINED
#define _COLORREF_DEFINED
typedef ULONG COLORREF;
#endif

#ifndef _DWORD_
typedef unsigned long DWORD;
#define _DWORD_
#endif

#ifndef _WORD_
typedef unsigned short WORD;
#define _WORD_
#endif

#endif

// MpegAttrForcedProgressive flags
#define BROADCASTED_VIDEO		0x0200
#define DVD_VIDEO				0x0000
#define FORCED_PROGRESSIVE_OFF	0x0100	// display progressive or interlaced like in the video stream
#define FORCED_PROGRESSIVE_ON	0x0000	// display only progressive if the stream switches very fast from interlaced to progressive
#define PROGRESSIVE_ALWAYS		0x0080
#define PROGRESSIVE_MOVIES		0x0000
#define FRAME_DROP				0x0040
#define FIELD_DROP				0x0000
#define VGA_INTERLACED			0x0002
#define VGA_PROGRESSIVE			0x0000

// MpegAttrHardwareInfo1 flags
#define DARK_COLOR_LETTERBOX	0x0001	// hwDecoder is Quasar1 - letterbox bug
#define VGA_CABLE_NOT_CONNECTED	0x0002	// VGA cable is not connected for analog overlay boards

//	MpegAttrOverlayFlags
#define OVERLAY_FLAGS_MASK			0x000F
#define VIDEO_ZOOM_ENABLE			0x0001
#define VIDEO_TV_DEST_ENABLE		0x0002
#define VIDEO_HDTV_DEST_ENABLE		0x0004
#define OSD_VIDEO_INDEPENDENT_DEST	0x0008

// MpegAttrPlayOptions
typedef enum
{
	VideoHwPlayNormal = 0,
	VideoHwPlayToEvent,
	VideoHwPlayIFrame,
	VideoHwPlaySyncFaster,
	VideoHwPlayYUV
}PLAY_OPTIONS;

//****************************************************************************
// Enumerated Constants
//****************************************************************************

typedef enum _MPEG_ATTRIBUTE {
    MpegAttrAudioBass =     0,
    MpegAttrAudioChannel,
    MpegAttrAudioMode,
    MpegAttrAudioTreble,
    MpegAttrAudioVolumeLeft,
    MpegAttrAudioVolumeRight,
	MpegAttrAudioPosition,
	MpegAttrAudioRate,
	MpegAttrAudioLayerIndex,
	MpegAttrAudioBitrateIndex,
	MpegAttrAudioFormat,
	MpegAttrAudioNumChannels,
	MpegAttrAudioBlockAlign,
	MpegAttrAudioEnableSpdif,
	MpegAttrAudioSetPcmOutputSpdif,
	MpegAttrAudioVcxo,
	MpegAttrAudioOutput,
    MpegAttrMaximumAudioAttribute,

    MpegAttrVideoBrightness  =400,
    MpegAttrVideoChannel,
    MpegAttrVideoContrast,
    MpegAttrVideoHue,
    MpegAttrVideoMode,
    MpegAttrVideoSaturation,
    MpegAttrVideoAGC,
    MpegAttrVideoClamp,
    MpegAttrVideoCoring,
    MpegAttrVideoGain,
    MpegAttrVideoGenLock,			//410
    MpegAttrVideoSharpness,
    MpegAttrVideoSignalType,
	MpegAttrVideoPosition,	
	MpegAttrVideoSpeed,
	MpegAttrVideoFramePosition,
	MpegAttrVideoRate,
	MpegAttrVideoAspectRatio,
	MpegAttrVideoSpeed2,
	MpegAttrVideoCD10Parameter,
	MpegAttrVideoGamma,				//420
	MpegAttrVideoAccessHardware,
	MpegAttrVideoTv,
	MpegAttrGetSubID,
	MpegAttrVideoEnableSync,
	MpegAttrVideoOutputMode,
	MpegAttrVideoStill,
	MpegAttrVideoMacrovisionFlags,
    MpegAttrChgKey,
	MpegAttrKey,
	MpegAttrDiscKey,				//430
	MpegAttrTitleKey,
	MpegAttrVideoForceEos,
	MpegAttrAddPerfStat,
	MpegAttrRemovePerfStat,
	MpegAttrVideoDeviceSize,
	MpegAttrVideoModeChange,
	MpegAttrVideoKeepAspectRatio,
	MpegAttrTvFullScreen,
	MpegAttrTvEncoderToleranceNtsc,
	MpegAttrTvEncoderTolerancePal,	//440
	MpegAttrForcedProgressive,
	MpegAttrHDTVMode,
	MpegAttrVideoFramePts45k,
	MpegAttrVideoFrameNumberInGOP,
	MpegAttrPlayOptions,
	MpegAttrCodeVersion,
	MpegAttrMaximumVideoAttribute,

    MpegAttrOverlayXOffset = 800,
    MpegAttrOverlayYOffset,
	MpegAttrOverlayVgaCorrection,
	MpegAttrOverlayVgaRUpper,
	MpegAttrOverlayVgaRLower,
	MpegAttrOverlayVgaGUpper,
	MpegAttrOverlayVgaGLower,
	MpegAttrOverlayVgaBUpper,
	MpegAttrOverlayVgaBLower,
	MpegAttrOverlaySourceWidth,
	MpegAttrOverlaySourceHeight,
	MpegAttrOverlayHFrequency,
	MpegAttrOverlayFineAdjustment,	
	MpegAttrOverlayInDelay,
	MpegAttrOverlayOutDelay,
	MpegAttrOverlayCropLeft,
	MpegAttrOverlayCropRight,
	MpegAttrOverlayCropTop,
	MpegAttrOverlayCropBottom,
	MpegAttrOverlayJitterAdjustment,
	MpegAttrOverlayTVXYPos,
	MpegAttrOverlayFlags,
	MpegAttrOsdDest,
	MpegAttrOsdHiLiDest,
	MpegAttrOsdON,
	MpegAttrOsdOFF,
	MpegAttrOsdFLUSH,
	MpegAttrOsdBufferSize,
	MpegAttrDisplayResolutionEx,
	MpegAttrMaximumOverlayAttribute,

	// Subpicture & other
	MpegAttrWindowHandle = 1000,
	MpegAttrSubpicturePalette,
	MpegAttrUserPalette,
	MpegAttrPaletteHWnd,
	MpegAttrSprm8,
	MpegAttrCmd,
	MpegAttrDisplayState,
	MpegAttrDisplayType,
	MpegAttrCapabilities,
	MpegAttrDisplayResolution,
	MpegAttrHighlight,
	MpegAttrButtonAvailable,
	MpegAttrHardwareInfo1,
	MpegAttrPowerState,
	MpegAttrDirectShow,
	MpegAttrGetFreeInstanceNmb,
	MpegAttrGetMaxInstanceNmb,
	MpegAttrVgaVendorInfo,
	MpegAttrMaximumSubpictureAttribute,

	// Values used for debug purposes
	MpegAttrOverlayAdjustmentA = 1200,
	MpegAttrOverlayAdjustmentB,
	MpegAttrOverlayAdjustmentC,
	MpegAttrOverlayAdjustmentD,
	MpegAttrOverlayAdjustmentE,
	MpegAttrOverlayAdjustmentF,

	MpegAttrMaximum
} MPEG_ATTRIBUTE, *PMPEG_ATTRIBUTE;

#define MPEG_OEM_ATTRIBUTE(a) ((MPEG_ATTRIBUTE)(((unsigned)(a))+0x00008000))

// MpegAttrAudioMode flags
#define MPEG_ATTRIBUTE_AUDIO_MONO				0
#define MPEG_ATTRIBUTE_AUDIO_STEREO				1
#define MPEG_ATTRIBUTE_AUDIO_SPATIAL_STEREO		2
#define MPEG_ATTRIBUTE_AUDIO_PSEUDO_STEREO		3

// MpegAttrVideoMode flags
#define MPEG_ATTRIBUTE_VIDEO_COMPONENT			0
#define MPEG_ATTRIBUTE_VIDEO_PAL				1
#define MPEG_ATTRIBUTE_VIDEO_NTSC				2
#define MPEG_ATTRIBUTE_VIDEO_SECAM				3
#define MPEG_ATTRIBUTE_VIDEO_MAC				4
#define MPEG_ATTRIBUTE_VIDEO_AUTO				5

// MpegAttrAudioFormat 
#define AUDIO_FORMAT_MPEG1						1
#define AUDIO_FORMAT_MPEG2						2
#define AUDIO_FORMAT_AC3						3
#define AUDIO_FORMAT_PCM						4
#define AUDIO_FORMAT_DTS						5
#define AUDIO_FORMAT_DVD_AUDIO					6
#define AUDIO_FORMAT_ADPCM						7	// Use AUDIO_FORMAT_REVERSE_PCM instead
#define AUDIO_FORMAT_REVERSE_PCM				7
#define AUDIO_FORMAT_AAC						8

// MpegAttrAudioOutput 
#define AUDIO_OUTPUT_STEREO						0
#define AUDIO_OUTPUT_AC3DTS						1

// flags used to enable/disable the hardware audio outputs
#define AUDIO_DAC_ENABLE						0x0001
#define AUDIO_DAC_DISABLE						0x0000
#define AUDIO_SPDIF_ENABLE						0x0002
#define AUDIO_SPDIF_DISABLE						0x0000

// MpegAttrAudioMode; Audio modes defined also in impeg32, hardware.h
#define AUDIO_MODE_STEREO						0
#define AUDIO_MODE_RIGHT_ONLY					1
#define AUDIO_MODE_LEFT_ONLY					2
#define AUDIO_MODE_MONOMIX						3

// MpegAttrVideoAspectRatio
#define VIDEO_ASPECT_RATIO_16_9					3
#define VIDEO_ASPECT_RATIO_4_3					2

// MpegAttrVideoOutputMode
#define VIDEO_OUTPUT_MODE_NORMAL_OR_WIDE		0
#define VIDEO_OUTPUT_MODE_PAN_SCAN				1
#define VIDEO_OUTPUT_MODE_LETTERBOX				2
#define VIDEO_OUTPUT_MODE_HORZCENTER			3
#define VIDEO_OUTPUT_MODE_VERTCENTER			4

// MpegAttrVideoTv
#define COMPONENT_MASK		0x02C0	// old was 0x00C0
#define COMPOSITE			0x0000
#define COMPONENT_YUV		0x0080
#define COMPONENT_RGB		0x00C0
#define OUTPUT_OFF			0x0040
#define COMPONENT_RGB_SCART	0x0200

#define TV_DACS_ENABLE		0x0000	// default behaviour - disabled after HwReset, enabled when playing
#define TV_DACS_DISABLE		0x0100	// force TvDacs disabled 

#define VIDEOOUT_MASK		0x0021
#define SET_VGA				0x0000
#define SET_TV				0x0001
#define SET_HDTV			0x0020

#define STANDARDTV_MASK		0x010A
#define SET_NTSC			0x0000
#define SET_PAL 			0x0002
#define SET_PAL60			0x0008
#define SET_PALM			0x000A
#define SET_480P			0x0100	// used only for Vga scan convertion

// The following define prevents the driver from forcing TV output back
// to the VGA when using NetStream 2000 TV (TvOut under "General"),
#define SET_NO_TV_CHANGE	0x8000

#define SET_ONETOONE		0x0000
#define SET_SCALE			0x0004

#define SET_TV_AS_SOURCE	0x0010
#define SET_TV_AS_USER		0x0000

// settings for NetStream2k TV
#define SCART_MASK			0x0003
#define SCART_EX_MASK		0x0004
#define SCART_DISABLE		0x0000
#define SCART_ENABLE_4x3	0x0001
#define SCART_ENABLE_16x9	0x0003
#define SCART_EX_RGB		0x0004

// MpegAttrVideoGenLock type
#define MPEG_ATTRIBUTE_VIDEO_GEN_LOCK_TV		0
#define MPEG_ATTRIBUTE_VIDEO_GEN_LOCK_VTR		1

// MpegAttrVideoSignalType type
#define MPEG_ATTRIBUTE_VIDEO_SIGNAL_COMPOSITE	0
#define MPEG_ATTRIBUTE_VIDEO_SIGNAL_SVHS		1

// MpegAttrAudioChannel Mpeg channel
//  auxiliary channels are mini-port specific
#define MPEG_ATTRIBUTE_AUDIO_CHANNEL_MPEG  0

// MpegAttrVideoChannel Mpeg channel
//  auxiliary channels are mini-port specific
#define MPEG_ATTRIBUTE_VIDEO_CHANNEL_MPEG  0

// MpegAttrCapabilities
// Values must same as FMP_CAPABILITY_xxx

// An analog overlay is present and a border adjustment utility is needed
// in order to be able to adjust the overlay to the VGA resolution.
#define MPEG_CAPABILITY_BORDER_ADJUST            0x00000001

// Every key color can be independantly ajusted. This is only used when 
// an analog overlay is used.
#define MPEG_CAPABILITY_KEYCOLOR_ADJUST          0x00000002

// Brightness, contrast and saturation can be adjusted
#define MPEG_CAPABILITY_BSC_ADJUST               0x00000004

// The analog overlay supports auto-calibration
#define MPEG_CAPABILITY_AUTO_CALIBRATE           0x00000008

⌨️ 快捷键说明

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