| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151 | /******************************************************************************   Module Title :     postproc_if.h**   Description  :     Post-processor interface header file.*****************************************************************************/#ifndef __INC_POSTPROC_IF_H#define __INC_POSTPROC_IF_H/*****************************************************************************  Header Files****************************************************************************/#include "codec_common.h"#include "codec_common_interface.h"/*****************************************************************************  Typedefs****************************************************************************/typedef struct POSTPROC_INSTANCE * POSTPROC_INST;/*****************************************************************************  Imported Functions.****************************************************************************/extern void InitPostProcessing( 	UINT32 *DCQuantScaleV2p,	UINT32 *DCQuantScaleUVp,	UINT32 *DCQuantScaleV1p,	UINT32 Version);extern void DeInitPostProcessing ();extern POSTPROC_INST CreatePostProcInstance( CONFIG_TYPE *ConfigurationInit		// configuration to setup);extern void DeletePostProcInstance( POSTPROC_INST	 *pbi				// postprocessor instance to delete);extern void SetPPInterlacedMode(POSTPROC_INST ppi, int Interlaced);extern void SetDeInterlaceMode(POSTPROC_INST ppi, int DeInterlaceMode);extern void SetAddNoiseMode(POSTPROC_INST ppi, int AddNoiseMode);extern void ChangePostProcConfiguration( POSTPROC_INST	pbi,				// postprocessor instance to use	 CONFIG_TYPE *Configuration			// configuration to change to);extern void PostProcess( POSTPROC_INST	 pbi,				// postprocessor instance to use INT32       Vp3VersionNo,			// version of frame INT32		 FrameType,				// key or non key INT32		 PostProcessingLevel,	// level of post processing to perform  INT32		 FrameQIndex,			// q index value used on passed in frame UINT8		*LastFrameRecon,		// reconstruction buffer : passed in UINT8		*PostProcessBuffer,		// postprocessing buffer : passed in UINT8		*FragInfo,				// blocks coded : passed in UINT32      FragInfoElementSize,	// size of each element UINT32		 FragInfoCodedMask		// mask to get at whether fragment is coded);extern void (*ClampLevels)( 	POSTPROC_INST pbi,	INT32        BlackClamp,			// number of values to clamp from 0 	INT32        WhiteClamp,			// number of values to clamp from 255	UINT8		*Src,					// reconstruction buffer : passed in	UINT8		*Dst					// postprocessing buffer : passed in);extern void LoopFilter( POSTPROC_INST	 pbi,				// postprocessor instance to use INT32		 FrameQIndex,			// q index value used on passed in frame UINT8		*LastFrameRecon,		// reconstruction buffer : passed in UINT8		*PostProcessBuffer,		// postprocessing buffer : passed in UINT8		*FragInfo,				// blocks coded : passed in UINT32      FragInfoElementSize,	// size of each element UINT32		 FragInfoCodedMask		// mask to get at whether fragment is coded);extern void ApplyReconLoopFilter( POSTPROC_INST	 pbi,				// postprocessor instance to use INT32		 FrameQIndex,			// q index value used on passed in frame UINT8		*LastFrameRecon,		// reconstruction buffer : passed in UINT8		*PostProcessBuffer,		// postprocessing buffer : passed in UINT8		*FragInfo,				// blocks coded : passed in UINT32      FragInfoElementSize,	// size of each element UINT32		 FragInfoCodedMask		// mask to get at whether fragment is coded);extern void ScaleOrCenter(  POSTPROC_INST	 pbi,				// postprocessor instance to use UINT8		       *FrameBuffer,	// buffer to use passed in YUV_BUFFER_CONFIG * YuvConfig		// size you want to output buffer to);/*****************************************************************************  Exported Functions.****************************************************************************/extern void UpdateUMVBorder(  POSTPROC_INST    pbi,  UINT8 * DestReconPtr );extern void  (*FilteringVert_12) ( UINT32 QValue, UINT8 * Src,  INT32 Pitch); extern void  (*FilteringHoriz_12)( UINT32 QValue, UINT8 * Src,  INT32 Pitch); extern void  (*FilteringVert_8)  ( UINT32 QValue, UINT8 * Src,  INT32 Pitch); extern void  (*FilteringHoriz_8) ( UINT32 QValue, UINT8 * Src,  INT32 Pitch); extern void CopyFrame( POSTPROC_INST pbi, YUV_BUFFER_CONFIG *b, UINT8 *DestReconPtr);/*****************************************************************************  Exported Data.****************************************************************************/extern UINT8 LimitVal_VP31[VAL_RANGE * 3];#endif
 |