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

Side by Side Diff: source/libvpx/vp9/encoder/x86/vp9_dct_mmx.asm

Issue 290653003: libvpx: Pull from upstream (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/deps/third_party/libvpx/
Patch Set: Created 6 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
(Empty)
1 ;
2 ; Copyright (c) 2014 The WebM project authors. All Rights Reserved.
3 ;
4 ; Use of this source code is governed by a BSD-style license
5 ; that can be found in the LICENSE file in the root of the source
6 ; tree. An additional intellectual property rights grant can be found
7 ; in the file PATENTS. All contributing project authors may
8 ; be found in the AUTHORS file in the root of the source tree.
9 ;
10 %include "third_party/x86inc/x86inc.asm"
11
12 SECTION .text
13
14 %macro TRANSFORM_COLS 0
15 paddw m0, m1
16 movq m4, m0
17 psubw m3, m2
18 psubw m4, m3
19 psraw m4, 1
20 movq m5, m4
21 psubw m5, m1 ;b1
22 psubw m4, m2 ;c1
23 psubw m0, m4
24 paddw m3, m5
25 ; m0 a0
26 SWAP 1, 4 ; m1 c1
27 SWAP 2, 3 ; m2 d1
28 SWAP 3, 5 ; m3 b1
29 %endmacro
30
31 %macro TRANSPOSE_4X4 0
32 movq m4, m0
33 movq m5, m2
34 punpcklwd m4, m1
35 punpckhwd m0, m1
36 punpcklwd m5, m3
37 punpckhwd m2, m3
38 movq m1, m4
39 movq m3, m0
40 punpckldq m1, m5
41 punpckhdq m4, m5
42 punpckldq m3, m2
43 punpckhdq m0, m2
44 SWAP 2, 3, 0, 1, 4
45 %endmacro
46
47 INIT_MMX mmx
48 cglobal fwht4x4, 3, 4, 8, input, output, stride
49 lea r3q, [inputq + strideq*4]
50 movq m0, [inputq] ;a1
51 movq m1, [inputq + strideq*2] ;b1
52 movq m2, [r3q] ;c1
53 movq m3, [r3q + strideq*2] ;d1
54
55 TRANSFORM_COLS
56 TRANSPOSE_4X4
57 TRANSFORM_COLS
58 TRANSPOSE_4X4
59
60 psllw m0, 2
61 psllw m1, 2
62 psllw m2, 2
63 psllw m3, 2
64
65 movq [outputq], m0
66 movq [outputq + 8], m1
67 movq [outputq + 16], m2
68 movq [outputq + 24], m3
69
70 RET
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698