tw1965 |
2006-11-20 09:24 AM |
軟壓:
視訊壓縮模式 = Video Quality Setting
Quality 越好(越大), 越需要CPU Computing.
但是CX23416硬壓沒有"Video Quality Setting".
所以是WinFast PVR軟體的BUG:
CX23416硬壓沒有Video Quality Setting選項.
CX23416硬壓有noise reduction. 應該要增加noise reduction選項.
引用:
#ifndef _IVACPROP_H_
#define _IVACPROP_H_
//IVAC Property Set.
enum{
IVAC_BITRATE =0, //Video bit rate
IVAC_CLOSED_GOP =1, //Closed group of pictures
IVAC_GOP_SIZE =2, //Number of pictures in the GOP
IVAC_INVERSE_TELECINE =3,
IVAC_AUDIO_DATARATE =4, //Audio data rate
IVAC_AUDIO_CRC =5, // Audio error handling on?
IVAC_AUDIO_OUTPUT_MODE =6, //stereo, dual, or mono
IVAC_AUDIO_SAMPLING_RATE =7,
IVAC_VIDEO_RESOLUTION =8, //video resolution
IVAC_OUTPUT_TYPE =9, //Program stream, transport stream, MPEG1, etc.
IVAC_READ_MEMORY =10,
IVAC_WRITE_MEMORY =11,
IVAC_READ_REGISTER =12,
IVAC_WRITE_REGISTER =13,
IVAC_VIDEO_FRAME_RATE =14,
IVAC_DNR_PARAMETERS =15
};
typedef enum
{
FRAME_RATE_30 = 0,
FRAME_RATE_25 = 1
}VIDEO_FRAME_RATE;
typedef struct _READ_WRITE_ITVC
{
DWORD Address;
DWORD Value;
}READ_WRITE_ITVC, *PREAD_WRITE_ITVC;
typedef enum
{
VIDEOENCODINGMODE_CONSTANT = 0x01,
VIDEOENCODINGMODE_VARIABLE = 0x00
}BITRATE_MODE;
typedef struct _VIDEO_BITRATE
{
BITRATE_MODE encoding_mode; // Variable or Constant bit rate
DWORD bit_rate; // Actual bitrate in Mbits/sec
DWORD peak; // Peak/400
}VIDEO_BITRATE, *PVIDEO_BITRATE;
typedef enum
{
AUDIOOUTPUTMODE_MONO = 0x03,
AUDIOOUTPUTMODE_STEREO = 0x00,
AUDIOOUTPUTMODE_DUAL = 0x02,
AUDIOOUTPUTMODE_JOINT = 0x01
} AUDIO_OUTPUT_MODE;
typedef enum
{
AUDIO_SAMPLING_RATE_44 =0, //44.1 KHz
AUDIO_SAMPLING_RATE_48 =1, //48 KHz
AUDIO_SAMPLING_RATE_32 =2 //32 KHz
}AUDIO_SAMPLING_RATE;
typedef enum
{
AUDIOCRC_ON = 1,
AUDIOCRC_OFF = 0
} AUDIO_CRC;
typedef enum
{
STREAMOUTPUT_PROGRAM = 0,
STREAMOUTPUT_TRANSPORT = 1,
STREAMOUTPUT_MPEG1 = 2,
STREAMOUTPUT_PES_AV = 3,
STREAMOUTPUT_PES_Video = 5,
STREAMOUTPUT_PES_Audio = 7,
STREAMOUTPUT_DVD = 10,
STREAMOUTPUT_VCD = 11,
STREAMOUTPUT_SVCD = 12,
STREAMOUTPUT_MS_MCE = 14
} OUTPUT_TYPE;
typedef enum
{
RESOLUTION_720_480, //NTSC 0
RESOLUTION_480_480, //NTSC 1
RESOLUTION_352_480, //NTSC 2
RESOLUTION_720_576, //PAL 3
RESOLUTION_480_576, //PAL 4
RESOLUTION_352_576, //PAL 5
RESOLUTION_352_240, //NTSC 6
RESOLUTION_352_288 //PAL 7
}VIDEO_RESOLUTION;
///////////////////////////////////////////////////
//DNR = Dynamic noise reduction
typedef enum
{
DNR_MODE_DISABLED = 0,
DNR_MODE_HORIZONTAL = 1,
DNR_MODE_VERTICAL = 2,
DNR_MODE_HORIZONTAL_VERTICAL = 3, //The default
DNR_MODE_DIAGONAL = 4
}DNR_MODE;
#define DNR_DYNAMIC_TEMPORAL 2
#define DNR_DYNAMIC_SPATIAL 1
//Allows the user to set all DNR parameters
typedef struct _DNR_PARAMETERS
{
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;
}DNR_PARAMETERS, *PDNR_PARAMETERS;
static const GUID PROPSETID_IVAC_PROPERTIES =
{ 0xd2185a40, 0x0398, 0x11d3, { 0xa5, 0x3e, 0x0, 0xa0, 0xc9, 0xef, 0x50, 0x6a } };
typedef enum
{
DATA_RATE_192 = 10,
DATA_RATE_224 = 11,
DATA_RATE_256 = 12,
DATA_RATE_320 = 13,
DATA_RATE_384 = 14
}AUDIO_DATA_RATE;
#endif
|
|