mirror of
https://github.com/claunia/cuetools.net.git
synced 2025-12-16 18:14:25 +00:00
initial checkin
This commit is contained in:
253
MAC_SDK/Source/MACLib/Old/Anti-Predictor.h
Normal file
253
MAC_SDK/Source/MACLib/Old/Anti-Predictor.h
Normal file
@@ -0,0 +1,253 @@
|
||||
#ifndef APE_ANTIPREDICTOR_H
|
||||
#define APE_ANTIPREDICTOR_H
|
||||
|
||||
class CAntiPredictor;
|
||||
|
||||
CAntiPredictor * CreateAntiPredictor(int nCompressionLevel, int nVersion);
|
||||
|
||||
/*****************************************************************************************
|
||||
Base class for all anti-predictors
|
||||
*****************************************************************************************/
|
||||
class CAntiPredictor
|
||||
{
|
||||
public:
|
||||
|
||||
// construction/destruction
|
||||
CAntiPredictor();
|
||||
~CAntiPredictor();
|
||||
|
||||
// functions
|
||||
virtual void AntiPredict(int *pInputArray, int *pOutputArray, int NumberOfElements);
|
||||
|
||||
};
|
||||
|
||||
/*****************************************************************************************
|
||||
Offset anti-predictor
|
||||
*****************************************************************************************/
|
||||
class CAntiPredictorOffset : public CAntiPredictor
|
||||
{
|
||||
public:
|
||||
|
||||
// functions
|
||||
void AntiPredict(int *pInputArray, int *pOutputArray, int NumberOfElements, int Offset, int DeltaM);
|
||||
};
|
||||
|
||||
#ifdef ENABLE_COMPRESSION_MODE_FAST
|
||||
|
||||
/*****************************************************************************************
|
||||
Fast anti-predictor (from original 'fast' mode...updated for version 3.32)
|
||||
*****************************************************************************************/
|
||||
class CAntiPredictorFast0000To3320 : public CAntiPredictor {
|
||||
|
||||
public:
|
||||
|
||||
// functions
|
||||
void AntiPredict(int *pInputArray, int *pOutputArray, int NumberOfElements);
|
||||
|
||||
};
|
||||
|
||||
/*****************************************************************************************
|
||||
Fast anti-predictor (new 'fast' mode release with version 3.32)
|
||||
*****************************************************************************************/
|
||||
class CAntiPredictorFast3320ToCurrent : public CAntiPredictor {
|
||||
|
||||
public:
|
||||
|
||||
// functions
|
||||
void AntiPredict(int *pInputArray, int *pOutputArray, int NumberOfElements);
|
||||
|
||||
};
|
||||
|
||||
#endif // #ifdef ENABLE_COMPRESSION_MODE_FAST
|
||||
|
||||
#ifdef ENABLE_COMPRESSION_MODE_NORMAL
|
||||
/*****************************************************************************************
|
||||
Normal anti-predictor
|
||||
*****************************************************************************************/
|
||||
class CAntiPredictorNormal0000To3320 : public CAntiPredictor {
|
||||
|
||||
public:
|
||||
|
||||
// functions
|
||||
void AntiPredict(int *pInputArray, int *pOutputArray, int NumberOfElements);
|
||||
|
||||
};
|
||||
|
||||
/*****************************************************************************************
|
||||
Normal anti-predictor
|
||||
*****************************************************************************************/
|
||||
class CAntiPredictorNormal3320To3800 : public CAntiPredictor {
|
||||
|
||||
public:
|
||||
|
||||
// functions
|
||||
void AntiPredict(int *pInputArray, int *pOutputArray, int NumberOfElements);
|
||||
|
||||
};
|
||||
|
||||
/*****************************************************************************************
|
||||
Normal anti-predictor
|
||||
*****************************************************************************************/
|
||||
class CAntiPredictorNormal3800ToCurrent : public CAntiPredictor {
|
||||
|
||||
public:
|
||||
|
||||
// functions
|
||||
void AntiPredict(int *pInputArray, int *pOutputArray, int NumberOfElements);
|
||||
|
||||
};
|
||||
|
||||
#endif // #ifdef ENABLE_COMPRESSION_MODE_NORMAL
|
||||
|
||||
#ifdef ENABLE_COMPRESSION_MODE_HIGH
|
||||
|
||||
/*****************************************************************************************
|
||||
High anti-predictor
|
||||
*****************************************************************************************/
|
||||
class CAntiPredictorHigh0000To3320 : public CAntiPredictor {
|
||||
|
||||
public:
|
||||
|
||||
// functions
|
||||
void AntiPredict(int *pInputArray, int *pOutputArray, int NumberOfElements);
|
||||
|
||||
};
|
||||
|
||||
/*****************************************************************************************
|
||||
High anti-predictor
|
||||
*****************************************************************************************/
|
||||
class CAntiPredictorHigh3320To3600 : public CAntiPredictor {
|
||||
|
||||
public:
|
||||
|
||||
// functions
|
||||
void AntiPredict(int *pInputArray, int *pOutputArray, int NumberOfElements);
|
||||
|
||||
};
|
||||
|
||||
/*****************************************************************************************
|
||||
High anti-predictor
|
||||
*****************************************************************************************/
|
||||
class CAntiPredictorHigh3600To3700 : public CAntiPredictor {
|
||||
|
||||
public:
|
||||
|
||||
// functions
|
||||
void AntiPredict(int *pInputArray, int *pOutputArray, int NumberOfElements);
|
||||
|
||||
};
|
||||
|
||||
/*****************************************************************************************
|
||||
High anti-predictor
|
||||
*****************************************************************************************/
|
||||
class CAntiPredictorHigh3700To3800 : public CAntiPredictor {
|
||||
|
||||
public:
|
||||
|
||||
// functions
|
||||
void AntiPredict(int *pInputArray, int *pOutputArray, int NumberOfElements);
|
||||
|
||||
};
|
||||
|
||||
/*****************************************************************************************
|
||||
High anti-predictor
|
||||
*****************************************************************************************/
|
||||
class CAntiPredictorHigh3800ToCurrent : public CAntiPredictor {
|
||||
|
||||
public:
|
||||
|
||||
// functions
|
||||
void AntiPredict(int *pInputArray, int *pOutputArray, int NumberOfElements);
|
||||
|
||||
};
|
||||
|
||||
#endif // #ifdef ENABLE_COMPRESSION_MODE_HIGH
|
||||
|
||||
#ifdef ENABLE_COMPRESSION_MODE_EXTRA_HIGH
|
||||
|
||||
/*****************************************************************************************
|
||||
Extra high helper
|
||||
*****************************************************************************************/
|
||||
class CAntiPredictorExtraHighHelper
|
||||
{
|
||||
public:
|
||||
int ConventionalDotProduct(short *bip, short *bbm, short *pIPAdaptFactor, int op, int nNumberOfIterations);
|
||||
|
||||
#ifdef ENABLE_ASSEMBLY
|
||||
int MMXDotProduct(short *bip, short *bbm, short *pIPAdaptFactor, int op, int nNumberOfIterations);
|
||||
#endif // #ifdef ENABLE_ASSEMBLY
|
||||
};
|
||||
|
||||
|
||||
/*****************************************************************************************
|
||||
Extra high anti-predictor
|
||||
*****************************************************************************************/
|
||||
class CAntiPredictorExtraHigh0000To3320 : public CAntiPredictor {
|
||||
|
||||
public:
|
||||
|
||||
// functions
|
||||
void AntiPredict(int *pInputArray, int *pOutputArray, int NumberOfElements, int Iterations, unsigned int *pOffsetValueArrayA, unsigned int *pOffsetValueArrayB);
|
||||
|
||||
private:
|
||||
void AntiPredictorOffset(int* Input_Array, int* Output_Array, int Number_of_Elements, int g, int dm, int Max_Order);
|
||||
|
||||
};
|
||||
|
||||
/*****************************************************************************************
|
||||
Extra high anti-predictor
|
||||
*****************************************************************************************/
|
||||
class CAntiPredictorExtraHigh3320To3600 : public CAntiPredictor {
|
||||
|
||||
public:
|
||||
|
||||
// functions
|
||||
void AntiPredict(int *pInputArray, int *pOutputArray, int NumberOfElements, int Iterations, unsigned int *pOffsetValueArrayA, unsigned int *pOffsetValueArrayB);
|
||||
|
||||
private:
|
||||
void AntiPredictorOffset(int* Input_Array, int* Output_Array, int Number_of_Elements, int g, int dm, int Max_Order);
|
||||
};
|
||||
|
||||
/*****************************************************************************************
|
||||
Extra high anti-predictor
|
||||
*****************************************************************************************/
|
||||
class CAntiPredictorExtraHigh3600To3700 : public CAntiPredictor {
|
||||
|
||||
public:
|
||||
|
||||
// functions
|
||||
void AntiPredict(int *pInputArray, int *pOutputArray, int NumberOfElements, int Iterations, unsigned int *pOffsetValueArrayA, unsigned int *pOffsetValueArrayB);
|
||||
|
||||
private:
|
||||
void AntiPredictorOffset(int* Input_Array, int* Output_Array, int Number_of_Elements, int g1, int g2, int Max_Order);
|
||||
|
||||
};
|
||||
|
||||
/*****************************************************************************************
|
||||
Extra high anti-predictor
|
||||
*****************************************************************************************/
|
||||
class CAntiPredictorExtraHigh3700To3800 : public CAntiPredictor {
|
||||
|
||||
public:
|
||||
|
||||
// functions
|
||||
void AntiPredict(int *pInputArray, int *pOutputArray, int NumberOfElements, int Iterations, unsigned int *pOffsetValueArrayA, unsigned int *pOffsetValueArrayB);
|
||||
|
||||
private:
|
||||
void AntiPredictorOffset(int* Input_Array, int* Output_Array, int Number_of_Elements, int g1, int g2, int Max_Order);
|
||||
};
|
||||
|
||||
/*****************************************************************************************
|
||||
Extra high anti-predictor
|
||||
*****************************************************************************************/
|
||||
class CAntiPredictorExtraHigh3800ToCurrent : public CAntiPredictor {
|
||||
|
||||
public:
|
||||
|
||||
// functions
|
||||
void AntiPredict(int *pInputArray, int *pOutputArray, int NumberOfElements, BOOL bMMXAvailable, int CPULoadBalancingFactor, int nVersion);
|
||||
};
|
||||
|
||||
#endif // #ifdef ENABLE_COMPRESSION_MODE_EXTRA_HIGH
|
||||
|
||||
#endif // #ifndef APE_ANTIPREDICTOR_H
|
||||
Reference in New Issue
Block a user