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

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: Add Win64 hack. 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
« no previous file with comments | « media/base/simd/scale_yuv_to_rgb_mmx.inc ('k') | media/base/simd/yuv_to_rgb_table.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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.asm"
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
« no previous file with comments | « media/base/simd/scale_yuv_to_rgb_mmx.inc ('k') | media/base/simd/yuv_to_rgb_table.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698