1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192 |
- /****************************************************************************
- *
- * Module Title : SystemDependant.c
- *
- * Description : Miscellaneous system dependant functions
- *
- ****************************************************************************/
- /*******************************************3********************************
- * Header Files
- ****************************************************************************/
- #include "postp.h"
-
- /****************************************************************************
- * Imports
- ****************************************************************************/
- extern void GetProcessorFlags ( INT32 *MmxEnabled, INT32 *XmmEnabled, INT32 *WmtEnabled );
- extern void FilteringVert_12_C ( UINT32 QValue,UINT8 *Src, INT32 Pitch);
- extern void FilteringHoriz_12_C ( UINT32 QValue, UINT8 *Src, INT32 Pitch );
- extern void FilteringVert_8_C ( UINT32 QValue, UINT8 *Src, INT32 Pitch );
- extern void FilteringHoriz_8_C ( UINT32 QValue, UINT8 *Src, INT32 Pitch );
- extern void HorizontalLine_1_2_Scale_C ( const unsigned char *source, unsigned int sourceWidth, unsigned char *dest, unsigned int destWidth );
- extern void HorizontalLine_3_5_Scale_C ( const unsigned char *source, unsigned int sourceWidth, unsigned char *dest, unsigned int destWidth );
- extern void HorizontalLine_4_5_Scale_C ( const unsigned char *source, unsigned int sourceWidth, unsigned char *dest, unsigned int destWidth );
- extern void VerticalBand_4_5_Scale_C ( unsigned char *dest, unsigned int destPitch, unsigned int destWidth );
- extern void LastVerticalBand_4_5_Scale_C ( unsigned char *dest, unsigned int destPitch, unsigned int destWidth );
- extern void VerticalBand_3_5_Scale_C ( unsigned char *dest, unsigned int destPitch, unsigned int destWidth );
- extern void LastVerticalBand_3_5_Scale_C ( unsigned char *dest, unsigned int destPitch, unsigned int destWidth );
- extern void VerticalBand_1_2_Scale_C ( unsigned char *dest, unsigned int destPitch, unsigned int destWidth );
- extern void LastVerticalBand_1_2_Scale_C ( unsigned char *dest, unsigned int destPitch, unsigned int destWidth );
- extern void FilterHoriz_Simple_C ( POSTPROC_INSTANCE *pbi, UINT8 *PixelPtr, INT32 LineLength, INT32 *BoundingValuePtr );
- extern void FilterVert_Simple_C ( POSTPROC_INSTANCE *pbi, UINT8 *PixelPtr, INT32 LineLength, INT32 *BoundingValuePtr );
- extern void FilterHoriz_Generic ( POSTPROC_INSTANCE *pbi, UINT8 *PixelPtr, INT32 LineLength, INT32 *BoundingValuePtr );
- extern void FilterVert_Generic ( POSTPROC_INSTANCE *pbi, UINT8 *PixelPtr, INT32 LineLength, INT32 *BoundingValuePtr );
- extern INT32 *SetupBoundingValueArray_Generic ( POSTPROC_INSTANCE *pbi, INT32 FLimit );
- extern INT32 *SetupDeblockValueArray_Generic ( POSTPROC_INSTANCE *pbi, INT32 FLimit );
- extern void DeringBlockWeak_C ( POSTPROC_INSTANCE *pbi, const UINT8 *SrcPtr, UINT8 *DstPtr, const INT32 Pitch, UINT32 FragQIndex, UINT32 *QuantScale );
- extern void DeringBlockStrong_C ( POSTPROC_INSTANCE *pbi, const UINT8 *SrcPtr, UINT8 *DstPtr, const INT32 Pitch, UINT32 FragQIndex, UINT32 *QuantScale );
- extern void DeblockLoopFilteredBand_C ( POSTPROC_INSTANCE *pbi, UINT8 *SrcPtr, UINT8 *DesPtr, UINT32 PlaneLineStep, UINT32 FragsAcross, UINT32 StartFrag, UINT32 *QuantScale );
- extern void DeblockNonFilteredBand_C ( POSTPROC_INSTANCE *pbi, UINT8 *SrcPtr, UINT8 *DesPtr, UINT32 PlaneLineStep, UINT32 FragsAcross, UINT32 StartFrag, UINT32 *QuantScale );
- extern void DeblockNonFilteredBandNewFilter_C ( POSTPROC_INSTANCE *pbi, UINT8 *SrcPtr, UINT8 *DesPtr, UINT32 PlaneLineStep, UINT32 FragsAcross, UINT32 StartFrag, UINT32 *QuantScale );
- extern void ClampLevels_C( POSTPROC_INSTANCE *pbi,INT32 BlackClamp,INT32 WhiteClamp,UINT8 *Src,UINT8 *Dst);
- extern void CFastDeInterlace(UINT8 * SrcPtr,UINT8 * DstPtr,INT32 Width,INT32 Height,INT32 Stride);
- extern void PlaneAddNoise_C( UINT8 *Start, UINT32 Width, UINT32 Height, INT32 Pitch, int q);
- /****************************************************************************
- *
- * ROUTINE : PostProcMachineSpecificConfig
- *
- * INPUTS : UINT32 version : Codec version number (UNUSED)
- *
- * OUTPUTS : None.
- *
- * RETURNS : void
- *
- * FUNCTION : Sets post-processing function pointers to vanilla
- * C implementations.
- *
- * SPECIAL NOTES : None.
- *
- ****************************************************************************/
- void PostProcMachineSpecificConfig ( UINT32 Version )
- {
- FilterHoriz = FilterHoriz_Generic;
- FilterVert = FilterVert_Generic;
- SetupBoundingValueArray = SetupBoundingValueArray_Generic;
- SetupDeblockValueArray = SetupDeblockValueArray_Generic;
- DeringBlockWeak = DeringBlockWeak_C;
- DeringBlockStrong = DeringBlockStrong_C;
- DeblockLoopFilteredBand = DeblockLoopFilteredBand_C;
- DeblockNonFilteredBand = DeblockNonFilteredBand_C;
- DeblockNonFilteredBandNewFilter = DeblockNonFilteredBandNewFilter_C;
- FilterHoriz_Simple = FilterHoriz_Simple_C;
- FilterVert_Simple = FilterVert_Simple_C;
- HorizontalLine_1_2_Scale = HorizontalLine_1_2_Scale_C;
- VerticalBand_1_2_Scale = VerticalBand_1_2_Scale_C;
- LastVerticalBand_1_2_Scale = LastVerticalBand_1_2_Scale_C;
- HorizontalLine_3_5_Scale = HorizontalLine_3_5_Scale_C;
- VerticalBand_3_5_Scale = VerticalBand_3_5_Scale_C;
- LastVerticalBand_3_5_Scale = LastVerticalBand_3_5_Scale_C;
- HorizontalLine_4_5_Scale = HorizontalLine_4_5_Scale_C;
- VerticalBand_4_5_Scale = VerticalBand_4_5_Scale_C;
- LastVerticalBand_4_5_Scale = LastVerticalBand_4_5_Scale_C;
- FilteringHoriz_8 = FilteringHoriz_8_C;
- FilteringVert_8 = FilteringVert_8_C;
- FilteringHoriz_12 = FilteringHoriz_12_C;
- FilteringVert_12 = FilteringVert_12_C;
- FastDeInterlace = CFastDeInterlace;
- ClampLevels = ClampLevels_C;
- PlaneAddNoise = PlaneAddNoise_C;
- }
|