📄 sve_api.h
字号:
#define IOCTL_SVE_POST_SET_PROCESSING_STOP \
CTL_CODE(SVE_DEVICE_TYPE, SVE_POST_SET_PROCESSING_STOP, METHOD_BUFFERED, FILE_ANY_ACCESS)
#define IOCTL_SVE_POST_WAIT_PROCESSING_DONE \
CTL_CODE(SVE_DEVICE_TYPE, SVE_POST_WAIT_PROCESSING_DONE, METHOD_BUFFERED, FILE_ANY_ACCESS)
#define IOCTL_SVE_POST_GET_PROCESSING_STATUS \
CTL_CODE(SVE_DEVICE_TYPE, SVE_POST_GET_PROCESSING_STATUS, METHOD_BUFFERED, FILE_ANY_ACCESS)
// Local Path IOCTL
#define IOCTL_SVE_LOCALPATH_SET_WIN0_START \
CTL_CODE(SVE_DEVICE_TYPE, SVE_LOCALPATH_SET_WIN0_START, METHOD_BUFFERED, FILE_ANY_ACCESS)
#define IOCTL_SVE_LOCALPATH_SET_WIN0_STOP \
CTL_CODE(SVE_DEVICE_TYPE, SVE_LOCALPATH_SET_WIN0_STOP, METHOD_BUFFERED, FILE_ANY_ACCESS)
#define IOCTL_SVE_LOCALPATH_SET_WIN1_START \
CTL_CODE(SVE_DEVICE_TYPE, SVE_LOCALPATH_SET_WIN1_START, METHOD_BUFFERED, FILE_ANY_ACCESS)
#define IOCTL_SVE_LOCALPATH_SET_WIN1_STOP \
CTL_CODE(SVE_DEVICE_TYPE, SVE_LOCALPATH_SET_WIN1_STOP, METHOD_BUFFERED, FILE_ANY_ACCESS)
#define IOCTL_SVE_LOCALPATH_SET_WIN2_START \
CTL_CODE(SVE_DEVICE_TYPE, SVE_LOCALPATH_SET_WIN2_START, METHOD_BUFFERED, FILE_ANY_ACCESS)
#define IOCTL_SVE_LOCALPATH_SET_WIN2_STOP \
CTL_CODE(SVE_DEVICE_TYPE, SVE_LOCALPATH_SET_WIN2_STOP, METHOD_BUFFERED, FILE_ANY_ACCESS)
// Image Rotator IOCTL
#define IOCTL_SVE_ROTATOR_SET_OPERATION_PARAM \
CTL_CODE(SVE_DEVICE_TYPE, SVE_ROTATOR_SET_OPERATION_PARAM, METHOD_BUFFERED, FILE_ANY_ACCESS)
#define IOCTL_SVE_ROTATOR_SET_SOURCE_BUFFER \
CTL_CODE(SVE_DEVICE_TYPE, SVE_ROTATOR_SET_SOURCE_BUFFER, METHOD_BUFFERED, FILE_ANY_ACCESS)
#define IOCTL_SVE_ROTATOR_SET_DESTINATION_BUFFER \
CTL_CODE(SVE_DEVICE_TYPE, SVE_ROTATOR_SET_DESTINATION_BUFFER, METHOD_BUFFERED, FILE_ANY_ACCESS)
#define IOCTL_SVE_ROTATOR_SET_OPERATION_START \
CTL_CODE(SVE_DEVICE_TYPE, SVE_ROTATOR_SET_OPERATION_START, METHOD_BUFFERED, FILE_ANY_ACCESS)
#define IOCTL_SVE_ROTATOR_SET_OPERATION_STOP \
CTL_CODE(SVE_DEVICE_TYPE, SVE_ROTATOR_SET_OPERATION_STOP, METHOD_BUFFERED, FILE_ANY_ACCESS)
#define IOCTL_SVE_ROTATOR_WAIT_OPERATION_DONE \
CTL_CODE(SVE_DEVICE_TYPE, SVE_ROTATOR_WAIT_OPERATION_DONE, METHOD_BUFFERED, FILE_ANY_ACCESS)
#define IOCTL_SVE_ROTATOR_GET_STATUS \
CTL_CODE(SVE_DEVICE_TYPE, SVE_ROTATOR_GET_STATUS, METHOD_BUFFERED, FILE_ANY_ACCESS)
// TV Scaler IOCTL
#define IOCTL_SVE_TVSC_SET_PROCESSING_PARAM \
CTL_CODE(SVE_DEVICE_TYPE, SVE_TVSC_SET_PROCESSING_PARAM, METHOD_BUFFERED, FILE_ANY_ACCESS)
#define IOCTL_SVE_TVSC_SET_SOURCE_BUFFER \
CTL_CODE(SVE_DEVICE_TYPE, SVE_TVSC_SET_SOURCE_BUFFER, METHOD_BUFFERED, FILE_ANY_ACCESS)
#define IOCTL_SVE_TVSC_SET_NEXT_SOURCE_BUFFER \
CTL_CODE(SVE_DEVICE_TYPE, SVE_TVSC_SET_NEXT_SOURCE_BUFFER, METHOD_BUFFERED, FILE_ANY_ACCESS)
#define IOCTL_SVE_TVSC_SET_DESTINATION_BUFFER \
CTL_CODE(SVE_DEVICE_TYPE, SVE_TVSC_SET_DESTINATION_BUFFER, METHOD_BUFFERED, FILE_ANY_ACCESS)
#define IOCTL_SVE_TVSC_SET_NEXT_DESTINATION_BUFFER \
CTL_CODE(SVE_DEVICE_TYPE, SVE_TVSC_SET_NEXT_DESTINATION_BUFFER, METHOD_BUFFERED, FILE_ANY_ACCESS)
#define IOCTL_SVE_TVSC_SET_PROCESSING_START \
CTL_CODE(SVE_DEVICE_TYPE, SVE_TVSC_SET_PROCESSING_START, METHOD_BUFFERED, FILE_ANY_ACCESS)
#define IOCTL_SVE_TVSC_SET_PROCESSING_STOP \
CTL_CODE(SVE_DEVICE_TYPE, SVE_TVSC_SET_PROCESSING_STOP, METHOD_BUFFERED, FILE_ANY_ACCESS)
#define IOCTL_SVE_TVSC_WAIT_PROCESSING_DONE \
CTL_CODE(SVE_DEVICE_TYPE, SVE_TVSC_WAIT_PROCESSING_DONE, METHOD_BUFFERED, FILE_ANY_ACCESS)
#define IOCTL_SVE_TVSC_GET_PROCESSING_STATUS \
CTL_CODE(SVE_DEVICE_TYPE, SVE_TVSC_GET_PROCESSING_STATUS, METHOD_BUFFERED, FILE_ANY_ACCESS)
// TV Encoder IOCTL
#define IOCTL_SVE_TVENC_SET_INTERFACE_PARAM \
CTL_CODE(SVE_DEVICE_TYPE, SVE_TVENC_SET_INTERFACE_PARAM, METHOD_BUFFERED, FILE_ANY_ACCESS)
#define IOCTL_SVE_TVENC_SET_ENCODER_ON \
CTL_CODE(SVE_DEVICE_TYPE, SVE_TVENC_SET_ENCODER_ON, METHOD_BUFFERED, FILE_ANY_ACCESS)
#define IOCTL_SVE_TVENC_SET_ENCODER_OFF \
CTL_CODE(SVE_DEVICE_TYPE, SVE_TVENC_SET_ENCODER_OFF, METHOD_BUFFERED, FILE_ANY_ACCESS)
#define IOCTL_SVE_TVENC_GET_INTERFACE_STATUS \
CTL_CODE(SVE_DEVICE_TYPE, SVE_TVENC_GET_INTERFACE_STATUS, METHOD_BUFFERED, FILE_ANY_ACCESS)
// Power Management IOCTL
#define IOCTL_SVE_PM_SET_POWER_ON \
CTL_CODE(SVE_DEVICE_TYPE, SVE_PM_SET_POWER_ON, METHOD_BUFFERED, FILE_ANY_ACCESS)
#define IOCTL_SVE_PM_SET_POWER_OFF \
CTL_CODE(SVE_DEVICE_TYPE, SVE_PM_SET_POWER_OFF, METHOD_BUFFERED, FILE_ANY_ACCESS)
#define IOCTL_SVE_PM_GET_POWER_STATUS \
CTL_CODE(SVE_DEVICE_TYPE, SVE_PM_GET_POWER_STATUS, METHOD_BUFFERED, FILE_ANY_ACCESS)
typedef struct
{
tDevInfo tRGBDevInfo; // RGB I/F Device Information
DWORD dwTVOutScreenWidth; // TV Out Device Screen Width
DWORD dwTVOutScreenHeight; // TV Out Device Screen Height
} SVEARG_FIMD_OUTPUT_IF;
typedef struct
{
DWORD dwLineCnt; // Line Counter
DWORD dwVerticalStatus; // Vertical Status
DWORD dwHorizontalStatus; // Horizontal Status
BOOL bENVID; // ENVID Field of VIDCON0
} SVEARG_FIMD_OUTPUT_STAT;
typedef struct
{
DWORD dwWinMode; // FIMD Window Mode
DWORD dwBPP; // BitPerPixel
DWORD dwWidth; // Window Horizontal Pixel
DWORD dwHeight; // Window Vertical Pixel
DWORD dwOffsetX; // Window Horizontal Offset
DWORD dwOffsetY; // Window Vertical Offset
} SVEARG_FIMD_WIN_MODE;
typedef struct
{
DWORD dwWinNum; // FIMD Window Number
DWORD dwOffsetX; // Window Horizontal Offset
DWORD dwOffsetY; // Window Vertical Offset
} SVEARG_FIMD_WIN_POS;
typedef struct
{
DWORD dwWinNum; // FIMD Window Number
DWORD dwFrameBuffer; // Frame Buffer Address
BOOL bWaitForVSync; // Blocked Operation
} SVEARG_FIMD_WIN_FRAMEBUFFER;
typedef struct
{
DWORD dwWinNum; // FIMD Window Number
DWORD dwDirection; // Keying Direction
DWORD dwColorKey; // Color Key Value
DWORD dwCompareKey; // Compare Key Value
BOOL bOnOff; // Color Key Enable/Disable
} SVEARG_FIMD_WIN_COLORKEY;
typedef struct
{
DWORD dwWinNum; // FIMD Window Number
DWORD dwMethod; // Blending Method (per Pixel or per Plane)
DWORD dwAlpha0; // Alpha Value 0
DWORD dwAlpha1; // Alpha Value 1
} SVEARG_FIMD_WIN_ALPHA;
typedef struct
{
DWORD dwOpMode; // Operation Mode (Frame or Free Run)
DWORD dwScanMode; // Scan Mode (Progressive or Interace)
DWORD dwSrcType; // Src Image Type
DWORD dwSrcBaseWidth;
DWORD dwSrcBaseHeight;
DWORD dwSrcWidth;
DWORD dwSrcHeight;
DWORD dwSrcOffsetX;
DWORD dwSrcOffsetY;
DWORD dwDstType; // Dst Image Type
DWORD dwDstBaseWidth;
DWORD dwDstBaseHeight;
DWORD dwDstWidth;
DWORD dwDstHeight;
DWORD dwDstOffsetX;
DWORD dwDstOffsetY;
} SVEARG_POST_PARAMETER;
typedef struct
{
DWORD dwBufferRGBY;
DWORD dwBufferCb;
DWORD dwBufferCr;
BOOL bWaitForVSync; // Blocked Operation
} SVEARG_POST_BUFFER;
typedef struct
{
DWORD dwImgFormat; // Source Image Format
DWORD dwOpType; // Rotator Operation Type
DWORD dwSrcWidth;
DWORD dwSrcHeight;
} SVEARG_ROTATOR_PARAMETER;
typedef struct
{
DWORD dwBufferRGBY;
DWORD dwBufferCb;
DWORD dwBufferCr;
} SVEARG_ROTATOR_BUFFER;
typedef struct
{
DWORD dwOpMode; // Operation Mode (Frame or Free Run)
DWORD dwScanMode; // Scan Mode (Progressive or Interace)
DWORD dwSrcType; // Src Image Type
DWORD dwSrcBaseWidth;
DWORD dwSrcBaseHeight;
DWORD dwSrcWidth;
DWORD dwSrcHeight;
DWORD dwSrcOffsetX;
DWORD dwSrcOffsetY;
DWORD dwDstType; // Dst Image Type
DWORD dwDstBaseWidth;
DWORD dwDstBaseHeight;
DWORD dwDstWidth;
DWORD dwDstHeight;
DWORD dwDstOffsetX;
DWORD dwDstOffsetY;
} SVEARG_TVSC_PARAMETER;
typedef struct
{
DWORD dwBufferRGBY;
DWORD dwBufferCb;
DWORD dwBufferCr;
BOOL bWaitForVSync; // Blocked Operation
} SVEARG_TVSC_BUFFER;
typedef struct
{
DWORD dwOutputType; // Output Interface Type
DWORD dwOutputStandard; // Output System
DWORD dwMVisionPattern; // Macrovision Pattern
DWORD dwSrcWidth;
DWORD dwSrcHeight;
} SVEARG_TVENC_PARAMETER;
#define SVE_ERROR_BASE (0x20000000) // Non system error code
#endif // _SVE_API_H_
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -