作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我试图淡化两个图像,但结果不是预期的(之前用 C 代码做过)。这是 MMX 代码:
void fadeMMX(ImagenBMP *imagen1, ImagenBMP *imagen2, int f) {
double *puntero1;
double *puntero2;
int valor = (int)f*255;
for (int i=0; i <imagen1->tamanyo; i+=4) //De 4 en 4, ya que leemos 4 pixels cada vez
{
puntero1 = (double*) &imagen1->datos[i];
puntero2 = (double*) &imagen2->datos[i];
_asm{
/*Guardar Imagenes*/
/*Imagen A*/
mov esi, puntero1[0]//imagen 1, leer
mov edi, puntero1[0]//imagen 1, guardar
movq mm1, [esi] //guardamos A (32 bits)
punpcklbw mm2,mm1 //desempaquetamos A en mm2
/*Imagen B*/
mov esi, puntero2[0]//imagen 2, leer
movq mm3, [esi] //guardamos B (32 bits)
punpcklbw mm4,mm3 //desempaquetamos B en mm4
//Guardamos el valor
movq mm0, valor
punpcklbw mm6,mm0
//Operaciones
psubsw mm2,mm4 //restamos B a A y guardamos en A
pmulhw mm2, mm6 //multiplicamos A * F y guardamos en A, los bits mas significativos
paddusw mm2, mm4 //sumamos lo que tenemos ahora en A mas lo que teniamos en B y guardamos en A
/*Empaquetar*/
packsswb mm5, mm2 //empaquetamos en mm5 - saturacion con signo
movd [edi], mm5 //guardamos en memoria el nuevo valor
}
} //end for
_asm
{
emms //Finalizar utilización de registros MMX
}}; //end fadeMMX
最佳答案
我刚刚找到了“答案”:我忘记添加这一行
mov edi, puntero2[0]//imagen 2, guardar
将第二个图像保存到指针中。
关于c - MMX:淡入两幅图像结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33942179/
我是一名优秀的程序员,十分优秀!