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

📄 fauxcodec.cpp

📁 著名的 helix realplayer 基于手机 symbian 系统的 播放器全套源代码
💻 CPP
📖 第 1 页 / 共 4 页
字号:
		uppImageCodecNewImageBufferMemoryProcInfo = 0x0000FFF0,
		uppImageCodecExtractAndCombineFieldsProcInfo = 0x0FFFFFF0,
		uppImageCodecGetMaxCompressionSizeWithSourcesProcInfo = 0x000FEFF0,
		uppImageCodecSetTimeBaseProcInfo = 0x000003F0,
		uppImageCodecSourceChangedProcInfo = 0x0000FFF0,
		uppImageCodecFlushFrameProcInfo = 0x000003F0,
		uppImageCodecGetSettingsAsTextProcInfo = 0x000003F0,
		uppImageCodecGetParameterListHandleProcInfo = 0x000003F0,
		uppImageCodecGetParameterListProcInfo = 0x000003F0,
		uppImageCodecCreateStandardParameterDialogProcInfo = 0x000EFFF0,
		uppImageCodecIsStandardParameterDialogEventProcInfo = 0x00000FF0,
		uppImageCodecDismissStandardParameterDialogProcInfo = 0x000003F0,
		uppImageCodecStandardParameterDialogDoActionProcInfo = 0x00003FF0,
		uppImageCodecNewImageGWorldProcInfo = 0x00003FF0,
		uppImageCodecDisposeImageGWorldProcInfo = 0x000003F0,
		uppImageCodecHitTestDataWithFlagsProcInfo = 0x000FFFF0,
		uppImageCodecValidateParametersProcInfo = 0x00003FF0,
		uppImageCodecGetBaseMPWorkFunctionProcInfo = 0x0000FFF0,
		uppImageCodecRequestGammaLevelProcInfo = 0x00003FF0,
		uppImageCodecGetSourceDataGammaLevelProcInfo = 0x000003F0,
		uppImageCodecGetDecompressLatencyProcInfo = 0x000003F0,
		uppImageCodecPreflightProcInfo = 0x000003F0,
		uppImageCodecInitializeProcInfo = 0x000003F0,
		uppImageCodecBeginBandProcInfo = 0x00003FF0,
		uppImageCodecDrawBandProcInfo = 0x000003F0,
		uppImageCodecEndBandProcInfo = 0x00003BF0,
		uppImageCodecQueueStartingProcInfo = 0x000000F0,
		uppImageCodecQueueStoppingProcInfo = 0x000000F0,
		uppImageCodecDroppingFrameProcInfo = 0x000003F0,
		uppImageCodecScheduleFrameProcInfo = 0x00003FF0,
		uppImageCodecCancelTriggerProcInfo = 0x000000F0
	};

#endif	/* IMAGECODEC_BASENAME */

/*
	Example usage:

		#define QTPHOTO_BASENAME()	Fred
		#define QTPHOTO_GLOBALS()	FredGlobalsHandle
		#include <ImageCodec.k.h>

	To specify that your component implementation does not use globals, do not #define QTPHOTO_GLOBALS
*/
#ifdef QTPHOTO_BASENAME
	#ifndef QTPHOTO_GLOBALS
		#define QTPHOTO_GLOBALS() 
		#define ADD_QTPHOTO_COMMA 
	#else
		#define ADD_QTPHOTO_COMMA ,
	#endif
	#define QTPHOTO_GLUE(a,b) a##b
	#define QTPHOTO_STRCAT(a,b) QTPHOTO_GLUE(a,b)
	#define ADD_QTPHOTO_BASENAME(name) QTPHOTO_STRCAT(QTPHOTO_BASENAME(),name)

	EXTERN_API( ComponentResult  ) ADD_QTPHOTO_BASENAME(SetSampling) (QTPHOTO_GLOBALS() ADD_QTPHOTO_COMMA short  yH, short  yV, short  cbH, short  cbV, short  crH, short  crV);

	EXTERN_API( ComponentResult  ) ADD_QTPHOTO_BASENAME(SetRestartInterval) (QTPHOTO_GLOBALS() ADD_QTPHOTO_COMMA unsigned short  restartInterval);

	EXTERN_API( ComponentResult  ) ADD_QTPHOTO_BASENAME(DefineHuffmanTable) (QTPHOTO_GLOBALS() ADD_QTPHOTO_COMMA short  componentNumber, Boolean  isDC, unsigned char * lengthCounts, unsigned char * values);

	EXTERN_API( ComponentResult  ) ADD_QTPHOTO_BASENAME(DefineQuantizationTable) (QTPHOTO_GLOBALS() ADD_QTPHOTO_COMMA short  componentNumber, unsigned char * table);


	/* MixedMode ProcInfo constants for component calls */
	enum {
		uppQTPhotoSetSamplingProcInfo = 0x000AAAF0,
		uppQTPhotoSetRestartIntervalProcInfo = 0x000002F0,
		uppQTPhotoDefineHuffmanTableProcInfo = 0x0000F6F0,
		uppQTPhotoDefineQuantizationTableProcInfo = 0x00000EF0
	};

