📄 tunerinfo.h
字号:
/*+++ *******************************************************************\
*
* Copyright and Disclaimer:
*
* ---------------------------------------------------------------
* This software is provided "AS IS" without warranty of any kind,
* either expressed or implied, including but not limited to the
* implied warranties of noninfringement, merchantability and/or
* fitness for a particular purpose.
* ---------------------------------------------------------------
*
* Copyright (c) 2004 Conexant Systems, Inc.
* All rights reserved.
*
\******************************************************************* ---*/
#ifndef _TUNER_INFO_H_
#define _TUNER_INFO_H_
// tuner types
typedef enum
{
TUNER_TYPE_NOT_DEFINED = 0, // Tuner type is unknown
PHILIPS_FM1236_MK2 = 1, // NTSC-M tuner
PHILIPS_FM1216_MK2 = 2, // PAL B/G tuner
PHILIPS_FM1246_MK2 = 3, // PAL I tuner
PHILIPS_FM1216_MK3 = 10, // multi-standard Euro tuner
PHILIPS_FM1236_MK3 = 11, // NTSC-M tuner
PHILIPS_FI1236_MK3 = 12, // NTSC-M tuner
PHILIPS_FQ1216_MK3 = 13, // multi-standard Euro tuner
PHILIPS_FQ1236_MK3 = 14, // NTSC-M tuner
TEMIC_4039 = 15, // Temic 4039 NTSC-M tuner, FM radio
XUGUANG_126 = 16, // XuGuang JS-2S/126 tuner, PAL D/K and I, no radio
PHILIPS_FQ1216_MK4 = 17, // multi-standard Euro tuner
PHILIPS_FQ1236_MK4 = 18, // NTSC-M tuner
TEA5768HL = 19, // FM tuner (Use TeaTuner class)
TALF_H800Y = 20, // Ultra-mini NTSC tuner
TALF_W800Y = 21, // Ultra-mini multi-standard Euro tuner
PHILIPS_FQ1236_MK5 = 22, // NTSC-M tuner
PHILIPS_FMD1216_ME = 23, // Philips DVB-T & Analog tuner , FM radio
THOMSON_DTT761x = 24, // Thomson ATSC/NTSC
LG_TAPE_H001F = 25, // LG TAPE-H001F tuner (NTSC with FM radio)
XCEIVE_XC3028 = 26, // Xceive XC3028
PHILIPS_FM1236_MK5 = 27, // NTSC-M tuner with FM
PHILIPS_FQ1216_MK5 = 28, // PAL 4-in-1 tuner no FM
PHILIPS_TUV_1236D = 29, // Philips NTSC/ATSC tuner. (Use PhilipsTUV1236D class)
TCL_2002_MI = 30, // TCL 2002 MI tuner, PAL D/K and I, no radio
PHILIPS_FM1216_MK5 = 31, // PAL 4-in-1 tuner with FM
PHILIPS_TU_1236 = 32, // Philips ATSC tuner. (Use PhilipsTUV1236D class)
TCL_M2523_8_DB = 33, // M2523 TCL tuner, PALB/G, PAL D/K, no fm
SIDEWINDER = 34, // Conexant Sidewinder silicon tuner
MAXLINEAR_MXL5005 = 35, // MaxLinear MxL5005 silicon tuner
XCEIVE_XC3028L = 36, // Xceive XC3028L - Low Power
XCEIVE_XC5000 = 37 // Xceive XC5000
} TUNER_TYPES;
#define TUNER_SUPPORTS_FM 0x00000001
#define TUNER_USES_AFC 0x00000002
#define TUNER_HAS_2ND_IF 0x00000004 //Uses switch, adjust, and data bytes
#define TUNER_HAS_AUX_BYTE 0x00000008
#define TUNER_SUPPORTS_ATSC 0x00000010
#define GRANULARITY_TV 62500
#define GRANULARITY_TV_50K 50000
#define TUNER_SETTLING_TIME 200
#define MAX_STANDARDS 6
typedef struct _STANDARD_SPECIFIC_INFO
{
DWORD intermediate_frequency;
BYTE switch_byte; //Applicable only if TUNER_HAS_2ND_IF is set
BYTE adjust_byte;
BYTE data_byte;
BYTE aux_byte; //Applies only if TUNER_HAS_AUX_BYTE is set
}STANDARD_SPECIFIC_INFO, *PSTANDARD_SPECIFIC_INFO;
typedef struct _TUNER_FM_INFO
{
DWORD min_frequency;
DWORD max_frequency;
BYTE bandswitch;
BYTE control;
WORD granularity;
STANDARD_SPECIFIC_INFO fm_bytes;
}TUNER_FM_INFO, *PTUNER_FM_INFO;
typedef struct _TUNER_TV_INFO
{
DWORD min_frequency;
DWORD max_frequency;
DWORD lowmid_band_frequency;
DWORD midhigh_band_frequency;
DWORD supported_video_standards;
BYTE low_bandswitch;
BYTE mid_bandswitch;
BYTE high_bandswitch;
BYTE control;
STANDARD_SPECIFIC_INFO standard[MAX_STANDARDS];
}TUNER_TV_INFO, *PTUNER_TV_INFO;
typedef struct _TUNER_ATSC_INFO
{
DWORD intermediate_frequency;
BYTE low_bandswitch;
BYTE mid_bandswitch;
BYTE high_bandswitch;
BYTE aux_byte;
}TUNER_ATSC_INFO, *PTUNER_ATSC_INFO;
//Standard-Specific Bytes work as follows:
//
// Standards go in the following order:
// NTSC
// PAL B/G
// PAL D
// PAL I
// SECAM L
// SECAM L1
//
// standard0 is the bytes for the first standard in that list that is supported.
// standard1 is the bytes for the 2nd standard in that list that is supported.
// etc.
//
typedef struct _TUNER_INFO
{
DWORD general_info;
BYTE num_inputs;
BYTE version;
BYTE reserved[2];
TUNER_TV_INFO tv_info;
TUNER_FM_INFO fm_info;
TUNER_ATSC_INFO atsc_info;
}TUNER_INFO, *PTUNER_INFO;
typedef struct _SET_FREQUENCY_INFO
{
DWORD granularity;
BYTE bandswitch;
BYTE control;
BYTE switch_byte;
BYTE adjust_byte;
BYTE data_byte;
BYTE aux_byte;
DWORD intermediate_frequency;
}SET_FREQUENCY_INFO;
#define NTSC_STD_FREQ_CH5 77250000
#define NTSC_STD_FREQ_CH6 83250000
// Describe TV frequency mode (standard or HRC)
// UNKNOWN: when the tuner property allocated, it defaults to this mode
// STD: standard frequency
// HRC: HRC frequency mode if only if it can't lock to the STD frequency.
// IRC: IRC frequency mode if only if it can't lock to the STD and HRC frequency
typedef enum {
TV_FREQUENCY_UNKNOWN = 0,
TV_FREQUENCY_STD,
TV_FREQUENCY_HRC,
TV_FREQUENCY_IRC
}TV_FREQUENCY_MODE;
extern TUNER_INFO Philips_FM1236_MK2;
extern TUNER_INFO Philips_FM1216_MK2;
extern TUNER_INFO Philips_FM1246_MK2;
extern TUNER_INFO Philips_FM1236_MK3;
extern TUNER_INFO Philips_FQ1236_MK3;
extern TUNER_INFO Philips_FI1236_MK3;
extern TUNER_INFO Philips_FM1216_MK3;
extern TUNER_INFO Philips_FQ1216_MK3;
extern TUNER_INFO Philips_FQ1216_MK4;
extern TUNER_INFO Philips_FQ1236_MK5;
extern TUNER_INFO Philips_FM1236_MK5;
extern TUNER_INFO Philips_FQ1216_MK5;
extern TUNER_INFO Philips_FM1216_MK5;
extern TUNER_INFO Philips_TUV_1236D;
extern TUNER_INFO Philips_TU_1236;
extern TUNER_INFO Temic_4039;
extern TUNER_INFO XuGuang_126;
extern TUNER_INFO TALF_H800Y_TunerInfo;
extern TUNER_INFO TALF_W800Y_TunerInfo;
extern TUNER_INFO Philips_FMD1216_ME;
extern TUNER_INFO Thomson_DTT761x;
extern TUNER_INFO LG_TAPE_H001F_TunerInfo;
extern TUNER_INFO TCL_2002_MI_TunerInfo;
extern TUNER_INFO TCL_M2523_8_DB_TunerInfo;
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -