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