📄 rmvdemuxapi.h
字号:
/***************************************** Copyright � 2001-2003 Sigma Designs, Inc. All Rights Reserved Proprietary and Confidential *****************************************//** @file rmvdemuxapi.h @brief long description @author Emmanuel Michon @date 2002-10-03*/#ifndef __RMVDEMUXAPI_H__#define __RMVDEMUXAPI_H__#include "../../rmdef/rmdef.h"typedef struct RMvdemux *ExternalRMvdemux;/// /** PESOffset is different from the offset pointed to by buffer across multiple RMvdemuxDemux() calls. @param RMvdemuxCallback @return ReturnValue*/typedef enum { RMVDEMUX_16BITS = 16, RMVDEMUX_20BITS = 20, RMVDEMUX_24BITS = 24} RMvdemuxQuantization;typedef void (*RMvdemuxCallback) (RMuint8 *buffer, RMuint32 length, RMuint64 PTS, RMbool isPtsValid, RMvdemuxDataType dataType, RMuint64 PESOffset, void *context);typedef void (*RMvdemuxAC3DTSCallback) (RMuint8 numberOfFrameHeaders, RMuint16 firstAccessUnitPointer, void *context);typedef void (*RMvdemuxLPCMCallback) (RMuint8 numberOfFrameHeaders, RMuint16 firstAccessUnitPointer, RMuint32 frequency, RMuint8 numberOfChannels, RMvdemuxQuantization quantizationWordLength, void *context);typedef void (*RMvdemuxAOBPCMCallback) (RMuint16 firstAccessUnitPointer, RMvdemuxQuantization quantizationGr1, RMvdemuxQuantization quantizationGr2, RMuint32 samplingFreqGr1, RMuint32 samplingFreqGr2, RMuint8 bitShift, RMuint8 channelAssign, void * context);typedef void (*RMvdemuxMLPCallback) (RMuint16 firstAccessUnitPointer, RMuint8 forwardAUSearchPointer, RMuint8 backwardAUSearchPointer, void *context);RM_EXTERN_C RMstatus RMCreateVdemux(ExternalRMvdemux *pev);RM_EXTERN_C RMstatus RMDeleteVdemux(ExternalRMvdemux ev);RM_EXTERN_C void RMvdemuxSetType(ExternalRMvdemux ev,RMsystemType type);RM_EXTERN_C void RMvdemuxSetCallbackData(ExternalRMvdemux ev,RMvdemuxCallback callback, void *context);RM_EXTERN_C void RMvdemuxReset(ExternalRMvdemux ev);RM_EXTERN_C RMstatus RMvdemuxEnableIndex(ExternalRMvdemux ev, RMbool enable);RM_EXTERN_C void RMvdemuxResetState(ExternalRMvdemux ev);RM_EXTERN_C void RMvdemuxDemux(ExternalRMvdemux ev,RMuint8 *buffer, RMuint32 length);RM_EXTERN_C void RMvdemuxSetAudioCallbacks(ExternalRMvdemux pv, RMvdemuxAC3DTSCallback ac3Callback, RMvdemuxLPCMCallback lpcmCallback, RMvdemuxAOBPCMCallback aobPcmCallback, RMvdemuxMLPCallback mlpCallback);RM_EXTERN_C void RMvdemuxGetVideoStream(ExternalRMvdemux pv, RMuint16 *videoPid, RMuint8 *videoSubId);RM_EXTERN_C void RMvdemuxGetAudioStream(ExternalRMvdemux pv, RMuint16 *audioPid, RMuint8 *audioSubId);RM_EXTERN_C void RMvdemuxSetVideoStream(ExternalRMvdemux pv, RMuint16 videoPid, RMuint8 videoSubId);RM_EXTERN_C void RMvdemuxSetAudioStream(ExternalRMvdemux pv, RMuint16 audioPid, RMuint8 audioSubId);RM_EXTERN_C void RMvdemuxSetSubpictureStream(ExternalRMvdemux pv, RMuint8 spuSubId);RM_EXTERN_C void RMvdemuxGetNumberOfStreams(ExternalRMvdemux ev, RMuint32 *numberOfStreams);RM_EXTERN_C RMstatus RMvdemuxGetStreamType(ExternalRMvdemux ev, RMuint32 streamNumber, RMuint16* streamPid, RMuint8* streamSubId, RMuint32 *streamType);#endif // __RMVDEMUXAPI_H__
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -