Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(19)

Side by Side Diff: media/base/simd/scale_yuv_to_rgb_sse2_x64.asm

Issue 15151002: Streamline SIMD targets in media.gyp (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Fix exports. Created 7 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
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, SSE2 and instructions. 8 ; This file uses MMX, SSE2 and instructions.
9 ; 9 ;
10 SECTION_TEXT 10 SECTION_TEXT
11 CPU SSE2 11 CPU SSE2
12 12
13 ; void ScaleYUVToRGB32Row_SSE2_X64(const uint8* y_buf, 13 ; void ScaleYUVToRGB32Row_SSE2_X64(const uint8* y_buf,
14 ; const uint8* u_buf, 14 ; const uint8* u_buf,
15 ; const uint8* v_buf, 15 ; const uint8* v_buf,
16 ; uint8* rgb_buf, 16 ; uint8* rgb_buf,
17 ; ptrdiff_t width, 17 ; ptrdiff_t width,
18 ; ptrdiff_t source_dx); 18 ; ptrdiff_t source_dx);
19 %define SYMBOL ScaleYUVToRGB32Row_SSE2_X64 19 %define SYMBOL ScaleYUVToRGB32Row_SSE2_X64
20 20 EXPORT SYMBOL
21 global mangle(SYMBOL) PRIVATE
22 align function_align 21 align function_align
23 22
24 mangle(SYMBOL): 23 mangle(SYMBOL):
25 %assign stack_offset 0 24 %assign stack_offset 0
26 extern mangle(kCoefficientsRgbY) 25 extern mangle(kCoefficientsRgbY)
27 26
28 ; Parameters are in the following order: 27 ; Parameters are in the following order:
29 ; 1. Y plane 28 ; 1. Y plane
30 ; 2. U plane 29 ; 2. U plane
31 ; 3. V plane 30 ; 3. V plane
(...skipping 69 matching lines...) Expand 10 before | Expand all | Expand 10 after
101 paddsw xmm1, xmm0 100 paddsw xmm1, xmm0
102 psraw xmm1, 6 101 psraw xmm1, 6
103 packuswb xmm1, xmm1 102 packuswb xmm1, xmm1
104 movd DWORD [ARGBq], xmm1 103 movd DWORD [ARGBq], xmm1
105 104
106 .scaledone: 105 .scaledone:
107 POP r12 106 POP r12
108 POP r11 107 POP r11
109 POP r10 108 POP r10
110 RET 109 RET
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698