Initial community commit
This commit is contained in:
@@ -0,0 +1,74 @@
|
||||
/****************************************************************************
|
||||
*
|
||||
* Module Title : dct.h
|
||||
*
|
||||
* Description : DCT header file.
|
||||
*
|
||||
****************************************************************************/
|
||||
|
||||
#ifndef __INC_DCT_H
|
||||
#define __INC_DCT_H
|
||||
|
||||
/****************************************************************************
|
||||
* Header files
|
||||
****************************************************************************/
|
||||
#include "type_aliases.h"
|
||||
|
||||
/****************************************************************************
|
||||
* Macros
|
||||
****************************************************************************/
|
||||
#define COEFF_MAX 32768 // Max magnitude of DCT coefficient
|
||||
// Extra bits of precision added to the fdct that have to be stripped off during the quantize
|
||||
#define FDCT_PRECISION_BITS 1
|
||||
#define FDCT_PRECISION_NEG_ADJ ((INT16) (1<<FDCT_PRECISION_BITS)-1)
|
||||
|
||||
|
||||
|
||||
|
||||
#if 0 // AWG not required any more!!!
|
||||
/* Cos and Sin constant multipliers used during DCT and IDCT */
|
||||
extern const double C1S7;
|
||||
extern const double C2S6;
|
||||
extern const double C3S5;
|
||||
extern const double C4S4;
|
||||
extern const double C5S3;
|
||||
extern const double C6S2;
|
||||
extern const double C7S1;
|
||||
|
||||
// DCT lookup tables and pointers
|
||||
extern INT32 * C4S4_TablePtr;
|
||||
extern INT32 C4S4_Table[(COEFF_MAX * 4) + 1];
|
||||
|
||||
extern INT32 * C6S2_TablePtr;
|
||||
extern INT32 C6S2_Table[(COEFF_MAX * 2) + 1];
|
||||
|
||||
extern INT32 * C2S6_TablePtr;
|
||||
extern INT32 C2S6_Table[(COEFF_MAX * 2) + 1];
|
||||
|
||||
extern INT32 * C1S7_TablePtr;
|
||||
extern INT32 C1S7_Table[(COEFF_MAX * 2) + 1];
|
||||
|
||||
extern INT32 * C7S1_TablePtr;
|
||||
extern INT32 C7S1_Table[(COEFF_MAX * 2) + 1];
|
||||
|
||||
extern INT32 * C3S5_TablePtr;
|
||||
extern INT32 C3S5_Table[(COEFF_MAX * 2) + 1];
|
||||
|
||||
extern INT32 * C5S3_TablePtr;
|
||||
extern INT32 C5S3_Table[(COEFF_MAX * 2) + 1];
|
||||
#endif
|
||||
|
||||
/****************************************************************************
|
||||
* Exports
|
||||
****************************************************************************/
|
||||
#ifdef COMPDLL
|
||||
// Forward Transform
|
||||
extern void fdct_slow ( INT32 *InputData, double *OutputData );
|
||||
#endif
|
||||
|
||||
// Reverse Transform
|
||||
extern void IDctSlow( INT16 *InputData, INT16 *QuantMatrix, INT16 *OutputData );
|
||||
extern void IDct10 ( INT16 *InputData, INT16 *QuantMatrix, INT16 *OutputData );
|
||||
extern void IDct1 ( INT16 *InputData, INT16 *QuantMatrix, INT16 *OutputData );
|
||||
|
||||
#endif
|
||||
@@ -0,0 +1,11 @@
|
||||
#if !defined(_mac_specs_h)
|
||||
#define _mac_specs_h
|
||||
#if defined(__cplusplus)
|
||||
extern "C" {
|
||||
#endif
|
||||
int vputil_hasAltivec(void);
|
||||
int vputil_cpuMhz(void);
|
||||
#if defined(__cplusplus)
|
||||
}
|
||||
#endif
|
||||
#endif
|
||||
@@ -0,0 +1,60 @@
|
||||
/****************************************************************************
|
||||
*
|
||||
* Module Title : Reconstruct.h
|
||||
*
|
||||
* Description : Block Reconstruction module header
|
||||
*
|
||||
* AUTHOR : Paul Wilkins
|
||||
*
|
||||
*****************************************************************************
|
||||
* Revision History
|
||||
*
|
||||
* 1.00 PGW 14/10/99 Created
|
||||
*
|
||||
*****************************************************************************
|
||||
*/
|
||||
|
||||
#define STRICT /* Strict type checking. */
|
||||
|
||||
#ifndef RECONSTRUCT_H
|
||||
#define RECONSTRUCT_H
|
||||
|
||||
#include "type_aliases.h"
|
||||
|
||||
/****************************************************************************
|
||||
* Constants
|
||||
*****************************************************************************
|
||||
*/
|
||||
|
||||
/****************************************************************************
|
||||
* Types
|
||||
*****************************************************************************
|
||||
*/
|
||||
|
||||
/****************************************************************************
|
||||
* Data structures
|
||||
*****************************************************************************
|
||||
*/
|
||||
|
||||
/****************************************************************************
|
||||
* Functions
|
||||
*****************************************************************************
|
||||
*/
|
||||
|
||||
// Scalar (no mmx) reconstruction functions
|
||||
extern void ScalarReconIntra( INT16 *TmpDataBuffer, UINT8 * ReconPtr, UINT16 * ChangePtr, UINT32 LineStep );
|
||||
extern void ScalarReconInter( INT16 *TmpDataBuffer, UINT8 * ReconPtr, UINT8 * RefPtr, INT16 * ChangePtr, UINT32 LineStep );
|
||||
extern void ScalarReconInterHalfPixel2( INT16 *TmpDataBuffer, UINT8 * ReconPtr,UINT8 * RefPtr1, UINT8 * RefPtr2, INT16 * ChangePtr, UINT32 LineStep );
|
||||
|
||||
// MMx versions
|
||||
extern void MMXReconIntra( INT16 *TmpDataBuffer, UINT8 * ReconPtr, UINT16 * ChangePtr, UINT32 LineStep );
|
||||
extern void MmxReconInter( INT16 *TmpDataBuffer, UINT8 * ReconPtr, UINT8 * RefPtr, INT16 * ChangePtr, UINT32 LineStep );
|
||||
extern void MmxReconInterHalfPixel2( INT16 *TmpDataBuffer, UINT8 * ReconPtr, UINT8 * RefPtr1, UINT8 * RefPtr2, INT16 * ChangePtr, UINT32 LineStep );
|
||||
|
||||
// WMT versions
|
||||
extern void WmtReconIntra( INT16 *TmpDataBuffer, UINT8 * ReconPtr, UINT16 * ChangePtr, UINT32 LineStep );
|
||||
extern void WmtReconInter( INT16 *TmpDataBuffer, UINT8 * ReconPtr, UINT8 * RefPtr, INT16 * ChangePtr, UINT32 LineStep );
|
||||
extern void WmtReconInterHalfPixel2( INT16 *TmpDataBuffer, UINT8 * ReconPtr, UINT8 * RefPtr1, UINT8 * RefPtr2, INT16 * ChangePtr, UINT32 LineStep );
|
||||
|
||||
|
||||
#endif
|
||||
Reference in New Issue
Block a user