2025-04-27 07:49:33 -04:00

124 lines
2.6 KiB
C

//***************************************************************************
// Decoder header
//
//***************************************************************************
#ifndef __CDVPRO_H__
#define __CDVPRO_H__
enum {
NO_ACG,
TC6802,
TC6814,
TC6818
};
typedef struct _VProcessor {
ULONG AudioMode; // AC3, PCM, ...
BOOL SubpicMute;
UCHAR VproRESET_REG;
UCHAR VproVMODE_REG;
UCHAR VproAVM_REG;
UCHAR VproCOMMAND_REG;
UCHAR AudioID;
UCHAR SubpicID;
} VProcessor, *PVProcessor;
typedef struct _CGuard {
UCHAR VproRESET_REG;
UCHAR VproVMODE_REG;
UCHAR VproAVM_REG;
ULONG CpgdVsyncCount;
ULONG ACGchip;
BOOL CGMSnCPGDvalid;
ULONG AspectFlag; // Aspect Ratio
// 0: 4:3
// 1: 16:9
ULONG LetterFlag; // Letter Box
// 0: Letter Box OFF
// 1: Letter Box ON
ULONG CgmsFlag; // NTSC Anolog CGMS
// 0: Copying is permitted without restriction
// 1: Condition is not be used
// 2: One generation of copies may be made
// 3: No copying is permitted
ULONG CpgdFlag; // APS
// 0: AGC pulse OFF, Burst inv OFF
// 1: AGC pulse ON , Burst inv OFF
// 2: AGC pulse ON , Burst inv ON (2line)
// 3: AGC pulse ON , Burst inv ON (4line)
} CGuard, *PCGuard;
typedef struct _Dack
{
UCHAR DigitalOutMode;
UCHAR paldata[3][256];
} Dack, *PDack;
typedef struct _ADecoder {
ULONG AudioMode; // AC3, PCM, ...
ULONG AudioFreq; // audio frequency
ULONG AudioType; // audio type - analog, digital, ...
ULONG AudioCgms; // audio cgms
// 3:No copying is permitted
// 2:One generation of copies may be made
// 1:Condition is not be used
// 0:Copying is permitted without restriction
ULONG AudioVolume;
Dack *pDack;
} ADecoder, *PADecoder;
// overall decoder info
typedef struct _MasterDecoder {
// hardware settings
ULONG StreamType; // stream type - DVD, MPEG2, ...
ULONG TVType; // TV type - NTCS, PAL, ...
ULONG PlayMode; // playback mode - normal, FF, ...
ULONG RunMode; // 3modes; Normal, Fast, Slow
BOOL VideoMute; //
BOOL AudioMute; //
BOOL OSDMute; //
BOOL LetterBox; //
BOOL PanScan; //
ULONG VideoAspect; // - 4:3, 16:9
ULONG AudioVolume; // audio volume
BOOL SubpicHilite; // subpicture hilight
UCHAR VideoPort; // degital video output type
Dack DAck;
ADecoder ADec;
VProcessor VPro;
CGuard CPgd;
} MasterDecoder, *PMasterDecoder;
#endif // included already