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

📄 rprombw.h

📁 此代码为WCE5.0下显示器的源代码
💻 H
字号:
//
// Copyright (c) Microsoft Corporation.  All rights reserved.
//
//
// Use of this source code is subject to the terms of the Microsoft end-user
// license agreement (EULA) under which you licensed this SOFTWARE PRODUCT.
// If you did not accept the terms of the EULA, you are not authorized to use
// this source code. For a copy of the EULA, please see the LICENSE.RTF on your
// install media.
//

#ifndef _RPROMBW_H_
#define _RPROMBW_H_

#include "dal.h"

/*
#define FAR
typedef unsigned long ULONG;
typedef long          LONG;
typedef ULONG  FAR   *LPULONG;

typedef ULONG         BOOL;

typedef struct _DEVMODE_INFO
{
  ULONG ulModeFlags;
  ULONG ulPelsWidth;
  ULONG ulPelsHeight;
  ULONG ulBitsPerPixel;
  ULONG ulDisplayFrequency;
} DEVMODE_INFO, *LPDEVMODE_INFO;



typedef struct _FIXEDPOINT   // define 32.8 fixed-point format 
{
  ULONG       Integral;      // 32-bit integral part
  ULONG       Fractional;    // 8-bit fractional part
} FIXEDPOINT, FAR* LPFIXEDPOINT;

typedef struct _HORIZONTAL_TIME
{
  FIXEDPOINT fHActiveTime;
  FIXEDPOINT fHBlankTime;

} HORIZONTAL_TIME, FAR *LPHORIZONTAL_TIME;
*/

typedef struct _BANDWID_TIME
{
  FIXEDPOINT sHActiveTime;
  FIXEDPOINT sHBlankTime;
  FIXEDPOINT sBandwidth;
} BANDWID_TIME, FAR* LPBANDWID_TIME;



// DVD Spport return code
typedef enum
{
  MBW_SUPPORT = 0,
  MBW_CACHE_VIOLATE,
  MBW_3D_IDCT_PIPE_VIOLATE,
  MBW_DECODE_TIME_VIOLATE,
} MBWRETURNCODE;


// Set constants for LT PRO
#define MBW_MEM_WID32         32
#define MBW_MEM_WID64         64
#define MBW_MEM_IPC1          1
#define MBW_MEM_IPC2          2
#define MBW_MEM_PFC           7
#define MBW_MEM_FIFO          32

#define MBW_DISP_FIFO         32

#define MBW_HW_CUR_SIZE       2
#define MBW_HW_CUR_WIDTH      64
#define MBW_HW_CUR_HIGHT      64
#define MBW_HW_ICON_SIZE      4
#define MBW_HW_ICON_WIDTH     128
#define MBW_HW_ICON_HIGHT     128

#define MBW_VID_CLK           27  // 27 MHz
#define MBW_VID_FLUSH         4   // 0 - 9
#define MBW_VID_REFRATE       60

#define MBW_HFB_BPP           3
#define MBW_HFB_FIFO          8

#define MBW_SUB_WIDTH         720
#define MBW_SUB_HIGHT         480
#define MBW_SUB_BPP           2
#define MBW_SUB_BURST         32

#define MBW_SCL_BPP           16
#define MBW_SCL_BURST         64

#define MBW_HVID_BPP          12
#define MBW_HVID_BURST        8

#define MBW_SCL_PLANAR_MODE   0
#define MBW_SCL_PACKED_MODE   1
#define MBW_SCL_RGBQ_MODE     2
#define MBW_NON_SCL_MODE      0xFFFFFFFF

#define MBW_SCL_BURST         64

//#define MBW_HBLNK_FACTOR      77  // 0.30
//#define MBW_VBLNK_FACTOR      10  // 0.04

#define MBW_NTSC_FRAME_RATE   30
#define MBW_FILM_FRAME_RATE   24

#define MBW_MODE_ENHANCED     0
#define MBW_MODE_NOT_ENHANCED 1
#define MBW_MODE_FAILED       2

#define DAL_HTIME_ADJUSTMENT_ONE_CONTROLLER_32bit   4

#define MAX(a, b)  (((a) > (b)) ? (a) : (b)) 
#define MIN(a, b)  (((a) < (b)) ? (a) : (b)) 



VOID vMBW_GetTotalBandwidth(HGCO hGCO, LPFIXEDPOINT lpBandwidth);
VOID vMBW_GetTotalHTime(HGCO hGCO, LPHORIZONTAL_TIME lpHTime, LPDEVMODE_INFO lpModeInfo, ULONG ulDisplayTypes);

VOID vMBW_CalculateModeBandwidth(HGCO hGCO, LPDEVMODE_INFO lpModeInfo, LPFIXEDPOINT lpBandwidth);
VOID vMBW_CalculateModeHTime(HGCO hGCO, LPDEVMODE_INFO lpModeInfo, LPHORIZONTAL_TIME lpHTime);

VOID vMBW_CalculateOverlayBandwidth(HGCO hGCO, ULONG ulSclMode, LPDEVMODE_INFO lpOverlayMode, LPFIXEDPOINT lpBandwidth);
VOID vMBW_CalculateOverlayHTime(HGCO hGCO, ULONG ulSclMode, LPDEVMODE_INFO lpOverlayMode, LPHORIZONTAL_TIME lpHTime);

VOID vMBW_CalculateVideoBandwidth(HGCO hGCO, LPDEVMODE_INFO lpModeInfo, LPFIXEDPOINT lpBandwidth);
VOID vMBW_CalculateVideoHTime(HGCO hGCO, LPDEVMODE_INFO lpModeInfo, LPHORIZONTAL_TIME lpHTime);

BOOL vMBW_CalculateHFBBandwidth(HGCO hGCO, LPDEVMODE_INFO lpModeInfo, LPFIXEDPOINT lpBandwidth);
BOOL vMBW_CalculateHFBHTime(HGCO hGCO, LPDEVMODE_INFO lpModeInfo, LPHORIZONTAL_TIME lpHTime);

BOOL vMBW_AdjustHTime(HGCO hGCO, LPHORIZONTAL_TIME aTotalHTime, LPHORIZONTAL_TIME aReqHTime,
                      LPDEVMODE_INFO lpModeInfo, ULONG ulNumControllersReq, LPULONG lpDisplaysType);


#endif //_RPROMBW_H_

⌨️ 快捷键说明

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