compensate_mmx.c

来自「quicktime linux播放器v1」· C语言 代码 · 共 40 行

C
40
字号
#include "../compensate.h"



void Compensate(const uint8_t* pSrc, uint8_t* pSrc2,  

    int16_t* pDest, int stride)

{

	__asm

	{

		mov edx, pSrc2

	 	mov	ecx, pDest

		mov eax, stride

		mov esi, pSrc

		mov edi, 8

		pxor mm1, mm1

p2:

		movq mm0, [edx]

		movq mm2, mm0

		punpcklbw mm2, mm1

		punpckhbw mm0, mm1

		movq mm3, [esi]

		movq mm4, mm3

		movq mm5, mm3

		punpcklbw mm4, mm1

		punpckhbw mm3, mm1



		psubsw mm0, mm3

		psubsw mm2, mm4



		movq [ecx], mm2

		movq [ecx+8], mm0

		movq [edx], mm5



		add ecx, 16

		add edx, eax

		add esi, eax

		dec edi

		jnz p2

		emms

	}

}

⌨️ 快捷键说明

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