X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?p=o-du%2Fphy.git;a=blobdiff_plain;f=fhi_lib%2Flib%2Fapi%2Fxran_compression.h;fp=fhi_lib%2Flib%2Fapi%2Fxran_compression.h;h=5dc088f4f52a3f8ce4326fcd7010978c445d0e27;hp=816acc0a32020b2b6c573c445bb5626fe4cae09c;hb=2de97529a4c5a1922214ba0e6f0fb84cacbd0bc7;hpb=81a09690b36b3a4e89b4dae34f30933de13f7f90 diff --git a/fhi_lib/lib/api/xran_compression.h b/fhi_lib/lib/api/xran_compression.h index 816acc0..5dc088f 100644 --- a/fhi_lib/lib/api/xran_compression.h +++ b/fhi_lib/lib/api/xran_compression.h @@ -1,6 +1,6 @@ /****************************************************************************** * -* 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. @@ -18,7 +18,7 @@ /*! \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_ @@ -40,6 +40,9 @@ struct xranlib_compress_request { 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 */ }; @@ -63,7 +66,9 @@ struct xranlib_decompress_request { 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. */ }; @@ -107,8 +112,17 @@ int32_t 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); //! @} //! @{ @@ -121,7 +135,6 @@ xranlib_compress_avx512_bfw(const struct xranlib_compress_request *request, 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); @@ -132,8 +145,17 @@ int32_t 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); //! @}