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

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: Comments. 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 "media/base/simd/media_export.inc"
5 %include "third_party/x86inc/x86inc.asm" 6 %include "third_party/x86inc/x86inc.asm"
6 7
7 ; 8 ;
8 ; This file uses MMX, SSE2 and instructions. 9 ; This file uses MMX, SSE2 and instructions.
9 ; 10 ;
10 SECTION_TEXT 11 SECTION_TEXT
11 CPU SSE2 12 CPU SSE2
12 13
13 ; void ScaleYUVToRGB32Row_SSE2_X64(const uint8* y_buf, 14 ; void ScaleYUVToRGB32Row_SSE2_X64(const uint8* y_buf,
14 ; const uint8* u_buf, 15 ; const uint8* u_buf,
15 ; const uint8* v_buf, 16 ; const uint8* v_buf,
16 ; uint8* rgb_buf, 17 ; uint8* rgb_buf,
17 ; ptrdiff_t width, 18 ; ptrdiff_t width,
18 ; ptrdiff_t source_dx); 19 ; ptrdiff_t source_dx);
19 %define SYMBOL ScaleYUVToRGB32Row_SSE2_X64 20 %define SYMBOL ScaleYUVToRGB32Row_SSE2_X64
20 21 EXPORT SYMBOL
21 global mangle(SYMBOL) PRIVATE
22 align function_align 22 align function_align
23 23
24 mangle(SYMBOL): 24 mangle(SYMBOL):
25 %assign stack_offset 0 25 %assign stack_offset 0
26 extern mangle(kCoefficientsRgbY) 26 extern mangle(kCoefficientsRgbY)
27 27
28 ; Parameters are in the following order: 28 ; Parameters are in the following order:
29 ; 1. Y plane 29 ; 1. Y plane
30 ; 2. U plane 30 ; 2. U plane
31 ; 3. V plane 31 ; 3. V plane
(...skipping 69 matching lines...) Expand 10 before | Expand all | Expand 10 after
101 paddsw xmm1, xmm0 101 paddsw xmm1, xmm0
102 psraw xmm1, 6 102 psraw xmm1, 6
103 packuswb xmm1, xmm1 103 packuswb xmm1, xmm1
104 movd DWORD [ARGBq], xmm1 104 movd DWORD [ARGBq], xmm1
105 105
106 .scaledone: 106 .scaledone:
107 POP r12 107 POP r12
108 POP r11 108 POP r11
109 POP r10 109 POP r10
110 RET 110 RET
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698