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 MMX instructions. | 8 ; This file uses MMX instructions. |
9 ; | 9 ; |
10 SECTION_TEXT | 10 SECTION_TEXT |
11 CPU MMX | 11 CPU MMX |
12 | 12 |
| 13 ;void LinearScaleYUVToRGB32Row_MMX_X64(const uint8* y_buf, |
| 14 ; const uint8* u_buf, |
| 15 ; const uint8* v_buf, |
| 16 ; uint8* rgb_buf, |
| 17 ; ptrdiff_t width, |
| 18 ; ptrdiff_t source_dx); |
13 %define SYMBOL LinearScaleYUVToRGB32Row_MMX_X64 | 19 %define SYMBOL LinearScaleYUVToRGB32Row_MMX_X64 |
14 global mangle(SYMBOL) PRIVATE | 20 global mangle(SYMBOL) PRIVATE |
15 align function_align | 21 align function_align |
16 | 22 |
17 mangle(SYMBOL): | 23 mangle(SYMBOL): |
18 %assign stack_offset 0 | 24 %assign stack_offset 0 |
19 extern mangle(kCoefficientsRgbY) | 25 extern mangle(kCoefficientsRgbY) |
20 | 26 |
21 ; Parameters are in the following order: | 27 ; Parameters are in the following order: |
22 ; 1. Y plane | 28 ; 1. Y plane |
(...skipping 110 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
133 | 139 |
134 .lscalelastpixel: | 140 .lscalelastpixel: |
135 paddsw mm1, mm0 | 141 paddsw mm1, mm0 |
136 psraw mm1, 6 | 142 psraw mm1, 6 |
137 packuswb mm1, mm1 | 143 packuswb mm1, mm1 |
138 movd [ARGBq], mm1 | 144 movd [ARGBq], mm1 |
139 | 145 |
140 .epilogue | 146 .epilogue |
141 EPILOGUE | 147 EPILOGUE |
142 RET | 148 RET |
OLD | NEW |