136 |
|
|
137 |
pxor mm4, mm4 |
pxor mm4, mm4 |
138 |
pxor mm5, mm5 |
pxor mm5, mm5 |
139 |
|
%if %1 == 3 ; BGR (24-bit) |
140 |
|
movd mm1, [x_ptr+2] |
141 |
|
movd mm3, [x_ptr+x_stride+2] |
142 |
|
psrlq mm1, 8 ; src[%1...] |
143 |
|
psrlq mm3, 8 ; src[x_stride+%1...] |
144 |
|
%else |
145 |
movd mm1, [x_ptr+%1] ; src[%1...] |
movd mm1, [x_ptr+%1] ; src[%1...] |
146 |
movd mm3, [x_ptr+x_stride+%1] ; src[x_stride+%1...] |
movd mm3, [x_ptr+x_stride+%1] ; src[x_stride+%1...] |
147 |
|
%endif |
148 |
punpcklbw mm1, mm4 ; [ |b |g |r ] |
punpcklbw mm1, mm4 ; [ |b |g |r ] |
149 |
punpcklbw mm3, mm5 ; [ |b |g |r ] |
punpcklbw mm3, mm5 ; [ |b |g |r ] |
150 |
paddw mm6, mm1 ; +[ |b4|g4|r4] |
paddw mm6, mm1 ; +[ |b4|g4|r4] |
244 |
|
|
245 |
pxor mm4, mm4 |
pxor mm4, mm4 |
246 |
pxor mm5, mm5 |
pxor mm5, mm5 |
247 |
|
%if %1 == 3 ; BGR (24-bit) |
248 |
|
movd mm1, [x_ptr+2] |
249 |
|
movd mm3, [x_ptr+x_stride+2] |
250 |
|
psrlq mm1, 8 ; src[%1...] |
251 |
|
psrlq mm3, 8 ; src[x_stride+%1...] |
252 |
|
%else |
253 |
movd mm1, [x_ptr+%1] ; src[%1...] |
movd mm1, [x_ptr+%1] ; src[%1...] |
254 |
movd mm3, [x_ptr+x_stride+%1] ; src[x_stride+%1...] |
movd mm3, [x_ptr+x_stride+%1] ; src[x_stride+%1...] |
255 |
|
%endif |
256 |
punpcklbw mm1, mm4 ; [ |b |g |r ] |
punpcklbw mm1, mm4 ; [ |b |g |r ] |
257 |
punpcklbw mm3, mm5 ; [ |b |g |r ] |
punpcklbw mm3, mm5 ; [ |b |g |r ] |
258 |
paddw mm6, mm1 ; +[ |b4|g4|r4] |
paddw mm6, mm1 ; +[ |b4|g4|r4] |