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

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

Issue 591313008: Add support for Rec709 color space videos in software YUV convert path. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: add enum to mojom Created 5 years, 11 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
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 "media/base/simd/media_export.asm"
6 %include "third_party/x86inc/x86inc.asm" 6 %include "third_party/x86inc/x86inc.asm"
7 7
8 ; 8 ;
9 ; This file uses MMX instructions. 9 ; This file uses MMX instructions.
10 ; 10 ;
11 SECTION_TEXT 11 SECTION_TEXT
12 CPU MMX 12 CPU MMX
13 13
14 ;void LinearScaleYUVToRGB32Row_MMX_X64(const uint8* y_buf, 14 ;void LinearScaleYUVToRGB32Row_MMX_X64(const uint8* y_buf,
15 ; const uint8* u_buf, 15 ; const uint8* u_buf,
16 ; const uint8* v_buf, 16 ; const uint8* v_buf,
17 ; uint8* rgb_buf, 17 ; uint8* rgb_buf,
18 ; ptrdiff_t width, 18 ; ptrdiff_t width,
19 ; ptrdiff_t source_dx); 19 ; ptrdiff_t source_dx);
20 %define SYMBOL LinearScaleYUVToRGB32Row_MMX_X64 20 %define SYMBOL LinearScaleYUVToRGB32Row_MMX_X64
21 EXPORT SYMBOL 21 EXPORT SYMBOL
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)
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
32 ; 4. ARGB frame 31 ; 4. ARGB frame
33 ; 5. Width 32 ; 5. Width
34 ; 6. Source dx 33 ; 6. Source dx
35 ; 7. Conversion lookup table 34 ; 7. Conversion lookup table
36 35
(...skipping 107 matching lines...) Expand 10 before | Expand all | Expand 10 after
144 143
145 .lscalelastpixel: 144 .lscalelastpixel:
146 paddsw mm1, mm0 145 paddsw mm1, mm0
147 psraw mm1, 6 146 psraw mm1, 6
148 packuswb mm1, mm1 147 packuswb mm1, mm1
149 movd [ARGBq], mm1 148 movd [ARGBq], mm1
150 149
151 .epilogue 150 .epilogue
152 EPILOGUE 151 EPILOGUE
153 RET 152 RET
OLDNEW
« no previous file with comments | « media/base/simd/linear_scale_yuv_to_rgb_mmx.asm ('k') | media/base/simd/scale_yuv_to_rgb_mmx.asm » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698