blob: cdceeaffb6b166042e55ce2d5d97bdaa73163497 [file] [log] [blame]
Tim Hall79d07d22020-04-27 18:20:16 +01001/*
Rickard Bolinbc6ee582022-11-04 08:24:29 +00002 * SPDX-FileCopyrightText: Copyright 2020-2021 Arm Limited and/or its affiliates <open-source-office@arm.com>
Tim Hall79d07d22020-04-27 18:20:16 +01003 *
4 * SPDX-License-Identifier: Apache-2.0
5 *
6 * Licensed under the Apache License, Version 2.0 (the License); you may
7 * not use this file except in compliance with the License.
8 * You may obtain a copy of the License at
9 *
10 * www.apache.org/licenses/LICENSE-2.0
11 *
12 * Unless required by applicable law or agreed to in writing, software
13 * distributed under the License is distributed on an AS IS BASIS, WITHOUT
14 * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15 * See the License for the specific language governing permissions and
16 * limitations under the License.
17 */
18
19#include <stdint.h>
20
21#ifndef __MLW_ENCODE_H__
22#define __MLW_ENCODE_H__
23
24#ifdef _MSC_VER
25 #define EXPORTED __declspec(dllexport)
26#else
27 #define EXPORTED __attribute__((visibility("default")))
28#endif
29
30#if __cplusplus
31extern "C"
32{
33#endif
34
35EXPORTED
36int mlw_encode(int16_t *inbuf, int inbuf_size, uint8_t **outbuf, int verbose);
37
38EXPORTED
39void mlw_free_outbuf(uint8_t *outbuf);
40
Fredrik Svedberg93d5c352021-05-11 13:51:47 +020041EXPORTED
42int mlw_reorder_encode(
43 int ifm_ublock_depth,
44 int ofm_ublock_depth,
45 int ofm_depth,
46 int kernel_height,
47 int kernel_width,
48 int ifm_depth,
49 int* brick_strides,
Mauricio Briceno3e4168d2021-06-09 09:49:05 +020050 int16_t* inbuf,
Fredrik Svedberg93d5c352021-05-11 13:51:47 +020051 int ofm_block_depth,
52 int is_depthwise,
53 int is_partkernel,
54 int ifm_bitdepth,
55 int decomp_h,
56 int decomp_w,
57 uint8_t **outbuf,
58 int64_t* padded_length,
59 int verbose);
60
Tim Hall79d07d22020-04-27 18:20:16 +010061#if __cplusplus
62}
63#endif
64
65#endif