📄 spu_app.h
字号:
/*****************************************************************************
******************************************************************************
** **
** Copyright (c) 2005 Videon Central, Inc. **
** All rights reserved. **
** **
** The computer program contained herein contains proprietary information **
** which is the property of Videon Central, Inc. The program may be used **
** and/or copied only with the written permission of Videon Central, Inc. **
** or in accordance with the terms and conditions stipulated in the **
** agreement/contract under which the programs have been supplied. **
** **
******************************************************************************
*****************************************************************************/
/**
* @file spu_app.h
*
* Public API for the DVD Software Subpicture Decoder
*
* $Id: spu_app.h,v 1.7 2006/05/05 15:52:10 rbehe Exp $
*/
#ifndef __SPU_API_H__
#define __SPU_API_H__
#define cSPUStreamMessage cPEModuleStreamMessage
/* Handle passed to all SPU functions */
typedef void* SPU_HANDLE;
/* errors */
#define SPU_ERR ERR_CODE
#define SPU_SUCCESS 0
#define SPU_FAILURE ((SPU_ERR)-1)
#define SPU_ERR_NULLPTR ((SPU_ERR)-2)
#define SPU_ERR_INVALIDPARAM ((SPU_ERR)-3)
#define SPU_ERR_OUTOFMEMORY ((SPU_ERR)-4)
#define SPU_ERR_NOMESSAGE ((SPU_ERR)-5)
#define SPU_ERR_NOPAYLOAD ((SPU_ERR)-6)
#define SPU_ERR_DECODE_FAIL ((SPU_ERR)-7)
#define SPU_ERR_INVALID_STATE ((SPU_ERR)-8)
/* States of the subpic decoder */
#define SPU_STATE_MASK 0x0000000f
#define SPU_STATE_UNREALIZED 0
#define SPU_STATE_REALIZING 1
#define SPU_STATE_REALIZED 2
#define SPU_STATE_STOPPED 3
#define SPU_STATE_STOPPING 4
#define SPU_STATE_FLUSHING 5
#define SPU_STATE_RUN 6
/* State of the subpic render */
#define SPU_DISPLAY_MASK 0x000000f0
#define SPU_DISPLAY_ON 0x00000010
#define SPU_DISPLAY_FORCE_DISABLED 0x00000020
#define SPU_DISPLAY_HILIGHT_ENABLED 0x00000040
#define SPU_DISPLAY_DATA_VALID 0x00000080
/* function prototype for the sync callback. */
typedef SPU_ERR(*SPU_SYNC_CALLBACK)(PVOID pContext, TIME90k time90k_TargPTS, TIME90k *ptime90k_CurrSTC);
/* Function prototypes */
SPU_ERR SPUCreate(SPU_HANDLE *handle);
SPU_ERR SPUDelete(SPU_HANDLE hSPDecoder);
SPU_ERR SPUAttachSyncCallback(SPU_HANDLE hSPDecoder, SPU_SYNC_CALLBACK func, PVOID pContext);
SPU_ERR SPUDetachSyncCallback(SPU_HANDLE hSPDecoder);
SPU_ERR SPUAttachInputStream(SPU_HANDLE hSPDecoder, cStream* pInStream);
SPU_ERR SPUDetachInputStream(SPU_HANDLE hSPDecoder);
SPU_ERR SPUStart(SPU_HANDLE hSPDecoder);
SPU_ERR SPUStop(SPU_HANDLE hSPDecoder);
SPU_ERR SPUFlush(SPU_HANDLE hSPDecoder);
SPU_ERR SPUSetDCSQTimeout(SPU_HANDLE hSPDecoder, ULONG ulTimeout);
SPU_ERR SPUSetPalette(SPU_HANDLE hSPDecoder, UCHAR *palette, ULONG Size);
SPU_ERR SPUShow(SPU_HANDLE hSPDecoder);
SPU_ERR SPUHide(SPU_HANDLE hSPDecoder);
SPU_ERR SPUEnableForced(SPU_HANDLE hSPDecoder);
SPU_ERR SPUDisableForced(SPU_HANDLE hSPDecoder);
SPU_ERR SPUHighlightEnable(SPU_HANDLE hSPDecoder);
SPU_ERR SPUHighlightDisable(SPU_HANDLE hSPDecoder);
SPU_ERR SPUHighlightColorContrastInfo(SPU_HANDLE hSPDecoder, ULONG Colors, BYTE Refresh);
SPU_ERR SPUHighlightColorContrastInfo8Bit(SPU_HANDLE hSPDecoder, PVOID Colors, BYTE Refresh);
SPU_ERR SPUHighlightAreaInfo(SPU_HANDLE hSPDecoder, USHORT StartX, USHORT EndX, USHORT StartY, USHORT EndY);
SPU_ERR SPUGetStatus(SPU_HANDLE hSPDecoder, ULONG *pulStatus);
SPU_ERR SPUGetCurrentPTS(SPU_HANDLE hSPDecoder, ULONG *pulPTS);
#endif /* __SPU_API_H__ */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -