| 68 | }; |
| 69 | |
| 70 | static av_always_inline void row_fdct(FLOAT temp[64], DCTELEM * data) |
| 71 | { |
| 72 | FLOAT tmp0, tmp1, tmp2, tmp3, tmp4, tmp5, tmp6, tmp7; |
| 73 | FLOAT tmp10, tmp11, tmp12, tmp13; |
| 74 | FLOAT z2, z4, z11, z13; |
| 75 | FLOAT av_unused z5; |
| 76 | int i; |
| 77 | |
| 78 | for (i=0; i<8*8; i+=8) { |
| 79 | tmp0= data[0 + i] + data[7 + i]; |
| 80 | tmp7= data[0 + i] - data[7 + i]; |
| 81 | tmp1= data[1 + i] + data[6 + i]; |
| 82 | tmp6= data[1 + i] - data[6 + i]; |
| 83 | tmp2= data[2 + i] + data[5 + i]; |
| 84 | tmp5= data[2 + i] - data[5 + i]; |
| 85 | tmp3= data[3 + i] + data[4 + i]; |
| 86 | tmp4= data[3 + i] - data[4 + i]; |
| 87 | |
| 88 | tmp10= tmp0 + tmp3; |
| 89 | tmp13= tmp0 - tmp3; |
| 90 | tmp11= tmp1 + tmp2; |
| 91 | tmp12= tmp1 - tmp2; |
| 92 | |
| 93 | temp[0 + i]= tmp10 + tmp11; |
| 94 | temp[4 + i]= tmp10 - tmp11; |
| 95 | |
| 96 | tmp12 += tmp13; |
| 97 | tmp12 *= A1; |
| 98 | temp[2 + i]= tmp13 + tmp12; |
| 99 | temp[6 + i]= tmp13 - tmp12; |
| 100 | |
| 101 | tmp4 += tmp5; |
| 102 | tmp5 += tmp6; |
| 103 | tmp6 += tmp7; |
| 104 | |
| 105 | #if 0 |
| 106 | z5= (tmp4 - tmp6) * A5; |
| 107 | z2= tmp4*A2 + z5; |
| 108 | z4= tmp6*A4 + z5; |
| 109 | #else |
| 110 | z2= tmp4*(A2+A5) - tmp6*A5; |
| 111 | z4= tmp6*(A4-A5) + tmp4*A5; |
| 112 | #endif |
| 113 | tmp5*=A1; |
| 114 | |
| 115 | z11= tmp7 + tmp5; |
| 116 | z13= tmp7 - tmp5; |
| 117 | |
| 118 | temp[5 + i]= z13 + z2; |
| 119 | temp[3 + i]= z13 - z2; |
| 120 | temp[1 + i]= z11 + z4; |
| 121 | temp[7 + i]= z11 - z4; |
| 122 | } |
| 123 | } |
| 124 | |
| 125 | void ff_faandct(DCTELEM * data) |
| 126 | { |
no outgoing calls
no test coverage detected