#endif	/* QTPHOTO_BASENAME */

/*
	Example usage:

		#define IMAGECODEC_BASENAME()	Fred
		#define IMAGECODEC_GLOBALS()	FredGlobalsHandle
		#include <ImageCodec.k.h>

	To specify that your component implementation does not use globals, do not #define IMAGECODEC_GLOBALS
*/
#ifdef IMAGECODEC_BASENAME
	#ifndef IMAGECODEC_GLOBALS
		#define IMAGECODEC_GLOBALS() 
		#define ADD_IMAGECODEC_COMMA 
	#else
		#define ADD_IMAGECODEC_COMMA ,
	#endif
	#define IMAGECODEC_GLUE(a,b) a##b
	#define IMAGECODEC_STRCAT(a,b) IMAGECODEC_GLUE(a,b)
	#define ADD_IMAGECODEC_BASENAME(name) IMAGECODEC_STRCAT(IMAGECODEC_BASENAME(),name)

	EXTERN_API( ComponentResult  ) ADD_IMAGECODEC_BASENAME(EffectSetup) (IMAGECODEC_GLOBALS() ADD_IMAGECODEC_COMMA CodecDecompressParams * p);

	EXTERN_API( ComponentResult  ) ADD_IMAGECODEC_BASENAME(EffectBegin) (IMAGECODEC_GLOBALS() ADD_IMAGECODEC_COMMA CodecDecompressParams * p, EffectsFrameParamsPtr  ePtr);

	EXTERN_API( ComponentResult  ) ADD_IMAGECODEC_BASENAME(EffectRenderFrame) (IMAGECODEC_GLOBALS() ADD_IMAGECODEC_COMMA EffectsFrameParamsPtr  p);

	EXTERN_API( ComponentResult  ) ADD_IMAGECODEC_BASENAME(EffectConvertEffectSourceToFormat) (IMAGECODEC_GLOBALS() ADD_IMAGECODEC_COMMA EffectSourcePtr  sourceToConvert, ImageDescriptionHandle  requestedDesc);

	EXTERN_API( ComponentResult  ) ADD_IMAGECODEC_BASENAME(EffectCancel) (IMAGECODEC_GLOBALS() ADD_IMAGECODEC_COMMA EffectsFrameParamsPtr  p);

	EXTERN_API( ComponentResult  ) ADD_IMAGECODEC_BASENAME(EffectGetSpeed) (IMAGECODEC_GLOBALS() ADD_IMAGECODEC_COMMA QTAtomContainer  parameters, Fixed * pFPS);

