- /* Final sequence of operations over-write original inputs. */
- if(type==0){
- ip[0*8] = (_Gd + _Cd ) >> 4;
- ip[7*8] = (_Gd - _Cd ) >> 4;
-
- ip[1*8] = (_Add + _Hd ) >> 4;
- ip[2*8] = (_Add - _Hd ) >> 4;
-
- ip[3*8] = (_Ed + _Dd ) >> 4;
- ip[4*8] = (_Ed - _Dd ) >> 4;
-
- ip[5*8] = (_Fd + _Bdd ) >> 4;
- ip[6*8] = (_Fd - _Bdd ) >> 4;
- }else if(type==1){
- dst[0*stride] = cm[(_Gd + _Cd ) >> 4];
- dst[7*stride] = cm[(_Gd - _Cd ) >> 4];
-
- dst[1*stride] = cm[(_Add + _Hd ) >> 4];
- dst[2*stride] = cm[(_Add - _Hd ) >> 4];
-
- dst[3*stride] = cm[(_Ed + _Dd ) >> 4];
- dst[4*stride] = cm[(_Ed - _Dd ) >> 4];
-
- dst[5*stride] = cm[(_Fd + _Bdd ) >> 4];
- dst[6*stride] = cm[(_Fd - _Bdd ) >> 4];
- }else{
- dst[0*stride] = cm[dst[0*stride] + ((_Gd + _Cd ) >> 4)];
- dst[7*stride] = cm[dst[7*stride] + ((_Gd - _Cd ) >> 4)];
-
- dst[1*stride] = cm[dst[1*stride] + ((_Add + _Hd ) >> 4)];
- dst[2*stride] = cm[dst[2*stride] + ((_Add - _Hd ) >> 4)];
-
- dst[3*stride] = cm[dst[3*stride] + ((_Ed + _Dd ) >> 4)];
- dst[4*stride] = cm[dst[4*stride] + ((_Ed - _Dd ) >> 4)];
-
- dst[5*stride] = cm[dst[5*stride] + ((_Fd + _Bdd ) >> 4)];
- dst[6*stride] = cm[dst[6*stride] + ((_Fd - _Bdd ) >> 4)];