o-du/phy
Intel O-RAN/X-RAN Generated Doxygen Documentation
xran_compression.h
Go to the documentation of this file.
1 /******************************************************************************
2 *
3 * Copyright (c) 2019 Intel.
4 *
5 * Licensed under the Apache License, Version 2.0 (the "License");
6 * you may not use this file except in compliance with the License.
7 * You may obtain a copy of the License at
8 *
9 * http://www.apache.org/licenses/LICENSE-2.0
10 *
11 * Unless required by applicable law or agreed to in writing, software
12 * distributed under the License is distributed on an "AS IS" BASIS,
13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 * See the License for the specific language governing permissions and
15 * limitations under the License.
16 *
17 *******************************************************************************/
18 
24 #ifndef _XRAN_COMPRESSION_H_
25 #define _XRAN_COMPRESSION_H_
26 
27 #include <stdint.h>
28 
29 #ifdef __cplusplus
30 extern "C" {
31 #endif
32 
38  int16_t *data_in;
39  int16_t numRBs;
40  int16_t compMethod;
41  int16_t iqWidth;
42  int32_t len;
43 };
44 
50  int8_t *data_out;
52  int32_t len;
53 };
54 
60  int8_t *data_in;
61  int16_t numRBs;
62  int16_t compMethod;
63  int16_t iqWidth;
65  int32_t len;
66 };
67 
73  int16_t *data_out;
75  int32_t len;
76 };
77 
85 int16_t
86 xranlib_companding_version(char *version, int buffer_size);
87 
89 
95 int
96 xranlib_compress(const struct xranlib_compress_request *request,
97  struct xranlib_compress_response *response);
98 
99 int xranlib_compress_sse(const struct xranlib_compress_request *request,
100  struct xranlib_compress_response *response);
101 int xranlib_compress_avx2(const struct xranlib_compress_request *request,
102  struct xranlib_compress_response *response);
103 int xranlib_compress_avx512(const struct xranlib_compress_request *request,
104  struct xranlib_compress_response *response);
105 int xranlib_compress_avx512_bfw(const struct xranlib_compress_request *request,
106  struct xranlib_compress_response *response);
108 
110 
116 int
117 xranlib_decompress(const struct xranlib_decompress_request *request,
118  struct xranlib_decompress_response *response);
119 
120 int xranlib_decompress_sse(const struct xranlib_decompress_request *request,
121  struct xranlib_decompress_response *response);
122 int xranlib_decompress_avx2(const struct xranlib_decompress_request *request,
123  struct xranlib_decompress_response *response);
124 int xranlib_decompress_avx512(const struct xranlib_decompress_request *request,
125  struct xranlib_decompress_response *response);
127 
128 #ifdef __cplusplus
129 }
130 #endif
131 
132 #endif /* _XRAN_COMPRESSION_H_ */
int16_t xranlib_companding_version(char *version, int buffer_size)
Report the version number for the xranlib_companding library.
int xranlib_decompress_avx512(const struct xranlib_decompress_request *request, struct xranlib_decompress_response *response)
Request structure containing pointer to data and its length.
int xranlib_compress(const struct xranlib_compress_request *request, struct xranlib_compress_response *response)
Compress functions - it converts a 16-bit linear PCM value to 8-bt A-law.
int xranlib_compress_avx512_bfw(const struct xranlib_compress_request *request, struct xranlib_compress_response *response)
Request structure containing pointer to data and its length.
int xranlib_decompress_avx2(const struct xranlib_decompress_request *request, struct xranlib_decompress_response *response)
int xranlib_compress_avx2(const struct xranlib_compress_request *request, struct xranlib_compress_response *response)
int xranlib_decompress_sse(const struct xranlib_decompress_request *request, struct xranlib_decompress_response *response)
int xranlib_compress_avx512(const struct xranlib_compress_request *request, struct xranlib_compress_response *response)
int xranlib_compress_sse(const struct xranlib_compress_request *request, struct xranlib_compress_response *response)
Response structure containing pointer to data and its length.
int xranlib_decompress(const struct xranlib_decompress_request *request, struct xranlib_decompress_response *response)
Decompress function - it converts an A-law value to 16-bit linear PCM.
Response structure containing pointer to data and its length.