#if defined(_CARBON) || defined(_MAC_UNIX)

	EXTERN_API( ComponentResult  ) ADD_IMAGECODEC_BASENAME(EffectPrepareSMPTEFrame) (IMAGECODEC_GLOBALS() ADD_IMAGECODEC_COMMA PixMapPtr  destPixMap, SMPTEFrameReference * returnValue);

	EXTERN_API( ComponentResult  ) ADD_IMAGECODEC_BASENAME(EffectDisposeSMPTEFrame) (IMAGECODEC_GLOBALS() ADD_IMAGECODEC_COMMA SMPTEFrameReference  frameRef);

	EXTERN_API( ComponentResult  ) ADD_IMAGECODEC_BASENAME(EffectRenderSMPTEFrame) (IMAGECODEC_GLOBALS() ADD_IMAGECODEC_COMMA PixMapPtr  destPixMap, SMPTEFrameReference  frameRef, Fixed  effectPercentageEven, Fixed  effectPercentageOdd, Rect * pSourceRect, MatrixRecord * pMatrix, SMPTEWipeType  effectNumber, long  xRepeat, long  yRepeat, SMPTEFlags  flags, Fixed  penWidth, long  strokeValue);

#endif

	/* MixedMode ProcInfo constants for component calls */
	enum {
		uppImageCodecEffectSetupProcInfo = 0x000003F0,
		uppImageCodecEffectBeginProcInfo = 0x00000FF0,
		uppImageCodecEffectRenderFrameProcInfo = 0x000003F0,
		uppImageCodecEffectConvertEffectSourceToFormatProcInfo = 0x00000FF0,
		uppImageCodecEffectCancelProcInfo = 0x000003F0,
		uppImageCodecEffectGetSpeedProcInfo = 0x00000FF0,
		uppImageCodecEffectPrepareSMPTEFrameProcInfo = 0x00000FF0,
		uppImageCodecEffectDisposeSMPTEFrameProcInfo = 0x000003F0,
		uppImageCodecEffectRenderSMPTEFrameProcInfo = 0xFFFFFFF0
	};

#endif	/* IMAGECODEC_BASENAME */

// here's the contents of ComponentDispatchHelper.c




// **** BEGIN: Error Checking the Required Macros

// Make sure BASENAME is defined
#ifndef COMPONENT_BASENAME
	#ifdef CALLCOMPONENT_BASENAME
		#define COMPONENT_BASENAME() 	CALLCOMPONENT_BASENAME()
	#else
		#error "COMPONENT_BASENAME or CALLCOMPONENT_BASENAME must be defined for ComponentDispatchHelper.c"
	#endif
#endif

// Make sure GLOBALS is defined
#ifndef COMPONENT_GLOBALS
	#ifdef CALLCOMPONENT_GLOBALS
		#define COMPONENT_GLOBALS() 	CALLCOMPONENT_GLOBALS()
	#else
		#error "COMPONENT_GLOBALS or CALLCOMPONENT_GLOBALS must be defined for ComponentDispatchHelper.c"
	#endif
#endif

// Make sure DISPATCH_FILE is defined
#ifndef COMPONENT_DISPATCH_FILE
	#error "COMPONENT_DISPATCH_FILE must be defined for ComponentDispatchHelper.c"
#endif


// Make sure UPP_PREFIX and SELECT_PREFIX are defined
#if !defined(COMPONENT_UPP_SELECT_ROOT)  && !defined(COMPONENT_UPP_PREFIX) && !defined(COMPONENT_SELECT_PREFIX)
	#error "COMPONENT_UPP_SELECT_ROOT or (COMPONENT_UPP_PREFIX and COMPONENT_SELECT_PREFIX) must be defined for ComponentDispatchHelper.c"
#endif
#ifdef COMPONENT_UPP_SELECT_ROOT
	#if defined(COMPONENT_UPP_PREFIX) || defined(COMPONENT_SELECT_PREFIX)
		#error "use only COMPONENT_UPP_SELECT_ROOT or (COMPONENT_UPP_PREFIX and COMPONENT_SELECT_PREFIX) for ComponentDispatchHelper.c"
	#endif
#else
	#if !defined(COMPONENT_UPP_PREFIX) || !defined(COMPONENT_SELECT_PREFIX)
		#error "COMPONENT_UPP_SELECT_ROOT or (COMPONENT_UPP_PREFIX and COMPONENT_SELECT_PREFIX) must be defined for ComponentDispatchHelper.c"
	#endif
