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

📄 spu_app.h

📁 这是DVD中伺服部分的核心代码
💻 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 + -