Displaying 1 result from an estimated 1 matches for "_m_pcmpgtw".
2005 Apr 19
0
mmx optimization
...unction in this way:
si32
sad_4x4 (macroblock_t * mb, ui8 x, ui8 y)
{
zeros = _mm_setzero_si64 ();
ones = _mm_set1_pi16 (1);
orig = *((__m64*) &mb->orig_mb[corner_x][corner_y]);
pred = *((__m64*) &mb->pred_mb[corner_x][corner_y]);
diff = _m_psubw (orig, pred);
cmp = _m_pcmpgtw (zeros, diff);
sign = _m_paddw (ones, cmp);
sign = _m_paddw (sign, cmp);
sad = _m_pmaddwd (diff, sign);
orig = *((__m64*) &mb->orig_mb[corner_x+1][corner_y]);
pred = *((__m64*) &mb->pred_mb[corner_x+1][corner_y]);
diff = _m_psubw (orig, pred);
cmp = _m_pcmpgtw...