#endif
#ifndef COMPONENT_UPP_PREFIX
	#ifndef COMPONENT_UPP_SELECT_ROOT
		#error "COMPONENT_UPP_SELECT_ROOT or (COMPONENT_UPP_PREFIX and COMPONENT_SELECT_PREFIX) must be defined for ComponentDispatchHelper.c"
	#else 
		#define COMPONENT_UPP_PREFIX()		cdh_GLUE2(upp,COMPONENT_UPP_SELECT_ROOT())
	#endif
#endif
#ifndef COMPONENT_SELECT_PREFIX
	#ifndef COMPONENT_UPP_SELECT_ROOT
		#error "COMPONENT_UPP_SELECT_ROOT or (COMPONENT_UPP_PREFIX and COMPONENT_SELECT_PREFIX) must be defined for ComponentDispatchHelper.c"
	#else 
		#define COMPONENT_SELECT_PREFIX()	cdh_GLUE2(k,COMPONENT_UPP_SELECT_ROOT())
	#endif
#endif
	
// Make sure SUBTYPE UPP_PREFIX and SELECT_PREFIX are defined correctly if they are used at all
#if defined(COMPONENT_SUBTYPE_UPP_SELECT_ROOT) || defined(COMPONENT_SUBTYPE_UPP_PREFIX) || defined(COMPONENT_SUBTYPE_SELECT_PREFIX)
	#ifdef COMPONENT_SUBTYPE_UPP_SELECT_ROOT
		#if defined(COMPONENT_SUBTYPE_UPP_PREFIX) || defined(COMPONENT_SUBTYPE_SELECT_PREFIX)
			#error "use only COMPONENT_SUBTYPE_UPP_PREFIX and COMPONENT_SUBTYPE_SELECT_PREFIX OR COMPONENT_SUBTYPE_UPP_SELECT_ROOT for ComponentDispatchHelper.c"
		#endif
	#else
		#if !defined(COMPONENT_SUBTYPE_UPP_PREFIX) || !defined(COMPONENT_SUBTYPE_SELECT_PREFIX)
			#error "COMPONENT_SUBTYPE_UPP_PREFIX and COMPONENT_SUBTYPE_SELECT_PREFIX OR COMPONENT_SUBTYPE_UPP_SELECT_ROOT must be defined for ComponentDispatchHelper.c"
		#endif
	#endif
	#ifndef COMPONENT_SUBTYPE_UPP_PREFIX
		#ifndef COMPONENT_SUBTYPE_UPP_SELECT_ROOT
			#error "COMPONENT_SUBTYPE_UPP_PREFIX or COMPONENT_SUBTYPE_UPP_SELECT_ROOT must be defined for ComponentDispatchHelper.c"
		#else 
			#define COMPONENT_SUBTYPE_UPP_PREFIX()		cdh_GLUE2(upp,COMPONENT_SUBTYPE_UPP_SELECT_ROOT())
		#endif
	#endif
	#ifndef COMPONENT_SUBTYPE_SELECT_PREFIX
		#ifndef COMPONENT_SUBTYPE_UPP_SELECT_ROOT
			#error "COMPONENT_SUBTYPE_SELECT_PREFIX or COMPONENT_SUBTYPE_UPP_SELECT_ROOT must be defined for ComponentDispatchHelper.c"
		#else 
			#define COMPONENT_SUBTYPE_SELECT_PREFIX()	cdh_GLUE2(k,COMPONENT_SUBTYPE_UPP_SELECT_ROOT())
		#endif
	#endif
#endif

// **** END: Error Checking the Required Macros

#if TARGET_API_MAC_OSX
#define	CDHCONST	const
#else
#define	CDHCONST
#endif

#if TARGET_OS_MAC
	#define PASCAL_RTN	pascal
#else
	#define PASCAL_RTN
