OLD | NEW |
1 ; Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 ; Copyright (c) 2011 The Chromium Authors. All rights reserved. |
2 ; Use of this source code is governed by a BSD-style license that can be | 2 ; Use of this source code is governed by a BSD-style license that can be |
3 ; found in the LICENSE file. | 3 ; found in the LICENSE file. |
4 | 4 |
5 %include "third_party/x86inc/x86inc.asm" | 5 %include "third_party/x86inc/x86inc.asm" |
6 | 6 |
7 ; | 7 ; |
8 ; This file uses SSE, SSE2, SSE3, and SSSE3, which are supported by all ATOM | 8 ; This file uses SSE, SSE2, SSE3, and SSSE3, which are supported by all ATOM |
9 ; processors. | 9 ; processors. |
10 ; | 10 ; |
(...skipping 225 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
236 movd xmm2, %4 | 236 movd xmm2, %4 |
237 pavgb %1, xmm2 | 237 pavgb %1, xmm2 |
238 %endif | 238 %endif |
239 %endmacro | 239 %endmacro |
240 | 240 |
241 ; | 241 ; |
242 ; extern "C" void ConvertARGBToYUVRow_SSSE3(const uint8* argb, | 242 ; extern "C" void ConvertARGBToYUVRow_SSSE3(const uint8* argb, |
243 ; uint8* y, | 243 ; uint8* y, |
244 ; uint8* u, | 244 ; uint8* u, |
245 ; uint8* v, | 245 ; uint8* v, |
246 ; int width); | 246 ; ptrdiff_t width); |
247 ; | 247 ; |
248 %define SYMBOL ConvertARGBToYUVRow_SSSE3 | 248 %define SYMBOL ConvertARGBToYUVRow_SSSE3 |
249 %define PIXELSIZE 4 | 249 %define PIXELSIZE 4 |
250 %define SUBSAMPLING 0 | 250 %define SUBSAMPLING 0 |
251 %define LINE 0 | 251 %define LINE 0 |
252 %include "convert_rgb_to_yuv_ssse3.inc" | 252 %include "convert_rgb_to_yuv_ssse3.inc" |
253 | 253 |
254 ; | 254 ; |
255 ; extern "C" void ConvertRGBToYUVRow_SSSE3(const uint8* rgb, | 255 ; extern "C" void ConvertRGBToYUVRow_SSSE3(const uint8* rgb, |
256 ; uint8* y, | 256 ; uint8* y, |
257 ; uint8* u, | 257 ; uint8* u, |
258 ; uint8* v, | 258 ; uint8* v, |
259 ; int width); | 259 ; ptrdiff_t width); |
260 ; | 260 ; |
261 %define SYMBOL ConvertRGBToYUVRow_SSSE3 | 261 %define SYMBOL ConvertRGBToYUVRow_SSSE3 |
262 %define PIXELSIZE 3 | 262 %define PIXELSIZE 3 |
263 %define SUBSAMPLING 0 | 263 %define SUBSAMPLING 0 |
264 %define LINE 0 | 264 %define LINE 0 |
265 %include "convert_rgb_to_yuv_ssse3.inc" | 265 %include "convert_rgb_to_yuv_ssse3.inc" |
266 | 266 |
267 ; | 267 ; |
268 ; extern "C" void ConvertARGBToYUVEven_SSSE3(const uint8* argb, | 268 ; extern "C" void ConvertARGBToYUVEven_SSSE3(const uint8* argb, |
269 ; uint8* y, | 269 ; uint8* y, |
270 ; uint8* u, | 270 ; uint8* u, |
271 ; uint8* v, | 271 ; uint8* v, |
272 ; int width); | 272 ; ptrdiff_t width); |
273 ; | 273 ; |
274 %define SYMBOL ConvertARGBToYUVEven_SSSE3 | 274 %define SYMBOL ConvertARGBToYUVEven_SSSE3 |
275 %define PIXELSIZE 4 | 275 %define PIXELSIZE 4 |
276 %define SUBSAMPLING 1 | 276 %define SUBSAMPLING 1 |
277 %define LINE 0 | 277 %define LINE 0 |
278 %include "convert_rgb_to_yuv_ssse3.inc" | 278 %include "convert_rgb_to_yuv_ssse3.inc" |
279 | 279 |
280 ; | 280 ; |
281 ; extern "C" void ConvertARGBToYUVOdd_SSSE3(const uint8* argb, | 281 ; extern "C" void ConvertARGBToYUVOdd_SSSE3(const uint8* argb, |
282 ; uint8* y, | 282 ; uint8* y, |
283 ; uint8* u, | 283 ; uint8* u, |
284 ; uint8* v, | 284 ; uint8* v, |
285 ; int width); | 285 ; ptrdiff_t width); |
286 ; | 286 ; |
287 %define SYMBOL ConvertARGBToYUVOdd_SSSE3 | 287 %define SYMBOL ConvertARGBToYUVOdd_SSSE3 |
288 %define PIXELSIZE 4 | 288 %define PIXELSIZE 4 |
289 %define SUBSAMPLING 1 | 289 %define SUBSAMPLING 1 |
290 %define LINE 1 | 290 %define LINE 1 |
291 %include "convert_rgb_to_yuv_ssse3.inc" | 291 %include "convert_rgb_to_yuv_ssse3.inc" |
292 | 292 |
293 ; | 293 ; |
294 ; extern "C" void ConvertRGBToYUVEven_SSSE3(const uint8* rgb, | 294 ; extern "C" void ConvertRGBToYUVEven_SSSE3(const uint8* rgb, |
295 ; uint8* y, | 295 ; uint8* y, |
296 ; uint8* u, | 296 ; uint8* u, |
297 ; uint8* v, | 297 ; uint8* v, |
298 ; int width); | 298 ; ptrdiff_t width); |
299 ; | 299 ; |
300 %define SYMBOL ConvertRGBToYUVEven_SSSE3 | 300 %define SYMBOL ConvertRGBToYUVEven_SSSE3 |
301 %define PIXELSIZE 3 | 301 %define PIXELSIZE 3 |
302 %define SUBSAMPLING 1 | 302 %define SUBSAMPLING 1 |
303 %define LINE 0 | 303 %define LINE 0 |
304 %include "convert_rgb_to_yuv_ssse3.inc" | 304 %include "convert_rgb_to_yuv_ssse3.inc" |
305 | 305 |
306 ; | 306 ; |
307 ; extern "C" void ConvertRGBToYUVOdd_SSSE3(const uint8* rgb, | 307 ; extern "C" void ConvertRGBToYUVOdd_SSSE3(const uint8* rgb, |
308 ; uint8* y, | 308 ; uint8* y, |
309 ; uint8* u, | 309 ; uint8* u, |
310 ; uint8* v, | 310 ; uint8* v, |
311 ; int width); | 311 ; ptrdiff_t width); |
312 ; | 312 ; |
313 %define SYMBOL ConvertRGBToYUVOdd_SSSE3 | 313 %define SYMBOL ConvertRGBToYUVOdd_SSSE3 |
314 %define PIXELSIZE 3 | 314 %define PIXELSIZE 3 |
315 %define SUBSAMPLING 1 | 315 %define SUBSAMPLING 1 |
316 %define LINE 1 | 316 %define LINE 1 |
317 %include "convert_rgb_to_yuv_ssse3.inc" | 317 %include "convert_rgb_to_yuv_ssse3.inc" |
OLD | NEW |