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
3 ; found in the LICENSE file.
5 %include "media/base/simd/media_export.asm"
11 %assign stack_offset 0
12 PROLOGUE 6, 7, 3, Y, U, V, ARGB, WIDTH, TABLE, TEMP
17 movzx TEMPd, BYTE [Uq]
18 movq mm0, [TABLEq + 2048 + 8 * TEMPq]
21 movzx TEMPd, BYTE [Vq]
22 paddsw mm0, [TABLEq + 4096 + 8 * TEMPq]
25 movzx TEMPd, BYTE [Yq]
26 movq mm1, [TABLEq + 8 * TEMPq]
28 movzx TEMPd, BYTE [Yq + 1]
29 movq mm2, [TABLEq + 8 * TEMPq]
32 ; Add UV components to Y component.
36 ; Down shift and then pack.
47 ; If number of pixels is odd then compute it.
51 movzx TEMPd, BYTE [Uq]
52 movq mm0, [TABLEq + 2048 + 8 * TEMPq]
53 movzx TEMPd, BYTE [Vq]
54 paddsw mm0, [TABLEq + 4096 + 8 * TEMPq]
55 movzx TEMPd, BYTE [Yq]
56 movq mm1, [TABLEq + 8 * TEMPq]