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

📄 mpegcmn.pas

📁 这份源码已提供了神龙卡的控制接口的全部源码
💻 PAS
📖 第 1 页 / 共 3 页
字号:
unit mpegcmn;

interface

{/*++

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"
 }

 uses mpegerr;
// maximum number of mpeg devices in the computer
const 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
 BROADCASTED_VIDEO=		$0200;
 DVD_VIDEO =				$0000;
 FORCED_PROGRESSIVE_OFF=	$0100;	// display progressive or interlaced like in the video stream
 FORCED_PROGRESSIVE_ON=	$0000;	// display only progressive if the stream switches very fast from interlaced to progressive
 PROGRESSIVE_ALWAYS=		$0080;
 PROGRESSIVE_MOVIES=		$0000;
 FRAME_DROP=				$0040;
 FIELD_DROP=				$0000;
 VGA_INTERLACED=			$0002;
 VGA_PROGRESSIVE=			$0000;

// MpegAttrHardwareInfo1 flags
 DARK_COLOR_LETTERBOX=	$0001;	// hwDecoder is Quasar1 - letterbox bug
 VGA_CABLE_NOT_CONNECTED=	$0002;	// VGA cable is not connected for analog overlay boards

//	MpegAttrOverlayFlags
 OVERLAY_FLAGS_MASK=			$000F;
 VIDEO_ZOOM_ENABLE=			$0001;
 VIDEO_TV_DEST_ENABLE=		$0002;
 VIDEO_HDTV_DEST_ENABLE=		$0004;
 OSD_VIDEO_INDEPENDENT_DEST=	$0008;

// MpegAttrPlayOptions
type PLAY_OPTIONS(
   	VideoHwPlayNormal = 0,
  	VideoHwPlayToEvent,
  	VideoHwPlayIFrame,
  	VideoHwPlaySyncFaster,
	  VideoHwPlayYUV
);

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

type PMPEG_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;
 type MPEG_ATTRIBUTE=^PMPEG_ATTRIBUTE;

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

// MpegAttrAudioMode flags
 MPEG_ATTRIBUTE_AUDIO_MONO=				0;
 MPEG_ATTRIBUTE_AUDIO_STEREO=				1;
 MPEG_ATTRIBUTE_AUDIO_SPATIAL_STEREO=		2;
 MPEG_ATTRIBUTE_AUDIO_PSEUDO_STEREO	=	3;

// MpegAttrVideoMode flags
 MPEG_ATTRIBUTE_VIDEO_COMPONENT=			0;
 MPEG_ATTRIBUTE_VIDEO_PAL=				1;
 MPEG_ATTRIBUTE_VIDEO_NTSC =				2;
 MPEG_ATTRIBUTE_VIDEO_SECAM=				3;
 MPEG_ATTRIBUTE_VIDEO_MAC=				4;
 MPEG_ATTRIBUTE_VIDEO_AUTO =				5 ;

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

// MpegAttrAudioOutput 
 AUDIO_OUTPUT_STEREO=						0;
 AUDIO_OUTPUT_AC3DTS=						1;

// flags used to enable/disable the hardware audio outputs
 AUDIO_DAC_ENABLE=						$0001;
 AUDIO_DAC_DISABLE=						$0000;
 AUDIO_SPDIF_ENABLE=						$0002;
 AUDIO_SPDIF_DISABLE=						$0000;

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

// MpegAttrVideoAspectRatio
 VIDEO_ASPECT_RATIO_16_9=					3;
 VIDEO_ASPECT_RATIO_4_3=					2;

// MpegAttrVideoOutputMode
 VIDEO_OUTPUT_MODE_NORMAL_OR_WIDE=		0;
 VIDEO_OUTPUT_MODE_PAN_SCAN=				1;
 VIDEO_OUTPUT_MODE_LETTERBOX=				2;
 VIDEO_OUTPUT_MODE_HORZCENTER=			3;
 VIDEO_OUTPUT_MODE_VERTCENTER=			4 ;

// MpegAttrVideoTv
 COMPONENT_MASK=		$02C0;	// old was 0x00C0
 COMPOSITE=			$0000;
 COMPONENT_YUV=		$0080;
 COMPONENT_RGB=		$00C0;
 OUTPUT_OFF=			$0040;
 COMPONENT_RGB_SCART=	$0200;

 TV_DACS_ENABLE=		$0000;	// default behaviour - disabled after HwReset, enabled when playing
 TV_DACS_DISABLE=		$0100;	// force TvDacs disabled

 VIDEOOUT_MASK=		$0021;
 SET_VGA=				$0000;
 SET_TV=				$0001;
 SET_HDTV=			$0020 ;

 STANDARDTV_MASK=		$010A ;
 SET_NTSC=			$0000;
 SET_PAL= 			$0002;
 SET_PAL60=			$0008;
 SET_PALM=			$000A;
 SET_480P=			$0100;	// 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"),
 SET_NO_TV_CHANGE=	$8000;

 SET_ONETOONE=		$0000;
 SET_SCALE=			$0004;

 SET_TV_AS_SOURCE=	$0010;
 SET_TV_AS_USER=		$0000;

// settings for NetStream2k TV
 SCART_MASK=			$0003;
 SCART_EX_MASK=		$0004;
 SCART_DISABLE=		$0000;
 SCART_ENABLE_4x3=	$0001;
 SCART_ENABLE_16x9=	$0003;
 SCART_EX_RGB=		$0004;

// MpegAttrVideoGenLock type
  MPEG_ATTRIBUTE_VIDEO_GEN_LOCK_TV=		0;
  MPEG_ATTRIBUTE_VIDEO_GEN_LOCK_VTR=		1 ;

// MpegAttrVideoSignalType type
  MPEG_ATTRIBUTE_VIDEO_SIGNAL_COMPOSITE=	0;
  MPEG_ATTRIBUTE_VIDEO_SIGNAL_SVHS=		1 ;

// MpegAttrAudioChannel Mpeg channel
//  auxiliary channels are mini-port specific
  MPEG_ATTRIBUTE_AUDIO_CHANNEL_MPEG=  0;

// MpegAttrVideoChannel Mpeg channel
//  auxiliary channels are mini-port specific
  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.
  MPEG_CAPABILITY_BORDER_ADJUST            =$00000001 ;

// Every key color can be independantly ajusted. This is only used when
// an analog overlay is used.
  MPEG_CAPABILITY_KEYCOLOR_ADJUST          =$00000002;

// Brightness, contrast and saturation can be adjusted
  MPEG_CAPABILITY_BSC_ADJUST               =$00000004;

// The analog overlay supports auto-calibration
  MPEG_CAPABILITY_AUTO_CALIBRATE           =$00000008 ;

// Mpeg4 capability
  MPEG_CAPABILITY_MPEG4_DECODE             =$00000010;

// Gamma correction can be adjusted
  MPEG_CAPABILITY_GAMMA_ADJUST             =$00000020;

// ????????
  MPEG_CAPABILITY_HIRES                    =$00000040 ;

// ????????
  MPEG_CAPABILITY_USES_VPM                 =$00000080;

// The hardware can play DVD titles
  MPEG_CAPABILITY_DVD_CAN_PLAY             =$00000100 ;

⌨️ 快捷键说明

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