|
|
|
@ -27,23 +27,12 @@
|
|
|
|
|
#ifdef __cplusplus
|
|
|
|
|
extern "C" {
|
|
|
|
|
#endif
|
|
|
|
|
int ResizeBilinearInt8(const int8_t *input_data, int8_t *output_data, const int *input_shape, const int *output_shape,
|
|
|
|
|
const bool align_corners, QuantArg *quant_in, QuantArg *quant_out, const QuantMulArg *mul_arg,
|
|
|
|
|
int tid, int thread_num);
|
|
|
|
|
int ResizeBilinearInt8(const int8_t *input_ptr, int8_t *output_ptr, int batch, int in_h, int in_w, int out_h, int out_w,
|
|
|
|
|
int channel, int index, int count, ResizeQuantArg quant_arg);
|
|
|
|
|
|
|
|
|
|
int ResizeBilinearInt8WithFloatWeight(const int8_t *input_data, int8_t *output_data, const int *input_shape,
|
|
|
|
|
const int *output_shape, const bool align_corners, QuantArg *quant_in,
|
|
|
|
|
QuantArg *quant_out, const QuantMulArg *mul_arg, int tid, int thread_num);
|
|
|
|
|
|
|
|
|
|
void ComputeScale(const int32_t in_value, const int32_t out_value, const bool align_corners, int32_t *scale);
|
|
|
|
|
|
|
|
|
|
void ComputeInterpolationArgs(const int32_t pos, const int32_t scale, const int32_t size, int32_t *scaled_pos,
|
|
|
|
|
int32_t *low, int32_t *scaled_low_weight, int32_t *high, int32_t *scaled_high_weight);
|
|
|
|
|
|
|
|
|
|
int ComputeScaleFloat(const int32_t in_value, const int32_t out_value, const bool align_corners, float *scale);
|
|
|
|
|
|
|
|
|
|
void ComputeInterpolationArgsFloatWeight(const int32_t pos, const float scale, const int32_t size, float *actual_pos,
|
|
|
|
|
int32_t *low, float *low_weight, int32_t *high, float *high_weight);
|
|
|
|
|
int ResizeBilinearWithFloatScaleInt8(const int8_t *input_ptr, int8_t *output_ptr, int batch, int in_h, int in_w,
|
|
|
|
|
int out_h, int out_w, int channel, int index, int count,
|
|
|
|
|
ResizeFloatScaleQuantArg quant_arg);
|
|
|
|
|
|
|
|
|
|
int ResizeNearestNeighborInt8Simple(const int8_t *input_data, int8_t *output_data, const int *input_shape,
|
|
|
|
|
const int *output_shape, const bool align_corners, int tid, int thread_num);
|
|
|
|
|