x86: AVX2 predict_16x16_p
[x264/x264-sandbox.git] / common / x86 / const-a.asm
1 ;*****************************************************************************
2 ;* const-a.asm: x86 global constants
3 ;*****************************************************************************
4 ;* Copyright (C) 2010-2013 x264 project
5 ;*
6 ;* Authors: Loren Merritt <lorenm@u.washington.edu>
7 ;*          Fiona Glaser <fiona@x264.com>
8 ;*
9 ;* This program is free software; you can redistribute it and/or modify
10 ;* it under the terms of the GNU General Public License as published by
11 ;* the Free Software Foundation; either version 2 of the License, or
12 ;* (at your option) any later version.
13 ;*
14 ;* This program is distributed in the hope that it will be useful,
15 ;* but WITHOUT ANY WARRANTY; without even the implied warranty of
16 ;* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
17 ;* GNU General Public License for more details.
18 ;*
19 ;* You should have received a copy of the GNU General Public License
20 ;* along with this program; if not, write to the Free Software
21 ;* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02111, USA.
22 ;*
23 ;* This program is also available under a commercial proprietary license.
24 ;* For more information, contact us at licensing@x264.com.
25 ;*****************************************************************************
26
27 %include "x86inc.asm"
28
29 SECTION_RODATA 32
30
31 const pb_1,        times 32 db 1
32 const hsub_mul,    times 16 db 1, -1
33 const pw_1,        times 16 dw 1
34 const pw_16,       times 16 dw 16
35 const pw_32,       times 16 dw 32
36 const pw_00ff,     times 16 dw 0x00ff
37 const pw_pixel_max,times 16 dw ((1 << BIT_DEPTH)-1)
38 const pd_1,        times 8 dd 1
39 const deinterleave_shufd, dd 0,4,1,5,2,6,3,7
40
41 const pb_01,       times  8 db 0,1
42 const pb_0,        times 16 db 0
43 const pb_a1,       times 16 db 0xa1
44 const pb_3,        times 16 db 3
45 const pb_shuf8x8c, db 0,0,0,0,2,2,2,2,4,4,4,4,6,6,6,6
46
47 const pw_2,        times 8 dw 2
48 const pw_m2,       times 8 dw -2
49 const pw_4,        times 8 dw 4
50 const pw_8,        times 8 dw 8
51 const pw_64,       times 8 dw 64
52 const pw_32_0,     times 4 dw 32,
53                    times 4 dw 0
54 const pw_8000,     times 8 dw 0x8000
55 const pw_3fff,     times 8 dw 0x3fff
56 const pw_ppppmmmm, dw 1,1,1,1,-1,-1,-1,-1
57 const pw_ppmmppmm, dw 1,1,-1,-1,1,1,-1,-1
58 const pw_pmpmpmpm, dw 1,-1,1,-1,1,-1,1,-1
59 const pw_pmmpzzzz, dw 1,-1,-1,1,0,0,0,0
60
61 const pd_32,       times 4 dd 32
62 const pd_1024,     times 4 dd 1024
63 const pd_ffff,     times 4 dd 0xffff
64 const pw_ff00,     times 8 dw 0xff00
65
66 const sw_64,       dd 64