1 /*
2 * Copyright(c) 2018 Intel Corporation
3 * SPDX - License - Identifier: BSD - 2 - Clause - Patent
4 */
5 
6 #include "EbDefinitions.h"
7 #include "EbMcp_SSE2.h"
8 
9 #ifdef __GNUC__
10 #ifndef __cplusplus
11 __attribute__((visibility("hidden")))
12 #endif
13 #endif
14 EB_ALIGN(16) const EB_S16 IntraPredictionConst_SSE2[344]= {
15     17, 19, 21, 23, 25, 27, 29, 31,
16      1,  3,  5,  7,  9, 11, 13, 15,
17     25, 26, 27, 28, 29, 30, 31, 32,
18     17, 18, 19, 20, 21, 22, 23, 24,
19      9, 10, 11, 12, 13, 14, 15, 16,
20      1,  2,  3,  4,  5,  6,  7,  8,
21     31, 30, 29, 28, 27, 26, 25, 24,
22     23, 22, 21, 20, 19, 18, 17, 16,
23     15, 14, 13, 12, 11, 10,  9,  8,
24      7,  6,  5,  4,  3,  2,  1,  0,
25      0,  0,  0,  0,  0,  0,  0,  0,
26      1,  1,  1,  1,  1,  1,  1,  1,
27      2,  2,  2,  2,  2,  2,  2,  2,
28      3,  3,  3,  3,  3,  3,  3,  3,
29      4,  4,  4,  4,  4,  4,  4,  4,
30      5,  5,  5,  5,  5,  5,  5,  5,
31      6,  6,  6,  6,  6,  6,  6,  6,
32      7,  7,  7,  7,  7,  7,  7,  7,
33      8,  8,  8,  8,  8,  8,  8,  8,
34      9,  9,  9,  9,  9,  9,  9,  9,
35     10, 10, 10, 10, 10, 10, 10, 10,
36     11, 11, 11, 11, 11, 11, 11, 11,
37     12, 12, 12, 12, 12, 12, 12, 12,
38     13, 13, 13, 13, 13, 13, 13, 13,
39     14, 14, 14, 14, 14, 14, 14, 14,
40     15, 15, 15, 15, 15, 15, 15, 15,
41     16, 16, 16, 16, 16, 16, 16, 16,
42     17, 17, 17, 17, 17, 17, 17, 17,
43     18, 18, 18, 18, 18, 18, 18, 18,
44     19, 19, 19, 19, 19, 19, 19, 19,
45     20, 20, 20, 20, 20, 20, 20, 20,
46     21, 21, 21, 21, 21, 21, 21, 21,
47     22, 22, 22, 22, 22, 22, 22, 22,
48     23, 23, 23, 23, 23, 23, 23, 23,
49     24, 24, 24, 24, 24, 24, 24, 24,
50     25, 25, 25, 25, 25, 25, 25, 25,
51     26, 26, 26, 26, 26, 26, 26, 26,
52     27, 27, 27, 27, 27, 27, 27, 27,
53     28, 28, 28, 28, 28, 28, 28, 28,
54     29, 29, 29, 29, 29, 29, 29, 29,
55     30, 30, 30, 30, 30, 30, 30, 30,
56     31, 31, 31, 31, 31, 31, 31, 31,
57     32, 32, 32, 32, 32, 32, 32, 32,
58 };
59 
60 #ifdef __GNUC__
61 #ifndef __cplusplus
62 __attribute__((visibility("hidden")))
63 #endif
64 #endif
LumaInterpolationCopy16bit_SSE2(EB_U16 * refPic,EB_U32 srcStride,EB_U16 * dst,EB_U32 dstStride,EB_U32 puWidth,EB_U32 puHeight,EB_S16 * firstPassIFDst)65 void LumaInterpolationCopy16bit_SSE2(
66     EB_U16               *refPic,
67     EB_U32                srcStride,
68     EB_U16               *dst,
69     EB_U32                dstStride,
70     EB_U32                puWidth,
71     EB_U32                puHeight,
72     EB_S16               *firstPassIFDst)
73 {
74     (void)firstPassIFDst;
75     PictureCopyKernel_SSE2((EB_BYTE)refPic, srcStride*sizeof(EB_U16), (EB_BYTE)dst, dstStride*sizeof(EB_U16), puWidth*sizeof(EB_U16), puHeight);
76 }
77 
78 #ifdef __GNUC__
79 #ifndef __cplusplus
80 __attribute__((visibility("hidden")))
81 #endif
82 #endif
ChromaInterpolationCopy16bit_SSE2(EB_U16 * refPic,EB_U32 srcStride,EB_U16 * dst,EB_U32 dstStride,EB_U32 puWidth,EB_U32 puHeight,EB_S16 * firstPassIFDst,EB_U32 fracPosx,EB_U32 fracPosy)83 void ChromaInterpolationCopy16bit_SSE2(
84     EB_U16*               refPic,
85     EB_U32                srcStride,
86     EB_U16*               dst,
87     EB_U32                dstStride,
88     EB_U32                puWidth,
89     EB_U32                puHeight,
90     EB_S16                *firstPassIFDst,
91     EB_U32                fracPosx,
92     EB_U32                fracPosy)
93 {
94     (void)firstPassIFDst;
95     (void)fracPosx;
96     (void)fracPosy;
97     PictureCopyKernel_SSE2((EB_BYTE)refPic, srcStride*sizeof(EB_U16), (EB_BYTE)dst, dstStride*sizeof(EB_U16), puWidth*sizeof(EB_U16), puHeight);
98 }
99