/******************************************************************************
*
-* Copyright (c) 2019 Intel.
+* Copyright (c) 2020 Intel.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
/*!
\file xran_compression.h
- \brief External API for compading with the use BFP algorithm.
+ \brief External C-callable API for compression/decompression with the use BFP algorithm and Modulation compression
*/
#ifndef _XRAN_COMPRESSION_H_
int16_t numDataElements; /*!< number of elements in block process [UP: 24 i.e 12RE*2; CP: 16,32,64,128. i.e AntElm*2] */
int16_t compMethod; /*!< Compression method */
int16_t iqWidth; /*!< Bit size */
+ int16_t reMask; /*!< 12-bit RE mask representing 12REs in one RB */
+ int16_t csf; /*!< 1-bit constellation shift flag defined in section 5.4.7.4 */
+ uint16_t ScaleFactor; /*!< Scale factor as defined in section A.5*/
int32_t len; /*!< Length of input buffer in bytes */
};
int16_t numDataElements; /*!< number of elements in block process [UP: 24 i.e 12RE*2; CP: 16,32,64,128. i.e AntElm*2] */
int16_t compMethod; /*!< Compression method */
int16_t iqWidth; /*!< Bit size */
-
+ int16_t reMask; /*!< 12-bit RE mask representing 12REs in one RB */
+ int16_t csf; /*!< 1-bit constellation shift flag defined in section 5.4.7.4 */
+ uint16_t ScaleFactor; /*!< Scale factor as defined in section A.5*/
int32_t len; /*!< Length of input data. */
};
xranlib_compress_avx512(const struct xranlib_compress_request *request,
struct xranlib_compress_response *response);
int32_t
+xranlib_compress_avxsnc(const struct xranlib_compress_request *request,
+ struct xranlib_compress_response *response);
+int32_t
+xranlib_compress_bfw(const struct xranlib_compress_request *request,
+ struct xranlib_compress_response *response);
+int32_t
xranlib_compress_avx512_bfw(const struct xranlib_compress_request *request,
struct xranlib_compress_response *response);
+int32_t
+xranlib_compress_avxsnc_bfw(const struct xranlib_compress_request *request,
+ struct xranlib_compress_response *response);
//! @}
//! @{
int32_t
xranlib_decompress(const struct xranlib_decompress_request *request,
struct xranlib_decompress_response *response);
-
int32_t
xranlib_decompress_sse(const struct xranlib_decompress_request *request,
struct xranlib_decompress_response *response);
xranlib_decompress_avx512(const struct xranlib_decompress_request *request,
struct xranlib_decompress_response *response);
int32_t
+xranlib_decompress_avxsnc(const struct xranlib_decompress_request *request,
+ struct xranlib_decompress_response *response);
+int32_t
+xranlib_decompress_bfw(const struct xranlib_decompress_request *request,
+ struct xranlib_decompress_response *response);
+int32_t
xranlib_decompress_avx512_bfw(const struct xranlib_decompress_request *request,
struct xranlib_decompress_response *response);
+int32_t
+xranlib_decompress_avxsnc_bfw(const struct xranlib_decompress_request *request,
+ struct xranlib_decompress_response *response);
//! @}