#endif
#if !TARGET_OS_MAC || TARGET_CPU_PPC
	#define C_DISPATCH_WITH_GLOBALS	1
	#define C_DISPATCH_WITH_SWITCH	0
#elif TARGET_CPU_68K
	#ifdef COMPONENT_C_DISPATCHER
		#define C_DISPATCH_WITH_GLOBALS	0
		#define C_DISPATCH_WITH_SWITCH	1
	#else
		#define C_DISPATCH_WITH_GLOBALS	0
		#define C_DISPATCH_WITH_SWITCH	0
	#endif
#else
	#error "I have no idea what kind of machine you are using"
#endif

/*
	C_DISPATCH_WITH_GLOBALS implies global storage for dispatch information 
							and procinfos returned by COMPONENTSELECTORLOOKUP
	C_DISPATCH_WITH_SWITCH  implies no global storage, dispatch by switch
							and no procinfos returned by COMPONENTSELECTORLOOKUP
*/

	#define COMPONENTSELECTORLOOKUP ADD_BASENAME(FindRoutineUPP)

#ifdef COMPONENT_DISPATCH_MAIN
	#define COMPONENT_DISPATCH_ENTRY main
#else
	#define COMPONENT_DISPATCH_ENTRY ADD_BASENAME(ComponentDispatch)
#endif

#ifndef __COMPONENTS_K__
//	#include "Components.k.h"
#endif

#define	kCOMPONENT_NOERROR	((ComponentFunctionUPP)-2)
#define	kCOMPONENT_ERROR	((ComponentFunctionUPP)-1)
#define	kCOMPONENT_DELEGATE	((ComponentFunctionUPP)0)

#ifndef cdh_GLUE
	#define cdh_GLUE(a,b)		a##b
#endif
#ifndef cdh_GLUE2
	#define cdh_GLUE2(a,b)		cdh_GLUE(a,b)
#endif
#ifndef cdh_GLUE3
	#define cdh_GLUE3(a,b,c)	cdh_GLUE2(cdh_GLUE2(a,b),c)
#endif

#if TARGET_RT_LITTLE_ENDIAN
	#define ComponentCallLittleEndian 		ComponentCall
#else
	#define ComponentCallLittleEndian 		ComponentDelegate
#endif

#ifdef forPublicQTiRelease
	#define ComponentQTiCall(procName)				ComponentCall(procName)
	#define QTIComponentCall(procName)				ComponentCall(procName)
#endif

#define ADD_BASENAME(name) cdh_GLUE2(COMPONENT_BASENAME(),name)

#if C_DISPATCH_WITH_GLOBALS
	PASCAL_RTN ComponentResult COMPONENT_DISPATCH_ENTRY(ComponentParameters *params, COMPONENT_GLOBALS());
	static ComponentFunctionUPP COMPONENTSELECTORLOOKUP(short selector_num, ProcInfoType *procInfo);

	#if TARGET_OS_MAC && TARGET_CPU_PPC && !TARGET_API_MAC_CARBON
		// entry point for PowerPC native components
		struct RoutineDescriptor ADD_BASENAME(ComponentDispatchRD) =
		  BUILD_ROUTINE_DESCRIPTOR((kPascalStackBased | RESULT_SIZE (kFourByteCode) |
									STACK_ROUTINE_PARAMETER (1, kFourByteCode) |
									STACK_ROUTINE_PARAMETER (2, kFourByteCode)),COMPONENT_DISPATCH_ENTRY);
	#endif
	
	PASCAL_RTN ComponentResult COMPONENT_DISPATCH_ENTRY(ComponentParameters *params,COMPONENT_GLOBALS())
	{
		ComponentFunctionUPP theProc;
		ComponentResult result = badComponentSelector;
		ProcInfoType theProcInfo;
		
		theProc = COMPONENTSELECTORLOOKUP(params->what, &theProcInfo);

		if (theProc) {
			if ( (theProc != kCOMPONENT_ERROR) && (theProc != kCOMPONENT_NOERROR) ) {
				if (theProcInfo != 0) {

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -