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