瀏覽單個文章
tw1965
Master Member
 

加入日期: Jun 2003
文章: 1,593
CX23416 API for FalconII design :

#ifndef _CX_FALCON_CONTROL_H_
#define _CX_FALCON_CONTROL_H_

// {9D12BF07-3548-4eac-9344-830CFA79B92F}
static const GUID PROPSETID_CXFALCON_CONTROL_PROPERTIES =
{ 0x9d12bf07, 0x3548, 0x4eac, { 0x93, 0x44, 0x83, 0xc, 0xfa, 0x79, 0xb9, 0x2f } };


//CX Falcon Control Property Set.
enum{
CXFALCON_CONTROL_VERSION,
CXFALCON_CONTROL_BITRATE,
CXFALCON_CONTROL_CLOSED_GOP,
CXFALCON_CONTROL_GOP_SIZE,
CXFALCON_CONTROL_INVERSE_TELECINE,
CXFALCON_CONTROL_AUDIO_DATARATE,
CXFALCON_CONTROL_AUDIO_CRC,
CXFALCON_CONTROL_AUDIO_OUTPUT_MODE,
CXFALCON_CONTROL_AUDIO_SAMPLING_RATE,
CXFALCON_CONTROL_MPEG_OUTPUT_TYPE,
CXFALCON_CONTROL_DNR_PARAMETERS, //Noise reduction settings
CXFALCON_CONTROL_MUXED_DATA_RATE //Applies only when in DVD special 1
};


typedef struct _CXFALCON_VERSION
{
DWORD firmware_version;
DWORD driver_version[4];
}CXFALCON_VERSION, *PCXFALCON_VERSION;

typedef enum
{
CXFALCON_BITRATE_MODE_CONSTANT = 0x01,
CXFALCON_BITRATE_MODE_VARIABLE = 0x00
}CXFALCON_BITRATE_MODE;

typedef struct _CXFALCON_VIDEO_BITRATE
{
CXFALCON_BITRATE_MODE encoding_mode; // Variable or Constant bit rate
DWORD bit_rate; // Actual bitrate in Mbits/sec
DWORD peak; // Peak/400
}CXFALCON_VIDEO_BITRATE, *PCXFALCON_VIDEO_BITRATE;


typedef enum
{
CXFALCON_AUDIOMODE_MONO = 0x03,
CXFALCON_AUDIOMODE_STEREO = 0x00,
CXFALCON_AUDIOMODE_DUAL = 0x02,
CXFALCON_AUDIOMODE_JOINT = 0x01
} CXFALCON_AUDIO_OUTPUT_MODE;

typedef enum
{
CXFALCON_AUDIO_RATE_44100 =0, //44.1 KHz
CXFALCON_AUDIO_RATE_48000 =1, //48 KHz
CXFALCON_AUDIO_RATE_32000 =2 //32 KHz
}CXFALCON_AUDIO_SAMPLING_RATE;


typedef enum
{
CXFALCON_MPEG_OUTPUT_MPEG1 = 2,
CXFALCON_MPEG_OUTPUT_DVD = 10,
CXFALCON_MPEG_OUTPUT_VCD = 11,
CXFALCON_MPEG_OUTPUT_SVCD = 12,
CXFALCON_MPEG_OUTPUT_DVD_SPECIAL1 = 13,
CXFALCON_MPEG_OUTPUT_DVD_SPECIAL2 = 14, //Media Center Stream
CXFALCON_MPEG_OUTPUT_DVD_VR = 15
}CXFALCON_OUTPUT_TYPE;



///////////////////////////////////////////////////
//DNR = Dynamic noise reduction
typedef enum
{
CXFALCON_DNR_MODE_DISABLED = 0,
CXFALCON_DNR_MODE_HORIZONTAL = 1,
CXFALCON_DNR_MODE_VERTICAL = 2,
CXFALCON_DNR_MODE_HORIZONTAL_VERTICAL = 3, //The default
CXFALCON_DNR_MODE_DIAGONAL = 4
}CXFALCON_DNR_MODE;

#define CXFALCON_DNR_DYNAMIC_TEMPORAL 2
#define CXFALCON_DNR_DYNAMIC_SPATIAL 1

//Allows the user to set all DNR parameters
typedef struct _CXFALCON_DNR_PARAMETERS
{
CXFALCON_DNR_MODE mode;
BOOLEAN is_static_temporal;
BOOLEAN is_static_spatial;
SHORT temporal_level;
SHORT spatial_level;
SHORT luma_low;
SHORT luma_high;
SHORT chroma_low;
SHORT chroma_high;
}CXFALCON_DNR_PARAMETERS, *PCXFALCON_DNR_PARAMETERS;

typedef enum
{
CXFALCON_AUDIO_DATARATE_192 = 10,
CXFALCON_AUDIO_DATARATE_224 = 11,
CXFALCON_AUDIO_DATARATE_256 = 12,
CXFALCON_AUDIO_DATARATE_320 = 13,
CXFALCON_AUDIO_DATARATE_384 = 14
}CXFALCON_AUDIO_DATARATE;



#endif
舊 2007-01-24, 01:12 PM #4
回應時引用此文章
tw1965離線中