?? decoderiface.h
字號:
/***************************************** Copyright 2001-2003 Sigma Designs, Inc. All Rights Reserved Proprietary and Confidential *****************************************//** @file decoderiface.h @brief common interface for decoder board (em84xx or em86xx) @author Laurent Crinon @date 2004-01-07*/#ifndef __RMDECODERIFACE_H__#define __RMDECODERIFACE_H__//#include "rmdvdaudioapi/include/rmdvdaudioapi.h"//#include "rmdvdfsapi/include/rmdvdwrapperapi.h"extern "C" {#include "dcc/include/dcc.h"#include "samples/dvi_hdmi.h"}enum RMProtectType { RMUnprotected, RMCssProtect, // Context value: 0 - no - 1 - yes RMMacrovisionProtect, // Loword: 0 - no - 1 - NTSC - 2 - Pal, Hiword: APS level RMCGMSProtect, // Follows CGMS rules RMWmvProtect // Follows WMDRM Compliance Rules. Hiword: RMWmvProtectType, Loword: value};enum RMWmvProtectType{ RMWmvUnProtected, RMWmvNoPlaybackProtect, RMWmvMacrovisionProtect, RMWmvHDCPProtect, RMWmvNoVideoProtect, RMWmvNoAudioProtect };class RMdecoderIface { public: /** Constructor */ RMdecoderIface(typeCuracaoContext *context); /** Destructor */ virtual ~RMdecoderIface(); /** Open the decoder. The behavior depends on the mediaplayer type : FILE_PLAYER : open caribbean graph using the passed url and callback the url needs to be formatted for caibbean : example : FILE@DIVX:///path/to/the/file.avi VCD_PLAYER : profile : MPEG2, hardware demuxing CDDA_PLAYER : opens only audio decoder DVDAUDIO_PLAYER : profile DVD, software demuxing DVDVIDEO_PLAYER : profile : DVD, hardware demuxing @param playerType : used to set the correct profile and demuxing when opening the decoder @param url : caribbean url @param callback : caribbean callback @param userData : context to pass to the callback @return RM_OK if succeeded, RM_ERROR otherwise */ //#ifndef WITH_MONO// virtual RMstatus Open(typeMediaPlayer playerType, RMascii *url, RMcallback callback, void *userData) PURE_VIRTUAL;//#else// virtual RMstatus Open(typeMediaPlayer playerType, RMascii *not_used_1, void *not_used_2, void *not_used_3) PURE_VIRTUAL;//#endif// /**// close the decoder and caribbean graph (if open)// // @return RM_OK if succeeded, RM_ERROR otherwise// */// virtual RMstatus Close() PURE_VIRTUAL;#ifndef WITH_MONO /** Returns the handle on the caribbean graph control. Needed by fileplayer @return : pointer to the control, NULL otherwise */ RMTcontrolInterface GetControl(){return m_ctrl;}#endif virtual RMstatus SetDecodingVideoStream(RMuint16 StreamID) PURE_VIRTUAL; /** Set the audio stream number to decode @param StreamID : stream number @param SubStreamID : sub stream number @return RM_OK if succeeded, RM_ERROR otherwise */ virtual RMstatus SetDecodingAudioStream(RMuint8 StreamID, RMuint8 SubStreamID) PURE_VIRTUAL; /** Set the spu stream number to decode @param StreamID : stream number @param SubStreamID : sub stream number @return RM_OK if succeeded, RM_ERROR otherwise */ virtual RMstatus SetDecodingSubpictureStream(RMuint8 StreamID, RMuint8 SubStreamID) PURE_VIRTUAL; /** Initialize the audio decoder with the specified parameters. @param parameters : audio parameters to set @param astn : audio stream number to decode @return RM_OK if succeeded, RM_ERROR otherwise */ virtual RMstatus SetAudioParameter(typeCuracaoAudioParameters parameters, RMint8 astn) PURE_VIRTUAL; /** Set the spu palette @param sppal : palette @return RM_OK if succeeded, RM_ERROR otherwise */ virtual RMstatus SetSubpicturePalette(RMuint8 sppal[16*4]) PURE_VIRTUAL; /** Set spu hilight @param leftb : left coordinate @param topb : top coordinate @param rightb : right coordinate @param bottomb : bottom coordinate @param wColor : color to use @param wContrast : contrast to use @return RM_OK if succeeded, RM_ERROR otherwise */ virtual RMstatus SubPictureHilight (RMuint16 leftb, RMuint16 topb, RMuint16 rightb, RMuint16 bottomb, RMuint32 wColor, RMuint32 wContrast) PURE_VIRTUAL; /** Enable / disable spu @param On : TRUE : enable spu FLASE : disable spu @return RM_OK if succeeded, RM_ERROR otherwise */ virtual RMstatus SubPictureOn (RMbool On) PURE_VIRTUAL; /** Enable / disable hli @param On : TRUE : enable hli FLASE : disable hli @return RM_OK if succeeded, RM_ERROR otherwise */ virtual RMstatus HilightOn (RMbool On) PURE_VIRTUAL; /** Set the video mode @param PTS : @param videoMode : @return RM_OK if succeeded, RM_ERROR otherwise */ virtual RMstatus VideoMode (RMuint32 PTS, RMdvdVideoMode videoMode, RMbool bForce = FALSE) PURE_VIRTUAL; /** Flush the decoder and all fifos @param PTS : @param videoMode : @return RM_OK if succeeded, RM_ERROR otherwise */ virtual RMstatus Flush() PURE_VIRTUAL; virtual RMstatus WaitForEOS(RMbool audio, RMbool video, RMuint32 timeout = 30000000) PURE_VIRTUAL; /** Set the brightness @param value @return RM_OK if succeeded, RM_ERROR otherwise */ virtual RMstatus SetBrightness(RMint8 value) PURE_VIRTUAL; /** Set the contrast @param value @return RM_OK if succeeded, RM_ERROR otherwise */ virtual RMstatus SetContrast(RMuint8 value) PURE_VIRTUAL; /** Set the stauration @param value @return RM_OK if succeeded, RM_ERROR otherwise */ virtual RMstatus SetSaturation(RMuint8 value) PURE_VIRTUAL; /** Set SCMS bits to provide copy protection for SPDIF @param parameters @return RM_OK if succeeded, RM_ERROR otherwise */ virtual RMstatus SetAudioScmsBit(typeCuracaoAudioParameters parameters) PURE_VIRTUAL; /** Update protection on any output (Macrovision, CGMS-A, APS, HDCP, Jeanus, Cardia...) @param value @return RM_OK if succeeded, RM_ERROR otherwise */ virtual RMstatus UpdateOutputProtection(enum RMProtectType, RMuint32 context_value) PURE_VIRTUAL; /** Update decoder output based on "hot-plug" and protection @param value @return RM_OK if succeeded, RM_ERROR otherwise */ virtual RMstatus UpdateOutputs(RMbool autoSwitch = TRUE) PURE_VIRTUAL; /** Set the output to HD @param value @return RM_OK if succeeded, RM_ERROR otherwise */ // virtual RMstatus SetHDComponentOut(RMuint32 standard) PURE_VIRTUAL; /** Set the tv output (NTSC, COMPONENT, DVI, HDMI...) @param value @return RM_OK if succeeded, RM_ERROR otherwise */ virtual RMstatus SetTVOut(RMuint32 standard, enum DCCVideoConnector connector, enum EMhwlibColorSpace color_space, RMbool bForceOutput = TRUE) PURE_VIRTUAL; // virtual RMstatus SetTVOut(RMuint32 standard, RMuint32 output) PURE_VIRTUAL; /** Get tv output (NTSC, COMPONENT, DVI, HDMI...) @param value @return RM_OK if succeeded, RM_ERROR otherwise */ virtual RMstatus GetTVOut(RMuint32 *pStandard, enum DCCVideoConnector *pConnector, enum EMhwlibColorSpace *pColorSpace) PURE_VIRTUAL; /** Set the DVI or HDMI output @param value @return RM_OK if succeeded, RM_ERROR otherwise */ // virtual RMstatus SetDVIHDMIOut(RMuint32 standard) PURE_VIRTUAL; /** Enable DVI or HDMI output to follow EDID "plug & play auto-mode"
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -