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

📄 img32operations.h

📁 该源码程序实现了intel MMX32位的底层驱动功能
💻 H
字号:
#pragma once


#include <emmintrin.h>		// MMX, SSE, SSE2 intrinsic support


// Image processing operations with 32 bits per pixel RGB image
//
// For each image processing operation there are 3 functions:
// C++, C++ with MMX, Assembly with MMX
class CImg32Operations
{
public:
    CImg32Operations(void);
    ~CImg32Operations(void);

    // Invert image
    typedef void (CImg32Operations:: *INVERT_IMAGE)(BYTE* pSource, BYTE* pDest, int nNumberOfPixels);

    void InvertImageCPlusPlus(BYTE* pSource, BYTE* pDest, int nNumberOfPixels);
    void InvertImageC_MMX(BYTE* pSource, BYTE* pDest, int nNumberOfPixels);
    void InvertImageAssembly_MMX(BYTE* pSource, BYTE* pDest, int nNumberOfPixels);


    // Change colors
    typedef void (CImg32Operations::* COMPUTE_COLORS)(BYTE* pSource, BYTE* pDest, int nNumberOfPixels, 
        float fRedCoefficient, float fGreenCoefficient, float fBlueCoefficient);

    void ColorsCPlusPlus(BYTE* pSource, BYTE* pDest, int nNumberOfPixels, 
        float fRedCoefficient, float fGreenCoefficient, float fBlueCoefficient);
    void ColorsC_MMX(BYTE* pSource, BYTE* pDest, int nNumberOfPixels, 
        float fRedCoefficient, float fGreenCoefficient, float fBlueCoefficient);
    void ColorsAssembly_MMX(BYTE* pSource, BYTE* pDest, int nNumberOfPixels, 
        float fRedCoefficient, float fGreenCoefficient, float fBlueCoefficient);

protected:
    __m64 Get_m64(__int64 n);


};

⌨️ 快捷键说明

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