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

📄 tunerinfo.h

📁 完整的基于Conxant平台的USB电视棒的WIN驱动程序。
💻 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 + -