Index: media/base/simd/linear_scale_yuv_to_rgb_mmx_x64.asm |
diff --git a/media/base/simd/linear_scale_yuv_to_rgb_mmx_x64.asm b/media/base/simd/linear_scale_yuv_to_rgb_mmx_x64.asm |
index f7e1d908549020fce8d2fcb9236fba9f887642d7..89e4e2a6825a9c69770a339e324e3cc4226f2243 100644 |
--- a/media/base/simd/linear_scale_yuv_to_rgb_mmx_x64.asm |
+++ b/media/base/simd/linear_scale_yuv_to_rgb_mmx_x64.asm |
@@ -32,8 +32,9 @@ mangle(SYMBOL): |
; 4. ARGB frame |
; 5. Width |
; 6. Source dx |
+; 7. Conversion lookup table |
-PROLOGUE 6, 7, 3, Y, U, V, ARGB, WIDTH, SOURCE_DX, COMPL |
+PROLOGUE 7, 7, 3, Y, U, V, ARGB, WIDTH, SOURCE_DX, R1 |
%define TABLEq r10 |
%define Xq r11 |
@@ -41,6 +42,9 @@ PROLOGUE 6, 7, 3, Y, U, V, ARGB, WIDTH, SOURCE_DX, COMPL |
%define COMPRd r13d |
%define COMPRq r13 |
%define FRACTIONq r14 |
+%define COMPL R1 |
+%define COMPLq R1q |
+%define COMPLd R1d |
PUSH TABLEq |
PUSH Xq |
@@ -56,7 +60,7 @@ PROLOGUE 6, 7, 3, Y, U, V, ARGB, WIDTH, SOURCE_DX, COMPL |
POP TABLEq |
%endmacro |
- LOAD_SYM TABLEq, mangle(kCoefficientsRgbY) |
+ mov TABLEq, R1q |
imul WIDTHq, SOURCE_DXq ; source_width = width * source_dx |
xor Xq, Xq ; x = 0 |