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 "media/base/simd/media_export.asm" | 5 %include "media/base/simd/media_export.asm" |
6 | 6 |
7 EXPORT SYMBOL | 7 EXPORT SYMBOL |
8 align function_align | 8 align function_align |
9 | 9 |
10 mangle(SYMBOL): | 10 mangle(SYMBOL): |
11 %assign stack_offset 0 | 11 %assign stack_offset 0 |
12 PROLOGUE 6, 7, 3, Y, U, V, ARGB, WIDTH, TABLE, TEMP | 12 PROLOGUE 5, 7, 3, Y, U, V, ARGB, WIDTH, TEMP, TABLE |
| 13 |
| 14 extern mangle(kCoefficientsRgbY) |
| 15 LOAD_SYM TABLEq, mangle(kCoefficientsRgbY) |
13 | 16 |
14 jmp .convertend | 17 jmp .convertend |
15 | 18 |
16 .convertloop: | 19 .convertloop: |
17 movzx TEMPd, BYTE [Uq] | 20 movzx TEMPd, BYTE [Uq] |
18 movq mm0, [TABLEq + 2048 + 8 * TEMPq] | 21 movq mm0, [TABLEq + 2048 + 8 * TEMPq] |
19 add Uq, 1 | 22 add Uq, 1 |
20 | 23 |
21 movzx TEMPd, BYTE [Vq] | 24 movzx TEMPd, BYTE [Vq] |
22 paddsw mm0, [TABLEq + 4096 + 8 * TEMPq] | 25 paddsw mm0, [TABLEq + 4096 + 8 * TEMPq] |
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
54 paddsw mm0, [TABLEq + 4096 + 8 * TEMPq] | 57 paddsw mm0, [TABLEq + 4096 + 8 * TEMPq] |
55 movzx TEMPd, BYTE [Yq] | 58 movzx TEMPd, BYTE [Yq] |
56 movq mm1, [TABLEq + 8 * TEMPq] | 59 movq mm1, [TABLEq + 8 * TEMPq] |
57 paddsw mm1, mm0 | 60 paddsw mm1, mm0 |
58 psraw mm1, 6 | 61 psraw mm1, 6 |
59 packuswb mm1, mm1 | 62 packuswb mm1, mm1 |
60 movd [ARGBq], mm1 | 63 movd [ARGBq], mm1 |
61 | 64 |
62 .convertdone: | 65 .convertdone: |
63 RET | 66 RET |
OLD | NEW |