Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
magicwindyyd
mindspore
提交
f912b14b
M
mindspore
项目概览
magicwindyyd
/
mindspore
与 Fork 源项目一致
Fork自
MindSpore / mindspore
通知
1
Star
1
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
M
mindspore
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
提交
f912b14b
编写于
8月 18, 2020
作者:
M
mindspore-ci-bot
提交者:
Gitee
8月 18, 2020
浏览文件
操作
浏览文件
下载
差异文件
!4675 fix bug
Merge pull request !4675 from fuzhiye/tmp
上级
883957ac
127b089a
变更
9
隐藏空白更改
内联
并排
Showing
9 changed file
with
142 addition
and
131 deletion
+142
-131
mindspore/lite/src/runtime/kernel/arm/base/convolution_base.cc
...pore/lite/src/runtime/kernel/arm/base/convolution_base.cc
+12
-10
mindspore/lite/src/runtime/kernel/arm/fp16/convolution_fp16.cc
...pore/lite/src/runtime/kernel/arm/fp16/convolution_fp16.cc
+5
-0
mindspore/lite/src/runtime/kernel/arm/fp32/convolution.cc
mindspore/lite/src/runtime/kernel/arm/fp32/convolution.cc
+2
-2
mindspore/lite/src/runtime/kernel/arm/nnacl/fp16/winograd_transform_fp16.c
...c/runtime/kernel/arm/nnacl/fp16/winograd_transform_fp16.c
+6
-4
mindspore/lite/src/runtime/kernel/arm/nnacl/fp16/winograd_utils_fp16.c
...e/src/runtime/kernel/arm/nnacl/fp16/winograd_utils_fp16.c
+3
-3
mindspore/lite/src/runtime/kernel/arm/nnacl/int8/conv_int8.c
mindspore/lite/src/runtime/kernel/arm/nnacl/int8/conv_int8.c
+0
-1
mindspore/lite/src/runtime/kernel/arm/nnacl/pack.c
mindspore/lite/src/runtime/kernel/arm/nnacl/pack.c
+9
-8
mindspore/lite/src/runtime/kernel/arm/nnacl/winograd_transform.c
...re/lite/src/runtime/kernel/arm/nnacl/winograd_transform.c
+6
-4
mindspore/lite/src/runtime/kernel/arm/nnacl/winograd_utils.c
mindspore/lite/src/runtime/kernel/arm/nnacl/winograd_utils.c
+99
-99
未找到文件。
mindspore/lite/src/runtime/kernel/arm/base/convolution_base.cc
浏览文件 @
f912b14b
...
@@ -296,16 +296,6 @@ int ConvolutionBaseCPUKernel::SetQuantParam() {
...
@@ -296,16 +296,6 @@ int ConvolutionBaseCPUKernel::SetQuantParam() {
MS_LOG
(
ERROR
)
<<
"Set Output Tensor Quant Param Failed."
;
MS_LOG
(
ERROR
)
<<
"Set Output Tensor Quant Param Failed."
;
return
ret
;
return
ret
;
}
}
ret
=
SetQuantMultiplier
();
if
(
ret
!=
RET_OK
)
{
MS_LOG
(
ERROR
)
<<
"Set Quant Multiplier Failed."
;
return
ret
;
}
// now only consider per tensor for output
CalculateActivationRangeQuantized
(
conv_param_
->
is_relu_
,
conv_param_
->
is_relu6_
,
conv_param_
->
conv_quant_arg_
.
output_quant_args_
[
0
].
zp_
,
conv_param_
->
conv_quant_arg_
.
output_quant_args_
[
0
].
scale_
,
&
conv_param_
->
conv_quant_arg_
.
out_act_min_
[
0
],
&
conv_param_
->
conv_quant_arg_
.
out_act_max_
[
0
]);
ret
=
SetIfPerChannel
();
ret
=
SetIfPerChannel
();
if
(
ret
!=
RET_OK
)
{
if
(
ret
!=
RET_OK
)
{
...
@@ -317,6 +307,18 @@ int ConvolutionBaseCPUKernel::SetQuantParam() {
...
@@ -317,6 +307,18 @@ int ConvolutionBaseCPUKernel::SetQuantParam() {
MS_LOG
(
ERROR
)
<<
"Set if per asymmetric failed."
;
MS_LOG
(
ERROR
)
<<
"Set if per asymmetric failed."
;
return
ret
;
return
ret
;
}
}
ret
=
SetQuantMultiplier
();
if
(
ret
!=
RET_OK
)
{
MS_LOG
(
ERROR
)
<<
"Set Quant Multiplier Failed."
;
return
ret
;
}
// now only consider per tensor for output
CalculateActivationRangeQuantized
(
conv_param_
->
is_relu_
,
conv_param_
->
is_relu6_
,
conv_param_
->
conv_quant_arg_
.
output_quant_args_
[
0
].
zp_
,
conv_param_
->
conv_quant_arg_
.
output_quant_args_
[
0
].
scale_
,
&
conv_param_
->
conv_quant_arg_
.
out_act_min_
[
0
],
&
conv_param_
->
conv_quant_arg_
.
out_act_max_
[
0
]);
return
RET_OK
;
return
RET_OK
;
}
}
}
// namespace mindspore::kernel
}
// namespace mindspore::kernel
mindspore/lite/src/runtime/kernel/arm/fp16/convolution_fp16.cc
浏览文件 @
f912b14b
...
@@ -17,6 +17,7 @@
...
@@ -17,6 +17,7 @@
#include "src/runtime/kernel/arm/fp16/convolution_fp16.h"
#include "src/runtime/kernel/arm/fp16/convolution_fp16.h"
#include <vector>
#include <vector>
#include "src/runtime/kernel/arm/fp16/convolution_sw_fp16.h"
#include "src/runtime/kernel/arm/fp16/convolution_sw_fp16.h"
#include "src/runtime/kernel/arm/fp16/convolution_winograd_fp16.h"
#include "src/runtime/kernel/arm/fp16/convolution_3x3_fp16.h"
#include "src/runtime/kernel/arm/fp16/convolution_3x3_fp16.h"
#include "src/runtime/kernel/arm/fp16/convolution_1x1_fp16.h"
#include "src/runtime/kernel/arm/fp16/convolution_1x1_fp16.h"
#include "src/runtime/kernel/arm/nnacl/fp16/conv_fp16.h"
#include "src/runtime/kernel/arm/nnacl/fp16/conv_fp16.h"
...
@@ -243,6 +244,10 @@ kernel::LiteKernel *CpuConvFp16KernelCreator(const std::vector<lite::tensor::Ten
...
@@ -243,6 +244,10 @@ kernel::LiteKernel *CpuConvFp16KernelCreator(const std::vector<lite::tensor::Ten
InputTransformUnitFunc
input_trans_func
=
nullptr
;
InputTransformUnitFunc
input_trans_func
=
nullptr
;
OutputTransformUnitFunc
output_trans_func
=
nullptr
;
OutputTransformUnitFunc
output_trans_func
=
nullptr
;
CheckIfUseWinograd
(
&
use_winograd
,
&
out_unit
,
conv_param
,
input_trans_func
,
output_trans_func
);
CheckIfUseWinograd
(
&
use_winograd
,
&
out_unit
,
conv_param
,
input_trans_func
,
output_trans_func
);
if
(
use_winograd
)
{
kernel
=
new
(
std
::
nothrow
)
kernel
::
ConvolutionWinogradFP16CPUKernel
(
opParameter
,
inputs
,
outputs
,
ctx
,
primitive
,
out_unit
);
}
if
(
kernel_h
!=
1
&&
kernel_w
!=
1
&&
!
use_winograd
)
{
if
(
kernel_h
!=
1
&&
kernel_w
!=
1
&&
!
use_winograd
)
{
kernel
=
new
(
std
::
nothrow
)
kernel
::
ConvolutionFP16CPUKernel
(
opParameter
,
inputs
,
outputs
,
ctx
,
primitive
);
kernel
=
new
(
std
::
nothrow
)
kernel
::
ConvolutionFP16CPUKernel
(
opParameter
,
inputs
,
outputs
,
ctx
,
primitive
);
}
}
...
...
mindspore/lite/src/runtime/kernel/arm/fp32/convolution.cc
浏览文件 @
f912b14b
...
@@ -51,7 +51,7 @@ int ConvolutionCPUKernel::InitWeightBias() {
...
@@ -51,7 +51,7 @@ int ConvolutionCPUKernel::InitWeightBias() {
// #endif
// #endif
int
pack_weight_size
=
oc_block_num
*
oc_block
*
ic4
*
C4NUM
*
kernel_plane
;
int
pack_weight_size
=
oc_block_num
*
oc_block
*
ic4
*
C4NUM
*
kernel_plane
;
//
init weight
//
=====================init weight==========================//
auto
origin_weight
=
reinterpret_cast
<
float
*>
(
in_tensors_
.
at
(
kWeightIndex
)
->
Data
());
auto
origin_weight
=
reinterpret_cast
<
float
*>
(
in_tensors_
.
at
(
kWeightIndex
)
->
Data
());
packed_weight_
=
reinterpret_cast
<
float
*>
(
malloc
(
pack_weight_size
*
sizeof
(
float
)));
packed_weight_
=
reinterpret_cast
<
float
*>
(
malloc
(
pack_weight_size
*
sizeof
(
float
)));
if
(
packed_weight_
==
nullptr
)
{
if
(
packed_weight_
==
nullptr
)
{
...
@@ -61,7 +61,7 @@ int ConvolutionCPUKernel::InitWeightBias() {
...
@@ -61,7 +61,7 @@ int ConvolutionCPUKernel::InitWeightBias() {
memset
(
packed_weight_
,
0
,
pack_weight_size
*
sizeof
(
float
));
memset
(
packed_weight_
,
0
,
pack_weight_size
*
sizeof
(
float
));
PackWeightFp32
(
origin_weight
,
conv_param_
,
packed_weight_
,
oc_block
,
oc_block_num
);
PackWeightFp32
(
origin_weight
,
conv_param_
,
packed_weight_
,
oc_block
,
oc_block_num
);
//
init bias
//
=======================init bias==========================//
bias_data_
=
reinterpret_cast
<
float
*>
(
malloc
(
oc_block_num
*
oc_block
*
sizeof
(
float
)));
bias_data_
=
reinterpret_cast
<
float
*>
(
malloc
(
oc_block_num
*
oc_block
*
sizeof
(
float
)));
if
(
bias_data_
==
nullptr
)
{
if
(
bias_data_
==
nullptr
)
{
MS_LOG
(
ERROR
)
<<
"malloc bias failed."
;
MS_LOG
(
ERROR
)
<<
"malloc bias failed."
;
...
...
mindspore/lite/src/runtime/kernel/arm/nnacl/fp16/winograd_transform_fp16.c
浏览文件 @
f912b14b
...
@@ -633,7 +633,9 @@ void WinogradOutputTransformFp16(const float16_t *gemm_out, float16_t *tmp_out_d
...
@@ -633,7 +633,9 @@ void WinogradOutputTransformFp16(const float16_t *gemm_out, float16_t *tmp_out_d
OutputTransformUnitFp16Func
output_trans_func
)
{
OutputTransformUnitFp16Func
output_trans_func
)
{
int
output_unit
=
conv_param
->
output_unit_
;
int
output_unit
=
conv_param
->
output_unit_
;
int
output_w
=
conv_param
->
output_w_
;
int
output_w
=
conv_param
->
output_w_
;
int
output_unit_block
=
UP_DIV
(
output_w
,
output_unit
);
int
output_h
=
conv_param
->
output_h_
;
int
output_w_unit_block
=
UP_DIV
(
output_w
,
output_unit
);
int
output_h_unit_block
=
UP_DIV
(
output_h
,
output_unit
);
int
output_channel
=
conv_param
->
output_channel_
;
int
output_channel
=
conv_param
->
output_channel_
;
int
oc8
=
UP_DIV
(
output_channel
,
C8NUM
);
int
oc8
=
UP_DIV
(
output_channel
,
C8NUM
);
int
input_unit
=
conv_param
->
input_unit_
;
int
input_unit
=
conv_param
->
input_unit_
;
...
@@ -644,16 +646,16 @@ void WinogradOutputTransformFp16(const float16_t *gemm_out, float16_t *tmp_out_d
...
@@ -644,16 +646,16 @@ void WinogradOutputTransformFp16(const float16_t *gemm_out, float16_t *tmp_out_d
int
dst_x_s
=
out_tile_index
%
output_unit_num
;
int
dst_x_s
=
out_tile_index
%
output_unit_num
;
int
dst_y_s
=
out_tile_index
/
output_unit_num
;
int
dst_y_s
=
out_tile_index
/
output_unit_num
;
int
src_tile_offset
=
i
*
oc8
*
C8NUM
*
input_unit
*
input_unit
;
int
src_tile_offset
=
i
*
oc8
*
C8NUM
*
input_unit
*
input_unit
;
int
dst_tile_offset
=
C8NUM
*
output_unit
*
(
dst_x_s
+
dst_y_s
*
output_unit_block
*
output_unit
);
int
dst_tile_offset
=
C8NUM
*
output_unit
*
(
dst_x_s
+
dst_y_s
*
output_
w_
unit_block
*
output_unit
);
for
(
int
j
=
0
;
j
<
oc8
;
j
++
)
{
for
(
int
j
=
0
;
j
<
oc8
;
j
++
)
{
int
src_oc8_offset
=
src_tile_offset
+
j
*
input_unit
*
input_unit
*
C8NUM
;
int
src_oc8_offset
=
src_tile_offset
+
j
*
input_unit
*
input_unit
*
C8NUM
;
int
dst_oc8_offset
=
int
dst_oc8_offset
=
dst_tile_offset
+
j
*
C8NUM
*
output_
unit_block
*
output
_unit_block
*
output_unit
*
output_unit
;
dst_tile_offset
+
j
*
C8NUM
*
output_
h_unit_block
*
output_w
_unit_block
*
output_unit
*
output_unit
;
const
float16_t
*
src_ptr
=
gemm_out
+
src_oc8_offset
;
const
float16_t
*
src_ptr
=
gemm_out
+
src_oc8_offset
;
const
float16_t
*
bias_ptr
=
bias_data
+
j
*
C8NUM
;
const
float16_t
*
bias_ptr
=
bias_data
+
j
*
C8NUM
;
float16_t
*
dst_ptr
=
tmp_out_data
+
dst_oc8_offset
;
float16_t
*
dst_ptr
=
tmp_out_data
+
dst_oc8_offset
;
output_trans_func
(
src_ptr
,
dst_ptr
,
bias_ptr
,
C8NUM
,
output_unit_block
*
output_unit
);
output_trans_func
(
src_ptr
,
dst_ptr
,
bias_ptr
,
C8NUM
,
output_
w_
unit_block
*
output_unit
);
}
}
out_tile_index
++
;
out_tile_index
++
;
}
}
...
...
mindspore/lite/src/runtime/kernel/arm/nnacl/fp16/winograd_utils_fp16.c
浏览文件 @
f912b14b
...
@@ -1066,7 +1066,7 @@ void OutputTransform4x3UnitFp16(const float16_t *src_data, float16_t *dst_data,
...
@@ -1066,7 +1066,7 @@ void OutputTransform4x3UnitFp16(const float16_t *src_data, float16_t *dst_data,
const
float16_t
t10
=
0
.
5
f
*
(
src_data_10
-
src_data_20
);
const
float16_t
t10
=
0
.
5
f
*
(
src_data_10
-
src_data_20
);
const
float16_t
t11
=
0
.
5
f
*
(
src_data_11
-
src_data_21
);
const
float16_t
t11
=
0
.
5
f
*
(
src_data_11
-
src_data_21
);
const
float16_t
t12
=
0
.
5
f
*
(
src_data_12
-
src_data_22
);
const
float16_t
t12
=
0
.
5
f
*
(
src_data_12
-
src_data_22
);
const
const
float16_t
t13
=
0
.
5
f
*
(
src_data_13
-
src_data_23
);
const
float16_t
t13
=
0
.
5
f
*
(
src_data_13
-
src_data_23
);
const
float16_t
t20
=
0
.
25
f
*
(
src_data_10
+
src_data_20
)
+
src_data_30
;
const
float16_t
t20
=
0
.
25
f
*
(
src_data_10
+
src_data_20
)
+
src_data_30
;
const
float16_t
t21
=
0
.
25
f
*
(
src_data_11
+
src_data_21
)
+
src_data_31
;
const
float16_t
t21
=
0
.
25
f
*
(
src_data_11
+
src_data_21
)
+
src_data_31
;
...
@@ -2232,7 +2232,7 @@ void OutputTransform8x4UnitFp16(const float16_t *src_data, float16_t *dst_data,
...
@@ -2232,7 +2232,7 @@ void OutputTransform8x4UnitFp16(const float16_t *src_data, float16_t *dst_data,
const
float16_t
t24
=
0
.
25
f
*
d35
+
d45
+
2
.
25
f
*
d55
;
const
float16_t
t24
=
0
.
25
f
*
d35
+
d45
+
2
.
25
f
*
d55
;
const
float16_t
t25
=
0
.
25
f
*
d36
+
d46
+
2
.
25
f
*
d56
;
const
float16_t
t25
=
0
.
25
f
*
d36
+
d46
+
2
.
25
f
*
d56
;
const
float16_t
t26
=
0
.
25
f
*
d37
+
d47
+
2
.
25
f
*
d57
;
const
float16_t
t26
=
0
.
25
f
*
d37
+
d47
+
2
.
25
f
*
d57
;
const
const
float16_t
t27
=
0
.
25
f
*
d38
+
d48
+
2
.
25
f
*
d58
;
const
float16_t
t27
=
0
.
25
f
*
d38
+
d48
+
2
.
25
f
*
d58
;
const
float16_t
t30
=
0
.
125
f
*
d01
+
d11
+
3
.
375
f
*
d21
+
src_data_70
;
const
float16_t
t30
=
0
.
125
f
*
d01
+
d11
+
3
.
375
f
*
d21
+
src_data_70
;
const
float16_t
t31
=
0
.
125
f
*
d02
+
d12
+
3
.
375
f
*
d22
+
src_data_71
;
const
float16_t
t31
=
0
.
125
f
*
d02
+
d12
+
3
.
375
f
*
d22
+
src_data_71
;
...
@@ -3392,7 +3392,7 @@ void OutputTransform8x6UnitFp16(const float16_t *src_data, float16_t *dst_data,
...
@@ -3392,7 +3392,7 @@ void OutputTransform8x6UnitFp16(const float16_t *src_data, float16_t *dst_data,
const
float16_t
t52
=
0
.
03125
f
*
d03
+
d13
+
7
.
59375
f
*
d23
+
src_data_72
;
const
float16_t
t52
=
0
.
03125
f
*
d03
+
d13
+
7
.
59375
f
*
d23
+
src_data_72
;
const
float16_t
t53
=
0
.
03125
f
*
d04
+
d14
+
7
.
59375
f
*
d24
+
src_data_73
;
const
float16_t
t53
=
0
.
03125
f
*
d04
+
d14
+
7
.
59375
f
*
d24
+
src_data_73
;
const
float16_t
t54
=
0
.
03125
f
*
d05
+
d15
+
7
.
59375
f
*
d25
+
src_data_74
;
const
float16_t
t54
=
0
.
03125
f
*
d05
+
d15
+
7
.
59375
f
*
d25
+
src_data_74
;
const
const
float16_t
t55
=
0
.
03125
f
*
d06
+
d16
+
7
.
59375
f
*
d26
+
src_data_75
;
const
float16_t
t55
=
0
.
03125
f
*
d06
+
d16
+
7
.
59375
f
*
d26
+
src_data_75
;
const
float16_t
t56
=
0
.
03125
f
*
d07
+
d17
+
7
.
59375
f
*
d27
+
src_data_76
;
const
float16_t
t56
=
0
.
03125
f
*
d07
+
d17
+
7
.
59375
f
*
d27
+
src_data_76
;
const
float16_t
t57
=
0
.
03125
f
*
d08
+
d18
+
7
.
59375
f
*
d28
+
src_data_77
;
const
float16_t
t57
=
0
.
03125
f
*
d08
+
d18
+
7
.
59375
f
*
d28
+
src_data_77
;
...
...
mindspore/lite/src/runtime/kernel/arm/nnacl/int8/conv_int8.c
浏览文件 @
f912b14b
...
@@ -325,7 +325,6 @@ void ConvInt8Opt(int8_t *input_data, int8_t *packed_input, int8_t *packed_weight
...
@@ -325,7 +325,6 @@ void ConvInt8Opt(int8_t *input_data, int8_t *packed_input, int8_t *packed_weight
for
(
int
thread_id
=
task_id
;
thread_id
<
output_tile_count
;
thread_id
+=
thread_count
)
{
for
(
int
thread_id
=
task_id
;
thread_id
<
output_tile_count
;
thread_id
+=
thread_count
)
{
int
start_index
=
thread_id
*
tile_n
;
int
start_index
=
thread_id
*
tile_n
;
int
real_cal_num
=
(
output_count
-
start_index
)
<
tile_n
?
(
output_count
-
start_index
)
:
tile_n
;
int
real_cal_num
=
(
output_count
-
start_index
)
<
tile_n
?
(
output_count
-
start_index
)
:
tile_n
;
// todo
int32_t
*
tmp_input_sum
=
input_sum
+
task_id
*
tile_n
;
int32_t
*
tmp_input_sum
=
input_sum
+
task_id
*
tile_n
;
int8_t
*
gemm_input
=
packed_input
+
thread_id
*
unit_size
*
tile_n
+
gemm_in_batch_offset
;
int8_t
*
gemm_input
=
packed_input
+
thread_id
*
unit_size
*
tile_n
+
gemm_in_batch_offset
;
// clear tmp buffer before compute
// clear tmp buffer before compute
...
...
mindspore/lite/src/runtime/kernel/arm/nnacl/pack.c
浏览文件 @
f912b14b
...
@@ -295,12 +295,12 @@ void Im2ColPackUnitInt8(const int8_t *input_data, int8_t *packed_input, int real
...
@@ -295,12 +295,12 @@ void Im2ColPackUnitInt8(const int8_t *input_data, int8_t *packed_input, int real
}
// kernel_w loop
}
// kernel_w loop
}
// kernel_h loop
}
// kernel_h loop
if
(
!
(
conv_param
->
conv_quant_arg_
.
asymmetric_
&
FILTER_ASYMMETRIC
))
{
if
(
!
(
conv_param
->
conv_quant_arg_
.
asymmetric_
&
FILTER_ASYMMETRIC
))
{
return
;
continue
;
}
else
if
((
conv_param
->
conv_quant_arg_
.
asymmetric_
&
FILTER_ASYMMETRIC
)
&&
}
else
if
((
conv_param
->
conv_quant_arg_
.
asymmetric_
&
FILTER_ASYMMETRIC
)
&&
(
conv_param
->
conv_quant_arg_
.
per_channel_
&
FILTER_PER_CHANNEL
))
{
(
conv_param
->
conv_quant_arg_
.
per_channel_
&
FILTER_PER_CHANNEL
))
{
int
cal_num_offset
=
i
*
conv_param
->
output_channel_
;
int
cal_num_offset
=
i
*
conv_param
->
output_channel_
;
for
(
int
l
=
0
;
l
<
conv_param
->
output_channel_
;
++
l
)
{
for
(
int
l
=
0
;
l
<
conv_param
->
output_channel_
;
++
l
)
{
input_sum
[
cal_num_offset
+
l
]
=
input_accumulator
*
filter_arg
[
i
].
zp_
;
input_sum
[
cal_num_offset
+
l
]
=
input_accumulator
*
filter_arg
[
l
].
zp_
;
}
}
}
else
if
((
conv_param
->
conv_quant_arg_
.
asymmetric_
&
FILTER_ASYMMETRIC
)
&&
}
else
if
((
conv_param
->
conv_quant_arg_
.
asymmetric_
&
FILTER_ASYMMETRIC
)
&&
!
(
conv_param
->
conv_quant_arg_
.
per_channel_
&
FILTER_PER_CHANNEL
))
{
!
(
conv_param
->
conv_quant_arg_
.
per_channel_
&
FILTER_PER_CHANNEL
))
{
...
@@ -367,12 +367,12 @@ void Im2ColPackUnitInt8Opt(const int8_t *input_data, int8_t *packed_input, int r
...
@@ -367,12 +367,12 @@ void Im2ColPackUnitInt8Opt(const int8_t *input_data, int8_t *packed_input, int r
}
}
}
}
if
(
!
(
conv_param
->
conv_quant_arg_
.
asymmetric_
&
FILTER_ASYMMETRIC
))
{
if
(
!
(
conv_param
->
conv_quant_arg_
.
asymmetric_
&
FILTER_ASYMMETRIC
))
{
return
;
continue
;
}
else
if
((
conv_param
->
conv_quant_arg_
.
asymmetric_
&
FILTER_ASYMMETRIC
)
&&
}
else
if
((
conv_param
->
conv_quant_arg_
.
asymmetric_
&
FILTER_ASYMMETRIC
)
&&
(
conv_param
->
conv_quant_arg_
.
per_channel_
&
FILTER_PER_CHANNEL
))
{
(
conv_param
->
conv_quant_arg_
.
per_channel_
&
FILTER_PER_CHANNEL
))
{
int
cal_num_offset
=
i
*
conv_param
->
output_channel_
;
int
cal_num_offset
=
i
*
conv_param
->
output_channel_
;
for
(
int
l
=
0
;
l
<
conv_param
->
output_channel_
;
++
l
)
{
for
(
int
l
=
0
;
l
<
conv_param
->
output_channel_
;
++
l
)
{
input_sum
[
cal_num_offset
+
l
]
=
input_accumulator
*
filter_arg
[
i
].
zp_
;
input_sum
[
cal_num_offset
+
l
]
=
input_accumulator
*
filter_arg
[
l
].
zp_
;
}
}
}
else
if
((
conv_param
->
conv_quant_arg_
.
asymmetric_
&
FILTER_ASYMMETRIC
)
&&
}
else
if
((
conv_param
->
conv_quant_arg_
.
asymmetric_
&
FILTER_ASYMMETRIC
)
&&
!
(
conv_param
->
conv_quant_arg_
.
per_channel_
&
FILTER_PER_CHANNEL
))
{
!
(
conv_param
->
conv_quant_arg_
.
per_channel_
&
FILTER_PER_CHANNEL
))
{
...
@@ -870,8 +870,8 @@ void PackNHWCToNCHWFp32(const void *src, void *dst, int batches, int plane, int
...
@@ -870,8 +870,8 @@ void PackNHWCToNCHWFp32(const void *src, void *dst, int batches, int plane, int
int
c8
=
channel
/
C8NUM
*
C8NUM
;
int
c8
=
channel
/
C8NUM
*
C8NUM
;
int
batch
=
plane
*
channel
;
int
batch
=
plane
*
channel
;
for
(
int
n
=
0
;
n
<
batches
;
n
++
)
{
for
(
int
n
=
0
;
n
<
batches
;
n
++
)
{
const
float
*
src_batch
=
(
const
float
*
)
src
+
n
*
batch
;
const
float
*
src_batch
=
(
const
float
*
)
src
+
n
*
batch
;
float
*
dst_batch
=
(
float
*
)
dst
+
n
*
batch
;
float
*
dst_batch
=
(
float
*
)
dst
+
n
*
batch
;
int
hw
=
0
;
int
hw
=
0
;
for
(;
hw
<
hw8
;
hw
+=
C8NUM
)
{
for
(;
hw
<
hw8
;
hw
+=
C8NUM
)
{
int
c
=
0
;
int
c
=
0
;
...
@@ -947,9 +947,10 @@ void PackNHWCToNCHWFp32(const void *src, void *dst, int batches, int plane, int
...
@@ -947,9 +947,10 @@ void PackNHWCToNCHWFp32(const void *src, void *dst, int batches, int plane, int
"st1 {v30.4s, v31.4s}, [x11], %[dstStride]
\n
"
"st1 {v30.4s, v31.4s}, [x11], %[dstStride]
\n
"
:
:
:
[
dst_ptr
]
"r"
(
dst_ptr
),
[
src_ptr
]
"r"
(
src_ptr
),
[
srcStride
]
"r"
(
srcStride
),
[
dstStride
]
"r"
(
dstStride
)
:
[
dst_ptr
]
"r"
(
dst_ptr
),
[
src_ptr
]
"r"
(
src_ptr
),
[
srcStride
]
"r"
(
srcStride
),
[
dstStride
]
"r"
(
dstStride
)
:
"x10"
,
"x11"
,
"v0"
,
"v1"
,
"v2"
,
"v3"
,
"v4"
,
"v5"
,
"v6"
,
"v7"
,
"v8"
,
"v9"
,
"v10"
,
"v11"
,
"v12"
,
"v13"
,
"v14"
,
:
"x10"
,
"x11"
,
"v0"
,
"v1"
,
"v2"
,
"v3"
,
"v4"
,
"v5"
,
"v6"
,
"v7"
,
"v8"
,
"v9"
,
"v10"
,
"v11"
,
"v12"
,
"v13"
,
"v14"
,
"v15"
,
"v16"
,
"v17"
,
"v18"
,
"v19"
,
"v20"
,
"v21"
,
"v22"
,
"v23"
,
"v24"
,
"v25"
,
"v26"
,
"v27"
,
"v28"
,
"v29"
,
"v15"
,
"v16"
,
"v17"
,
"v18"
,
"v19"
,
"v20"
,
"v21"
,
"v22"
,
"v23"
,
"v24"
,
"v25"
,
"v26"
,
"v27"
,
"v28"
,
"v29"
,
"v30"
,
"v31"
);
"v30"
,
"v31"
);
#else
#else
for
(
int
tr
=
0
;
tr
<
C8NUM
;
tr
++
)
{
for
(
int
tr
=
0
;
tr
<
C8NUM
;
tr
++
)
{
...
...
mindspore/lite/src/runtime/kernel/arm/nnacl/winograd_transform.c
浏览文件 @
f912b14b
...
@@ -81,7 +81,9 @@ void WinogradOutputTransform(const float *gemm_out, float *tmp_out_data, const f
...
@@ -81,7 +81,9 @@ void WinogradOutputTransform(const float *gemm_out, float *tmp_out_data, const f
OutputTransformUnitFunc
output_trans_func
)
{
OutputTransformUnitFunc
output_trans_func
)
{
int
output_unit
=
conv_param
->
output_unit_
;
int
output_unit
=
conv_param
->
output_unit_
;
int
output_w
=
conv_param
->
output_w_
;
int
output_w
=
conv_param
->
output_w_
;
int
output_unit_block
=
UP_DIV
(
output_w
,
output_unit
);
int
output_h
=
conv_param
->
output_h_
;
int
output_w_unit_block
=
UP_DIV
(
output_w
,
output_unit
);
int
output_h_unit_block
=
UP_DIV
(
output_h
,
output_unit
);
int
output_channel
=
conv_param
->
output_channel_
;
int
output_channel
=
conv_param
->
output_channel_
;
int
oc4
=
UP_DIV
(
output_channel
,
C4NUM
);
int
oc4
=
UP_DIV
(
output_channel
,
C4NUM
);
int
input_unit
=
conv_param
->
input_unit_
;
int
input_unit
=
conv_param
->
input_unit_
;
...
@@ -92,16 +94,16 @@ void WinogradOutputTransform(const float *gemm_out, float *tmp_out_data, const f
...
@@ -92,16 +94,16 @@ void WinogradOutputTransform(const float *gemm_out, float *tmp_out_data, const f
int
dst_x_s
=
out_tile_index
%
output_unit_num
;
int
dst_x_s
=
out_tile_index
%
output_unit_num
;
int
dst_y_s
=
out_tile_index
/
output_unit_num
;
int
dst_y_s
=
out_tile_index
/
output_unit_num
;
int
src_tile_offset
=
i
*
oc4
*
C4NUM
*
input_unit
*
input_unit
;
int
src_tile_offset
=
i
*
oc4
*
C4NUM
*
input_unit
*
input_unit
;
int
dst_tile_offset
=
C4NUM
*
output_unit
*
(
dst_x_s
+
dst_y_s
*
output_unit_block
*
output_unit
);
int
dst_tile_offset
=
C4NUM
*
output_unit
*
(
dst_x_s
+
dst_y_s
*
output_
w_
unit_block
*
output_unit
);
for
(
int
j
=
0
;
j
<
oc4
;
j
++
)
{
for
(
int
j
=
0
;
j
<
oc4
;
j
++
)
{
int
src_oc4_offset
=
src_tile_offset
+
j
*
input_unit
*
input_unit
*
C4NUM
;
int
src_oc4_offset
=
src_tile_offset
+
j
*
input_unit
*
input_unit
*
C4NUM
;
int
dst_oc4_offset
=
int
dst_oc4_offset
=
dst_tile_offset
+
j
*
C4NUM
*
output_
unit_block
*
output
_unit_block
*
output_unit
*
output_unit
;
dst_tile_offset
+
j
*
C4NUM
*
output_
h_unit_block
*
output_w
_unit_block
*
output_unit
*
output_unit
;
const
float
*
src_ptr
=
gemm_out
+
src_oc4_offset
;
const
float
*
src_ptr
=
gemm_out
+
src_oc4_offset
;
const
float
*
bias_ptr
=
bias_data
+
j
*
C4NUM
;
const
float
*
bias_ptr
=
bias_data
+
j
*
C4NUM
;
float
*
dst_ptr
=
tmp_out_data
+
dst_oc4_offset
;
float
*
dst_ptr
=
tmp_out_data
+
dst_oc4_offset
;
output_trans_func
(
src_ptr
,
dst_ptr
,
bias_ptr
,
C4NUM
,
output_unit_block
*
output_unit
);
output_trans_func
(
src_ptr
,
dst_ptr
,
bias_ptr
,
C4NUM
,
output_
w_
unit_block
*
output_unit
);
}
}
out_tile_index
++
;
out_tile_index
++
;
}
}
...
...
mindspore/lite/src/runtime/kernel/arm/nnacl/winograd_utils.c
浏览文件 @
f912b14b
...
@@ -988,122 +988,122 @@ void InputTransform8x8Unit(const float *src_data, float *dst_data, int src_step,
...
@@ -988,122 +988,122 @@ void InputTransform8x8Unit(const float *src_data, float *dst_data, int src_step,
1
.
77777777777777778
f
*
src_data_67
;
1
.
77777777777777778
f
*
src_data_67
;
const
float
t10
=
1
.
5
f
*
src_data_10
+
3
.
0
f
*
src_data_20
-
2
.
1666666666666667
f
*
src_data_30
-
const
float
t10
=
1
.
5
f
*
src_data_10
+
3
.
0
f
*
src_data_20
-
2
.
1666666666666667
f
*
src_data_30
-
4
.
333333333333333333
f
*
src_data_40
+
0
.
66666666666666667
f
*
src_data_50
+
4
.
333333333333333333
f
*
src_data_40
+
0
.
66666666666666667
f
*
src_data_50
+
1
.
333333333333333
f
*
src_data_60
;
1
.
333333333333333
f
*
src_data_60
;
const
float
t11
=
1
.
5
f
*
src_data_11
+
3
.
0
f
*
src_data_21
-
2
.
1666666666666667
f
*
src_data_31
-
const
float
t11
=
1
.
5
f
*
src_data_11
+
3
.
0
f
*
src_data_21
-
2
.
1666666666666667
f
*
src_data_31
-
4
.
333333333333333333
f
*
src_data_41
+
0
.
66666666666666667
f
*
src_data_51
+
4
.
333333333333333333
f
*
src_data_41
+
0
.
66666666666666667
f
*
src_data_51
+
1
.
333333333333333
f
*
src_data_61
;
1
.
333333333333333
f
*
src_data_61
;
const
float
t12
=
1
.
5
f
*
src_data_12
+
3
.
0
f
*
src_data_22
-
2
.
1666666666666667
f
*
src_data_32
-
const
float
t12
=
1
.
5
f
*
src_data_12
+
3
.
0
f
*
src_data_22
-
2
.
1666666666666667
f
*
src_data_32
-
4
.
333333333333333333
f
*
src_data_42
+
0
.
66666666666666667
f
*
src_data_52
+
4
.
333333333333333333
f
*
src_data_42
+
0
.
66666666666666667
f
*
src_data_52
+
1
.
333333333333333
f
*
src_data_62
;
1
.
333333333333333
f
*
src_data_62
;
const
float
t13
=
1
.
5
f
*
src_data_13
+
3
.
0
f
*
src_data_23
-
2
.
1666666666666667
f
*
src_data_33
-
const
float
t13
=
1
.
5
f
*
src_data_13
+
3
.
0
f
*
src_data_23
-
2
.
1666666666666667
f
*
src_data_33
-
4
.
333333333333333333
f
*
src_data_43
+
0
.
66666666666666667
f
*
src_data_53
+
4
.
333333333333333333
f
*
src_data_43
+
0
.
66666666666666667
f
*
src_data_53
+
1
.
333333333333333
f
*
src_data_63
;
1
.
333333333333333
f
*
src_data_63
;
const
float
t14
=
1
.
5
f
*
src_data_14
+
3
.
0
f
*
src_data_24
-
2
.
1666666666666667
f
*
src_data_34
-
const
float
t14
=
1
.
5
f
*
src_data_14
+
3
.
0
f
*
src_data_24
-
2
.
1666666666666667
f
*
src_data_34
-
4
.
333333333333333333
f
*
src_data_44
+
0
.
66666666666666667
f
*
src_data_54
+
4
.
333333333333333333
f
*
src_data_44
+
0
.
66666666666666667
f
*
src_data_54
+
1
.
333333333333333
f
*
src_data_64
;
1
.
333333333333333
f
*
src_data_64
;
const
float
t15
=
1
.
5
f
*
src_data_15
+
3
.
0
f
*
src_data_25
-
2
.
1666666666666667
f
*
src_data_35
-
const
float
t15
=
1
.
5
f
*
src_data_15
+
3
.
0
f
*
src_data_25
-
2
.
1666666666666667
f
*
src_data_35
-
4
.
333333333333333333
f
*
src_data_45
+
0
.
66666666666666667
f
*
src_data_55
+
4
.
333333333333333333
f
*
src_data_45
+
0
.
66666666666666667
f
*
src_data_55
+
1
.
333333333333333
f
*
src_data_65
;
1
.
333333333333333
f
*
src_data_65
;
const
float
t16
=
1
.
5
f
*
src_data_16
+
3
.
0
f
*
src_data_26
-
2
.
1666666666666667
f
*
src_data_36
-
const
float
t16
=
1
.
5
f
*
src_data_16
+
3
.
0
f
*
src_data_26
-
2
.
1666666666666667
f
*
src_data_36
-
4
.
333333333333333333
f
*
src_data_46
+
0
.
66666666666666667
f
*
src_data_56
+
4
.
333333333333333333
f
*
src_data_46
+
0
.
66666666666666667
f
*
src_data_56
+
1
.
333333333333333
f
*
src_data_66
;
1
.
333333333333333
f
*
src_data_66
;
const
float
t17
=
1
.
5
f
*
src_data_17
+
3
.
0
f
*
src_data_27
-
2
.
1666666666666667
f
*
src_data_37
-
const
float
t17
=
1
.
5
f
*
src_data_17
+
3
.
0
f
*
src_data_27
-
2
.
1666666666666667
f
*
src_data_37
-
4
.
333333333333333333
f
*
src_data_47
+
0
.
66666666666666667
f
*
src_data_57
+
4
.
333333333333333333
f
*
src_data_47
+
0
.
66666666666666667
f
*
src_data_57
+
1
.
333333333333333
f
*
src_data_67
;
1
.
333333333333333
f
*
src_data_67
;
const
float
t20
=
-
1
.
5
f
*
src_data_10
+
3
.
0
f
*
src_data_20
+
2
.
1666666666666667
f
*
src_data_30
-
const
float
t20
=
-
1
.
5
f
*
src_data_10
+
3
.
0
f
*
src_data_20
+
2
.
1666666666666667
f
*
src_data_30
-
4
.
333333333333333333
f
*
src_data_40
-
0
.
66666666666666667
f
*
src_data_50
+
4
.
333333333333333333
f
*
src_data_40
-
0
.
66666666666666667
f
*
src_data_50
+
1
.
333333333333333
f
*
src_data_60
;
1
.
333333333333333
f
*
src_data_60
;
const
float
t21
=
-
1
.
5
f
*
src_data_11
+
3
.
0
f
*
src_data_21
+
2
.
1666666666666667
f
*
src_data_31
-
const
float
t21
=
-
1
.
5
f
*
src_data_11
+
3
.
0
f
*
src_data_21
+
2
.
1666666666666667
f
*
src_data_31
-
4
.
333333333333333333
f
*
src_data_41
-
0
.
66666666666666667
f
*
src_data_51
+
4
.
333333333333333333
f
*
src_data_41
-
0
.
66666666666666667
f
*
src_data_51
+
1
.
333333333333333
f
*
src_data_61
;
1
.
333333333333333
f
*
src_data_61
;
const
float
t22
=
-
1
.
5
f
*
src_data_12
+
3
.
0
f
*
src_data_22
+
2
.
1666666666666667
f
*
src_data_32
-
const
float
t22
=
-
1
.
5
f
*
src_data_12
+
3
.
0
f
*
src_data_22
+
2
.
1666666666666667
f
*
src_data_32
-
4
.
333333333333333333
f
*
src_data_42
-
0
.
66666666666666667
f
*
src_data_52
+
4
.
333333333333333333
f
*
src_data_42
-
0
.
66666666666666667
f
*
src_data_52
+
1
.
333333333333333
f
*
src_data_62
;
1
.
333333333333333
f
*
src_data_62
;
const
float
t23
=
-
1
.
5
f
*
src_data_13
+
3
.
0
f
*
src_data_23
+
2
.
1666666666666667
f
*
src_data_33
-
const
float
t23
=
-
1
.
5
f
*
src_data_13
+
3
.
0
f
*
src_data_23
+
2
.
1666666666666667
f
*
src_data_33
-
4
.
333333333333333333
f
*
src_data_43
-
0
.
66666666666666667
f
*
src_data_53
+
4
.
333333333333333333
f
*
src_data_43
-
0
.
66666666666666667
f
*
src_data_53
+
1
.
333333333333333
f
*
src_data_63
;
1
.
333333333333333
f
*
src_data_63
;
const
float
t24
=
-
1
.
5
f
*
src_data_14
+
3
.
0
f
*
src_data_24
+
2
.
1666666666666667
f
*
src_data_34
-
const
float
t24
=
-
1
.
5
f
*
src_data_14
+
3
.
0
f
*
src_data_24
+
2
.
1666666666666667
f
*
src_data_34
-
4
.
333333333333333333
f
*
src_data_44
-
0
.
66666666666666667
f
*
src_data_54
+
4
.
333333333333333333
f
*
src_data_44
-
0
.
66666666666666667
f
*
src_data_54
+
1
.
333333333333333
f
*
src_data_64
;
1
.
333333333333333
f
*
src_data_64
;
const
float
t25
=
-
1
.
5
f
*
src_data_15
+
3
.
0
f
*
src_data_25
+
2
.
1666666666666667
f
*
src_data_35
-
const
float
t25
=
-
1
.
5
f
*
src_data_15
+
3
.
0
f
*
src_data_25
+
2
.
1666666666666667
f
*
src_data_35
-
4
.
333333333333333333
f
*
src_data_45
-
0
.
66666666666666667
f
*
src_data_55
+
4
.
333333333333333333
f
*
src_data_45
-
0
.
66666666666666667
f
*
src_data_55
+
1
.
333333333333333
f
*
src_data_65
;
1
.
333333333333333
f
*
src_data_65
;
const
float
t26
=
-
1
.
5
f
*
src_data_16
+
3
.
0
f
*
src_data_26
+
2
.
1666666666666667
f
*
src_data_36
-
const
float
t26
=
-
1
.
5
f
*
src_data_16
+
3
.
0
f
*
src_data_26
+
2
.
1666666666666667
f
*
src_data_36
-
4
.
333333333333333333
f
*
src_data_46
-
0
.
66666666666666667
f
*
src_data_56
+
4
.
333333333333333333
f
*
src_data_46
-
0
.
66666666666666667
f
*
src_data_56
+
1
.
333333333333333
f
*
src_data_66
;
1
.
333333333333333
f
*
src_data_66
;
const
float
t27
=
-
1
.
5
f
*
src_data_17
+
3
.
0
f
*
src_data_27
+
2
.
1666666666666667
f
*
src_data_37
-
const
float
t27
=
-
1
.
5
f
*
src_data_17
+
3
.
0
f
*
src_data_27
+
2
.
1666666666666667
f
*
src_data_37
-
4
.
333333333333333333
f
*
src_data_47
-
0
.
66666666666666667
f
*
src_data_57
+
4
.
333333333333333333
f
*
src_data_47
-
0
.
66666666666666667
f
*
src_data_57
+
1
.
333333333333333
f
*
src_data_67
;
1
.
333333333333333
f
*
src_data_67
;
const
float
t30
=
-
0
.
3
f
*
(
src_data_10
+
src_data_20
)
+
1
.
33333333333333
f
*
(
src_data_30
+
src_data_40
)
-
const
float
t30
=
-
0
.
3
f
*
(
src_data_10
+
src_data_20
)
+
1
.
33333333333333
f
*
(
src_data_30
+
src_data_40
)
-
0
.
53333333333
f
*
(
src_data_50
+
src_data_60
);
0
.
53333333333
f
*
(
src_data_50
+
src_data_60
);
const
float
t31
=
-
0
.
3
f
*
(
src_data_11
+
src_data_21
)
+
1
.
33333333333333
f
*
(
src_data_31
+
src_data_41
)
-
const
float
t31
=
-
0
.
3
f
*
(
src_data_11
+
src_data_21
)
+
1
.
33333333333333
f
*
(
src_data_31
+
src_data_41
)
-
0
.
53333333333
f
*
(
src_data_51
+
src_data_61
);
0
.
53333333333
f
*
(
src_data_51
+
src_data_61
);
const
float
t32
=
-
0
.
3
f
*
(
src_data_12
+
src_data_22
)
+
1
.
33333333333333
f
*
(
src_data_32
+
src_data_42
)
-
const
float
t32
=
-
0
.
3
f
*
(
src_data_12
+
src_data_22
)
+
1
.
33333333333333
f
*
(
src_data_32
+
src_data_42
)
-
0
.
53333333333
f
*
(
src_data_52
+
src_data_62
);
0
.
53333333333
f
*
(
src_data_52
+
src_data_62
);
const
float
t33
=
-
0
.
3
f
*
(
src_data_13
+
src_data_23
)
+
1
.
33333333333333
f
*
(
src_data_33
+
src_data_43
)
-
const
float
t33
=
-
0
.
3
f
*
(
src_data_13
+
src_data_23
)
+
1
.
33333333333333
f
*
(
src_data_33
+
src_data_43
)
-
0
.
53333333333
f
*
(
src_data_53
+
src_data_63
);
0
.
53333333333
f
*
(
src_data_53
+
src_data_63
);
const
float
t34
=
-
0
.
3
f
*
(
src_data_14
+
src_data_24
)
+
1
.
33333333333333
f
*
(
src_data_34
+
src_data_44
)
-
const
float
t34
=
-
0
.
3
f
*
(
src_data_14
+
src_data_24
)
+
1
.
33333333333333
f
*
(
src_data_34
+
src_data_44
)
-
0
.
53333333333
f
*
(
src_data_54
+
src_data_64
);
0
.
53333333333
f
*
(
src_data_54
+
src_data_64
);
const
float
t35
=
-
0
.
3
f
*
(
src_data_15
+
src_data_25
)
+
1
.
33333333333333
f
*
(
src_data_35
+
src_data_45
)
-
const
float
t35
=
-
0
.
3
f
*
(
src_data_15
+
src_data_25
)
+
1
.
33333333333333
f
*
(
src_data_35
+
src_data_45
)
-
0
.
53333333333
f
*
(
src_data_55
+
src_data_65
);
0
.
53333333333
f
*
(
src_data_55
+
src_data_65
);
const
const
float
t36
=
-
0
.
3
f
*
(
src_data_16
+
src_data_26
)
+
1
.
33333333333333
f
*
(
src_data_36
+
src_data_46
)
-
const
float
t36
=
-
0
.
3
f
*
(
src_data_16
+
src_data_26
)
+
1
.
33333333333333
f
*
(
src_data_36
+
src_data_46
)
-
0
.
53333333333
f
*
(
src_data_56
+
src_data_66
);
0
.
53333333333
f
*
(
src_data_56
+
src_data_66
);
const
const
float
t37
=
-
0
.
3
f
*
(
src_data_17
+
src_data_27
)
+
1
.
33333333333333
f
*
(
src_data_37
+
src_data_47
)
-
const
float
t37
=
-
0
.
3
f
*
(
src_data_17
+
src_data_27
)
+
1
.
33333333333333
f
*
(
src_data_37
+
src_data_47
)
-
0
.
53333333333
f
*
(
src_data_57
+
src_data_67
);
0
.
53333333333
f
*
(
src_data_57
+
src_data_67
);
const
float
t40
=
0
.
3
f
*
(
src_data_10
-
src_data_20
)
+
1
.
33333333333333
f
*
(
src_data_40
-
src_data_30
)
+
const
float
t40
=
0
.
3
f
*
(
src_data_10
-
src_data_20
)
+
1
.
33333333333333
f
*
(
src_data_40
-
src_data_30
)
+
0
.
53333333333
f
*
(
src_data_50
-
src_data_60
);
0
.
53333333333
f
*
(
src_data_50
-
src_data_60
);
const
float
t41
=
0
.
3
f
*
(
src_data_11
-
src_data_21
)
+
1
.
33333333333333
f
*
(
src_data_41
-
src_data_31
)
+
const
float
t41
=
0
.
3
f
*
(
src_data_11
-
src_data_21
)
+
1
.
33333333333333
f
*
(
src_data_41
-
src_data_31
)
+
0
.
53333333333
f
*
(
src_data_51
-
src_data_61
);
0
.
53333333333
f
*
(
src_data_51
-
src_data_61
);
const
float
t42
=
0
.
3
f
*
(
src_data_12
-
src_data_22
)
+
1
.
33333333333333
f
*
(
src_data_42
-
src_data_32
)
+
const
float
t42
=
0
.
3
f
*
(
src_data_12
-
src_data_22
)
+
1
.
33333333333333
f
*
(
src_data_42
-
src_data_32
)
+
0
.
53333333333
f
*
(
src_data_52
-
src_data_62
);
0
.
53333333333
f
*
(
src_data_52
-
src_data_62
);
const
float
t43
=
0
.
3
f
*
(
src_data_13
-
src_data_23
)
+
1
.
33333333333333
f
*
(
src_data_43
-
src_data_33
)
+
const
float
t43
=
0
.
3
f
*
(
src_data_13
-
src_data_23
)
+
1
.
33333333333333
f
*
(
src_data_43
-
src_data_33
)
+
0
.
53333333333
f
*
(
src_data_53
-
src_data_63
);
0
.
53333333333
f
*
(
src_data_53
-
src_data_63
);
const
float
t44
=
0
.
3
f
*
(
src_data_14
-
src_data_24
)
+
1
.
33333333333333
f
*
(
src_data_44
-
src_data_34
)
+
const
float
t44
=
0
.
3
f
*
(
src_data_14
-
src_data_24
)
+
1
.
33333333333333
f
*
(
src_data_44
-
src_data_34
)
+
0
.
53333333333
f
*
(
src_data_54
-
src_data_64
);
0
.
53333333333
f
*
(
src_data_54
-
src_data_64
);
const
float
t45
=
0
.
3
f
*
(
src_data_15
-
src_data_25
)
+
1
.
33333333333333
f
*
(
src_data_45
-
src_data_35
)
+
const
float
t45
=
0
.
3
f
*
(
src_data_15
-
src_data_25
)
+
1
.
33333333333333
f
*
(
src_data_45
-
src_data_35
)
+
0
.
53333333333
f
*
(
src_data_55
-
src_data_65
);
0
.
53333333333
f
*
(
src_data_55
-
src_data_65
);
const
float
t46
=
0
.
3
f
*
(
src_data_16
-
src_data_26
)
+
1
.
33333333333333
f
*
(
src_data_46
-
src_data_36
)
+
const
float
t46
=
0
.
3
f
*
(
src_data_16
-
src_data_26
)
+
1
.
33333333333333
f
*
(
src_data_46
-
src_data_36
)
+
0
.
53333333333
f
*
(
src_data_56
-
src_data_66
);
0
.
53333333333
f
*
(
src_data_56
-
src_data_66
);
const
float
t47
=
0
.
3
f
*
(
src_data_17
-
src_data_27
)
+
1
.
33333333333333
f
*
(
src_data_47
-
src_data_37
)
+
const
float
t47
=
0
.
3
f
*
(
src_data_17
-
src_data_27
)
+
1
.
33333333333333
f
*
(
src_data_47
-
src_data_37
)
+
0
.
53333333333
f
*
(
src_data_57
-
src_data_67
);
0
.
53333333333
f
*
(
src_data_57
-
src_data_67
);
const
float
t50
=
0
.
0333333333
f
*
src_data_10
+
0
.
02222222
f
*
src_data_20
-
0
.
1666666666
f
*
src_data_30
-
const
float
t50
=
0
.
0333333333
f
*
src_data_10
+
0
.
02222222
f
*
src_data_20
-
0
.
1666666666
f
*
src_data_30
-
0
.
1111111111
f
*
src_data_40
+
0
.
1333333
f
*
src_data_50
+
0
.
0888888
f
*
src_data_60
;
0
.
1111111111
f
*
src_data_40
+
0
.
1333333
f
*
src_data_50
+
0
.
0888888
f
*
src_data_60
;
const
float
t51
=
0
.
0333333333
f
*
src_data_11
+
0
.
02222222
f
*
src_data_21
-
0
.
1666666666
f
*
src_data_31
-
const
float
t51
=
0
.
0333333333
f
*
src_data_11
+
0
.
02222222
f
*
src_data_21
-
0
.
1666666666
f
*
src_data_31
-
0
.
1111111111
f
*
src_data_41
+
0
.
1333333
f
*
src_data_51
+
0
.
0888888
f
*
src_data_61
;
0
.
1111111111
f
*
src_data_41
+
0
.
1333333
f
*
src_data_51
+
0
.
0888888
f
*
src_data_61
;
const
float
t52
=
0
.
0333333333
f
*
src_data_12
+
0
.
02222222
f
*
src_data_22
-
0
.
1666666666
f
*
src_data_32
-
const
float
t52
=
0
.
0333333333
f
*
src_data_12
+
0
.
02222222
f
*
src_data_22
-
0
.
1666666666
f
*
src_data_32
-
0
.
1111111111
f
*
src_data_42
+
0
.
1333333
f
*
src_data_52
+
0
.
0888888
f
*
src_data_62
;
0
.
1111111111
f
*
src_data_42
+
0
.
1333333
f
*
src_data_52
+
0
.
0888888
f
*
src_data_62
;
const
float
t53
=
0
.
0333333333
f
*
src_data_13
+
0
.
02222222
f
*
src_data_23
-
0
.
1666666666
f
*
src_data_33
-
const
float
t53
=
0
.
0333333333
f
*
src_data_13
+
0
.
02222222
f
*
src_data_23
-
0
.
1666666666
f
*
src_data_33
-
0
.
1111111111
f
*
src_data_43
+
0
.
1333333
f
*
src_data_53
+
0
.
0888888
f
*
src_data_63
;
0
.
1111111111
f
*
src_data_43
+
0
.
1333333
f
*
src_data_53
+
0
.
0888888
f
*
src_data_63
;
const
float
t54
=
0
.
0333333333
f
*
src_data_14
+
0
.
02222222
f
*
src_data_24
-
0
.
1666666666
f
*
src_data_34
-
const
float
t54
=
0
.
0333333333
f
*
src_data_14
+
0
.
02222222
f
*
src_data_24
-
0
.
1666666666
f
*
src_data_34
-
0
.
1111111111
f
*
src_data_44
+
0
.
1333333
f
*
src_data_54
+
0
.
0888888
f
*
src_data_64
;
0
.
1111111111
f
*
src_data_44
+
0
.
1333333
f
*
src_data_54
+
0
.
0888888
f
*
src_data_64
;
const
float
t55
=
0
.
0333333333
f
*
src_data_15
+
0
.
02222222
f
*
src_data_25
-
0
.
1666666666
f
*
src_data_35
-
const
float
t55
=
0
.
0333333333
f
*
src_data_15
+
0
.
02222222
f
*
src_data_25
-
0
.
1666666666
f
*
src_data_35
-
0
.
1111111111
f
*
src_data_45
+
0
.
1333333
f
*
src_data_55
+
0
.
0888888
f
*
src_data_65
;
0
.
1111111111
f
*
src_data_45
+
0
.
1333333
f
*
src_data_55
+
0
.
0888888
f
*
src_data_65
;
const
float
t56
=
0
.
0333333333
f
*
src_data_16
+
0
.
02222222
f
*
src_data_26
-
0
.
1666666666
f
*
src_data_36
-
const
float
t56
=
0
.
0333333333
f
*
src_data_16
+
0
.
02222222
f
*
src_data_26
-
0
.
1666666666
f
*
src_data_36
-
0
.
1111111111
f
*
src_data_46
+
0
.
1333333
f
*
src_data_56
+
0
.
0888888
f
*
src_data_66
;
0
.
1111111111
f
*
src_data_46
+
0
.
1333333
f
*
src_data_56
+
0
.
0888888
f
*
src_data_66
;
const
float
t57
=
0
.
0333333333
f
*
src_data_17
+
0
.
02222222
f
*
src_data_27
-
0
.
1666666666
f
*
src_data_37
-
const
float
t57
=
0
.
0333333333
f
*
src_data_17
+
0
.
02222222
f
*
src_data_27
-
0
.
1666666666
f
*
src_data_37
-
0
.
1111111111
f
*
src_data_47
+
0
.
1333333
f
*
src_data_57
+
0
.
0888888
f
*
src_data_67
;
0
.
1111111111
f
*
src_data_47
+
0
.
1333333
f
*
src_data_57
+
0
.
0888888
f
*
src_data_67
;
const
float
t60
=
-
0
.
0333333333
f
*
src_data_10
+
0
.
02222222
f
*
src_data_20
+
0
.
1666666666
f
*
src_data_30
-
const
float
t60
=
-
0
.
0333333333
f
*
src_data_10
+
0
.
02222222
f
*
src_data_20
+
0
.
1666666666
f
*
src_data_30
-
0
.
1111111111
f
*
src_data_40
-
0
.
1333333
f
*
src_data_50
+
0
.
0888888
f
*
src_data_60
;
0
.
1111111111
f
*
src_data_40
-
0
.
1333333
f
*
src_data_50
+
0
.
0888888
f
*
src_data_60
;
const
float
t61
=
-
0
.
0333333333
f
*
src_data_11
+
0
.
02222222
f
*
src_data_21
+
0
.
1666666666
f
*
src_data_31
-
const
float
t61
=
-
0
.
0333333333
f
*
src_data_11
+
0
.
02222222
f
*
src_data_21
+
0
.
1666666666
f
*
src_data_31
-
0
.
1111111111
f
*
src_data_41
-
0
.
1333333
f
*
src_data_51
+
0
.
0888888
f
*
src_data_61
;
0
.
1111111111
f
*
src_data_41
-
0
.
1333333
f
*
src_data_51
+
0
.
0888888
f
*
src_data_61
;
const
float
t62
=
-
0
.
0333333333
f
*
src_data_12
+
0
.
02222222
f
*
src_data_22
+
0
.
1666666666
f
*
src_data_32
-
const
float
t62
=
-
0
.
0333333333
f
*
src_data_12
+
0
.
02222222
f
*
src_data_22
+
0
.
1666666666
f
*
src_data_32
-
0
.
1111111111
f
*
src_data_42
-
0
.
1333333
f
*
src_data_52
+
0
.
0888888
f
*
src_data_62
;
0
.
1111111111
f
*
src_data_42
-
0
.
1333333
f
*
src_data_52
+
0
.
0888888
f
*
src_data_62
;
const
float
t63
=
-
0
.
0333333333
f
*
src_data_13
+
0
.
02222222
f
*
src_data_23
+
0
.
1666666666
f
*
src_data_33
-
const
float
t63
=
-
0
.
0333333333
f
*
src_data_13
+
0
.
02222222
f
*
src_data_23
+
0
.
1666666666
f
*
src_data_33
-
0
.
1111111111
f
*
src_data_43
-
0
.
1333333
f
*
src_data_53
+
0
.
0888888
f
*
src_data_63
;
0
.
1111111111
f
*
src_data_43
-
0
.
1333333
f
*
src_data_53
+
0
.
0888888
f
*
src_data_63
;
const
float
t64
=
-
0
.
0333333333
f
*
src_data_14
+
0
.
02222222
f
*
src_data_24
+
0
.
1666666666
f
*
src_data_34
-
const
float
t64
=
-
0
.
0333333333
f
*
src_data_14
+
0
.
02222222
f
*
src_data_24
+
0
.
1666666666
f
*
src_data_34
-
0
.
1111111111
f
*
src_data_44
-
0
.
1333333
f
*
src_data_54
+
0
.
0888888
f
*
src_data_64
;
0
.
1111111111
f
*
src_data_44
-
0
.
1333333
f
*
src_data_54
+
0
.
0888888
f
*
src_data_64
;
const
float
t65
=
-
0
.
0333333333
f
*
src_data_15
+
0
.
02222222
f
*
src_data_25
+
0
.
1666666666
f
*
src_data_35
-
const
float
t65
=
-
0
.
0333333333
f
*
src_data_15
+
0
.
02222222
f
*
src_data_25
+
0
.
1666666666
f
*
src_data_35
-
0
.
1111111111
f
*
src_data_45
-
0
.
1333333
f
*
src_data_55
+
0
.
0888888
f
*
src_data_65
;
0
.
1111111111
f
*
src_data_45
-
0
.
1333333
f
*
src_data_55
+
0
.
0888888
f
*
src_data_65
;
const
float
t66
=
-
0
.
0333333333
f
*
src_data_16
+
0
.
02222222
f
*
src_data_26
+
0
.
1666666666
f
*
src_data_36
-
const
float
t66
=
-
0
.
0333333333
f
*
src_data_16
+
0
.
02222222
f
*
src_data_26
+
0
.
1666666666
f
*
src_data_36
-
0
.
1111111111
f
*
src_data_46
-
0
.
1333333
f
*
src_data_56
+
0
.
0888888
f
*
src_data_66
;
0
.
1111111111
f
*
src_data_46
-
0
.
1333333
f
*
src_data_56
+
0
.
0888888
f
*
src_data_66
;
const
float
t67
=
-
0
.
0333333333
f
*
src_data_17
+
0
.
02222222
f
*
src_data_27
+
0
.
1666666666
f
*
src_data_37
-
const
float
t67
=
-
0
.
0333333333
f
*
src_data_17
+
0
.
02222222
f
*
src_data_27
+
0
.
1666666666
f
*
src_data_37
-
0
.
1111111111
f
*
src_data_47
-
0
.
1333333
f
*
src_data_57
+
0
.
0888888
f
*
src_data_67
;
0
.
1111111111
f
*
src_data_47
-
0
.
1333333
f
*
src_data_57
+
0
.
0888888
f
*
src_data_67
;
const
float
t70
=
-
0
.
5625
f
*
src_data_10
+
3
.
0625
f
*
src_data_30
-
3
.
5
f
*
src_data_50
+
src_data_70
;
const
float
t70
=
-
0
.
5625
f
*
src_data_10
+
3
.
0625
f
*
src_data_30
-
3
.
5
f
*
src_data_50
+
src_data_70
;
const
float
t71
=
-
0
.
5625
f
*
src_data_11
+
3
.
0625
f
*
src_data_31
-
3
.
5
f
*
src_data_51
+
src_data_71
;
const
float
t71
=
-
0
.
5625
f
*
src_data_11
+
3
.
0625
f
*
src_data_31
-
3
.
5
f
*
src_data_51
+
src_data_71
;
...
@@ -1114,111 +1114,111 @@ void InputTransform8x8Unit(const float *src_data, float *dst_data, int src_step,
...
@@ -1114,111 +1114,111 @@ void InputTransform8x8Unit(const float *src_data, float *dst_data, int src_step,
const
float
t76
=
-
0
.
5625
f
*
src_data_16
+
3
.
0625
f
*
src_data_36
-
3
.
5
f
*
src_data_56
+
src_data_76
;
const
float
t76
=
-
0
.
5625
f
*
src_data_16
+
3
.
0625
f
*
src_data_36
-
3
.
5
f
*
src_data_56
+
src_data_76
;
const
float
t77
=
-
0
.
5625
f
*
src_data_17
+
3
.
0625
f
*
src_data_37
-
3
.
5
f
*
src_data_57
+
src_data_77
;
const
float
t77
=
-
0
.
5625
f
*
src_data_17
+
3
.
0625
f
*
src_data_37
-
3
.
5
f
*
src_data_57
+
src_data_77
;
const
float
m00
=
t00
-
5
.
444444444444444445125
f
*
t02
+
6
.
222222222222222222223
f
*
t04
-
const
float
m00
=
1
.
77777777777777778
f
*
t06
;
t00
-
5
.
444444444444444445125
f
*
t02
+
6
.
222222222222222222223
f
*
t04
-
1
.
77777777777777778
f
*
t06
;
const
float
m01
=
1
.
5
f
*
t01
+
3
.
0
f
*
t02
-
2
.
1666666666666667
f
*
t03
-
4
.
333333333333333333
f
*
t04
+
const
float
m01
=
1
.
5
f
*
t01
+
3
.
0
f
*
t02
-
2
.
1666666666666667
f
*
t03
-
4
.
333333333333333333
f
*
t04
+
0
.
66666666666666667
f
*
t05
+
1
.
333333333333333
f
*
t06
;
0
.
66666666666666667
f
*
t05
+
1
.
333333333333333
f
*
t06
;
const
float
m02
=
-
1
.
5
f
*
t01
+
3
.
0
f
*
t02
+
2
.
1666666666666667
f
*
t03
-
4
.
333333333333333333
f
*
t04
-
const
float
m02
=
-
1
.
5
f
*
t01
+
3
.
0
f
*
t02
+
2
.
1666666666666667
f
*
t03
-
4
.
333333333333333333
f
*
t04
-
0
.
66666666666666667
f
*
t05
+
1
.
333333333333333
f
*
t06
;
0
.
66666666666666667
f
*
t05
+
1
.
333333333333333
f
*
t06
;
const
float
m03
=
-
0
.
3
f
*
(
t01
+
t02
)
+
1
.
33333333333333
f
*
(
t03
+
t04
)
-
0
.
53333333333
f
*
(
t05
+
t06
);
const
float
m03
=
-
0
.
3
f
*
(
t01
+
t02
)
+
1
.
33333333333333
f
*
(
t03
+
t04
)
-
0
.
53333333333
f
*
(
t05
+
t06
);
const
float
m04
=
0
.
3
f
*
(
t01
-
t02
)
+
1
.
33333333333333
f
*
(
t04
-
t03
)
+
0
.
53333333333
f
*
(
t05
-
t06
);
const
float
m04
=
0
.
3
f
*
(
t01
-
t02
)
+
1
.
33333333333333
f
*
(
t04
-
t03
)
+
0
.
53333333333
f
*
(
t05
-
t06
);
const
float
m05
=
0
.
0333333333
f
*
t01
+
0
.
02222222
f
*
t02
-
0
.
1666666666
f
*
t03
-
0
.
1111111111
f
*
t04
+
const
float
m05
=
0
.
0333333333
f
*
t01
+
0
.
02222222
f
*
t02
-
0
.
1666666666
f
*
t03
-
0
.
1111111111
f
*
t04
+
0
.
1333333
f
*
t05
+
0
.
0888888
f
*
t06
;
0
.
1333333
f
*
t05
+
0
.
0888888
f
*
t06
;
const
float
m06
=
-
0
.
0333333333
f
*
t01
+
0
.
02222222
f
*
t02
+
0
.
1666666666
f
*
t03
-
0
.
1111111111
f
*
t04
-
const
float
m06
=
-
0
.
0333333333
f
*
t01
+
0
.
02222222
f
*
t02
+
0
.
1666666666
f
*
t03
-
0
.
1111111111
f
*
t04
-
0
.
1333333
f
*
t05
+
0
.
0888888
f
*
t06
;
0
.
1333333
f
*
t05
+
0
.
0888888
f
*
t06
;
const
float
m07
=
-
0
.
5625
f
*
t01
+
3
.
0625
f
*
t03
-
3
.
5
f
*
t05
+
t07
;
const
float
m07
=
-
0
.
5625
f
*
t01
+
3
.
0625
f
*
t03
-
3
.
5
f
*
t05
+
t07
;
float
m10
=
t10
-
5
.
444444444444444445125
f
*
t12
+
6
.
222222222222222222223
f
*
t14
-
1
.
77777777777777778
f
*
t16
;
float
m10
=
t10
-
5
.
444444444444444445125
f
*
t12
+
6
.
222222222222222222223
f
*
t14
-
1
.
77777777777777778
f
*
t16
;
const
float
m11
=
1
.
5
f
*
t11
+
3
.
0
f
*
t12
-
2
.
1666666666666667
f
*
t13
-
4
.
333333333333333333
f
*
t14
+
const
float
m11
=
1
.
5
f
*
t11
+
3
.
0
f
*
t12
-
2
.
1666666666666667
f
*
t13
-
4
.
333333333333333333
f
*
t14
+
0
.
66666666666666667
f
*
t15
+
1
.
333333333333333
f
*
t16
;
0
.
66666666666666667
f
*
t15
+
1
.
333333333333333
f
*
t16
;
const
float
m12
=
-
1
.
5
f
*
t11
+
3
.
0
f
*
t12
+
2
.
1666666666666667
f
*
t13
-
4
.
333333333333333333
f
*
t14
-
const
float
m12
=
-
1
.
5
f
*
t11
+
3
.
0
f
*
t12
+
2
.
1666666666666667
f
*
t13
-
4
.
333333333333333333
f
*
t14
-
0
.
66666666666666667
f
*
t15
+
1
.
333333333333333
f
*
t16
;
0
.
66666666666666667
f
*
t15
+
1
.
333333333333333
f
*
t16
;
const
float
m13
=
-
0
.
3
f
*
(
t11
+
t12
)
+
1
.
33333333333333
f
*
(
t13
+
t14
)
-
0
.
53333333333
f
*
(
t15
+
t16
);
const
float
m13
=
-
0
.
3
f
*
(
t11
+
t12
)
+
1
.
33333333333333
f
*
(
t13
+
t14
)
-
0
.
53333333333
f
*
(
t15
+
t16
);
const
float
m14
=
0
.
3
f
*
(
t11
-
t12
)
+
1
.
33333333333333
f
*
(
t14
-
t13
)
+
0
.
53333333333
f
*
(
t15
-
t16
);
const
float
m14
=
0
.
3
f
*
(
t11
-
t12
)
+
1
.
33333333333333
f
*
(
t14
-
t13
)
+
0
.
53333333333
f
*
(
t15
-
t16
);
const
float
m15
=
0
.
0333333333
f
*
t11
+
0
.
02222222
f
*
t12
-
0
.
1666666666
f
*
t13
-
0
.
1111111111
f
*
t14
+
const
float
m15
=
0
.
0333333333
f
*
t11
+
0
.
02222222
f
*
t12
-
0
.
1666666666
f
*
t13
-
0
.
1111111111
f
*
t14
+
0
.
1333333
f
*
t15
+
0
.
0888888
f
*
t16
;
0
.
1333333
f
*
t15
+
0
.
0888888
f
*
t16
;
const
float
m16
=
-
0
.
0333333333
f
*
t11
+
0
.
02222222
f
*
t12
+
0
.
1666666666
f
*
t13
-
0
.
1111111111
f
*
t14
-
const
float
m16
=
-
0
.
0333333333
f
*
t11
+
0
.
02222222
f
*
t12
+
0
.
1666666666
f
*
t13
-
0
.
1111111111
f
*
t14
-
0
.
1333333
f
*
t15
+
0
.
0888888
f
*
t16
;
0
.
1333333
f
*
t15
+
0
.
0888888
f
*
t16
;
const
float
m17
=
-
0
.
5625
f
*
t11
+
3
.
0625
f
*
t13
-
3
.
5
f
*
t15
+
t17
;
const
float
m17
=
-
0
.
5625
f
*
t11
+
3
.
0625
f
*
t13
-
3
.
5
f
*
t15
+
t17
;
const
float
m20
=
t20
-
5
.
444444444444444445125
f
*
t22
+
6
.
222222222222222222223
f
*
t24
-
const
float
m20
=
1
.
77777777777777778
f
*
t26
;
t20
-
5
.
444444444444444445125
f
*
t22
+
6
.
222222222222222222223
f
*
t24
-
1
.
77777777777777778
f
*
t26
;
const
float
m21
=
1
.
5
f
*
t21
+
3
.
0
f
*
t22
-
2
.
1666666666666667
f
*
t23
-
4
.
333333333333333333
f
*
t24
+
const
float
m21
=
1
.
5
f
*
t21
+
3
.
0
f
*
t22
-
2
.
1666666666666667
f
*
t23
-
4
.
333333333333333333
f
*
t24
+
0
.
66666666666666667
f
*
t25
+
1
.
333333333333333
f
*
t26
;
0
.
66666666666666667
f
*
t25
+
1
.
333333333333333
f
*
t26
;
const
float
m22
=
-
1
.
5
f
*
t21
+
3
.
0
f
*
t22
+
2
.
1666666666666667
f
*
t23
-
4
.
333333333333333333
f
*
t24
-
const
float
m22
=
-
1
.
5
f
*
t21
+
3
.
0
f
*
t22
+
2
.
1666666666666667
f
*
t23
-
4
.
333333333333333333
f
*
t24
-
0
.
66666666666666667
f
*
t25
+
1
.
333333333333333
f
*
t26
;
0
.
66666666666666667
f
*
t25
+
1
.
333333333333333
f
*
t26
;
const
float
m23
=
-
0
.
3
f
*
(
t21
+
t22
)
+
1
.
33333333333333
f
*
(
t23
+
t24
)
-
0
.
53333333333
f
*
(
t25
+
t26
);
const
float
m23
=
-
0
.
3
f
*
(
t21
+
t22
)
+
1
.
33333333333333
f
*
(
t23
+
t24
)
-
0
.
53333333333
f
*
(
t25
+
t26
);
const
float
m24
=
0
.
3
f
*
(
t21
-
t22
)
+
1
.
33333333333333
f
*
(
t24
-
t23
)
+
0
.
53333333333
f
*
(
t25
-
t26
);
const
float
m24
=
0
.
3
f
*
(
t21
-
t22
)
+
1
.
33333333333333
f
*
(
t24
-
t23
)
+
0
.
53333333333
f
*
(
t25
-
t26
);
const
float
m25
=
0
.
0333333333
f
*
t21
+
0
.
02222222
f
*
t22
-
0
.
1666666666
f
*
t23
-
0
.
1111111111
f
*
t24
+
const
float
m25
=
0
.
0333333333
f
*
t21
+
0
.
02222222
f
*
t22
-
0
.
1666666666
f
*
t23
-
0
.
1111111111
f
*
t24
+
0
.
1333333
f
*
t25
+
0
.
0888888
f
*
t26
;
0
.
1333333
f
*
t25
+
0
.
0888888
f
*
t26
;
const
float
m26
=
-
0
.
0333333333
f
*
t21
+
0
.
02222222
f
*
t22
+
0
.
1666666666
f
*
t23
-
0
.
1111111111
f
*
t24
-
const
float
m26
=
-
0
.
0333333333
f
*
t21
+
0
.
02222222
f
*
t22
+
0
.
1666666666
f
*
t23
-
0
.
1111111111
f
*
t24
-
0
.
1333333
f
*
t25
+
0
.
0888888
f
*
t26
;
0
.
1333333
f
*
t25
+
0
.
0888888
f
*
t26
;
const
float
m27
=
-
0
.
5625
f
*
t21
+
3
.
0625
f
*
t23
-
3
.
5
f
*
t25
+
t27
;
const
float
m27
=
-
0
.
5625
f
*
t21
+
3
.
0625
f
*
t23
-
3
.
5
f
*
t25
+
t27
;
float
m30
=
t30
-
5
.
444444444444444445125
f
*
t32
+
6
.
222222222222222222223
f
*
t34
-
1
.
77777777777777778
f
*
t36
;
float
m30
=
t30
-
5
.
444444444444444445125
f
*
t32
+
6
.
222222222222222222223
f
*
t34
-
1
.
77777777777777778
f
*
t36
;
const
float
m31
=
1
.
5
f
*
t31
+
3
.
0
f
*
t32
-
2
.
1666666666666667
f
*
t33
-
4
.
333333333333333333
f
*
t34
+
const
float
m31
=
1
.
5
f
*
t31
+
3
.
0
f
*
t32
-
2
.
1666666666666667
f
*
t33
-
4
.
333333333333333333
f
*
t34
+
0
.
66666666666666667
f
*
t35
+
1
.
333333333333333
f
*
t36
;
0
.
66666666666666667
f
*
t35
+
1
.
333333333333333
f
*
t36
;
const
float
m32
=
-
1
.
5
f
*
t31
+
3
.
0
f
*
t32
+
2
.
1666666666666667
f
*
t33
-
4
.
333333333333333333
f
*
t34
-
const
float
m32
=
-
1
.
5
f
*
t31
+
3
.
0
f
*
t32
+
2
.
1666666666666667
f
*
t33
-
4
.
333333333333333333
f
*
t34
-
0
.
66666666666666667
f
*
t35
+
1
.
333333333333333
f
*
t36
;
0
.
66666666666666667
f
*
t35
+
1
.
333333333333333
f
*
t36
;
const
float
m33
=
-
0
.
3
f
*
(
t31
+
t32
)
+
1
.
33333333333333
f
*
(
t33
+
t34
)
-
0
.
53333333333
f
*
(
t35
+
t36
);
const
float
m33
=
-
0
.
3
f
*
(
t31
+
t32
)
+
1
.
33333333333333
f
*
(
t33
+
t34
)
-
0
.
53333333333
f
*
(
t35
+
t36
);
const
float
m34
=
0
.
3
f
*
(
t31
-
t32
)
+
1
.
33333333333333
f
*
(
t34
-
t33
)
+
0
.
53333333333
f
*
(
t35
-
t36
);
const
float
m34
=
0
.
3
f
*
(
t31
-
t32
)
+
1
.
33333333333333
f
*
(
t34
-
t33
)
+
0
.
53333333333
f
*
(
t35
-
t36
);
const
float
m35
=
0
.
0333333333
f
*
t31
+
0
.
02222222
f
*
t32
-
0
.
1666666666
f
*
t33
-
0
.
1111111111
f
*
t34
+
const
float
m35
=
0
.
0333333333
f
*
t31
+
0
.
02222222
f
*
t32
-
0
.
1666666666
f
*
t33
-
0
.
1111111111
f
*
t34
+
0
.
1333333
f
*
t35
+
0
.
0888888
f
*
t36
;
0
.
1333333
f
*
t35
+
0
.
0888888
f
*
t36
;
const
float
m36
=
-
0
.
0333333333
f
*
t31
+
0
.
02222222
f
*
t32
+
0
.
1666666666
f
*
t33
-
0
.
1111111111
f
*
t34
-
const
float
m36
=
-
0
.
0333333333
f
*
t31
+
0
.
02222222
f
*
t32
+
0
.
1666666666
f
*
t33
-
0
.
1111111111
f
*
t34
-
0
.
1333333
f
*
t35
+
0
.
0888888
f
*
t36
;
0
.
1333333
f
*
t35
+
0
.
0888888
f
*
t36
;
const
float
m37
=
-
0
.
5625
f
*
t31
+
3
.
0625
f
*
t33
-
3
.
5
f
*
t35
+
t37
;
const
float
m37
=
-
0
.
5625
f
*
t31
+
3
.
0625
f
*
t33
-
3
.
5
f
*
t35
+
t37
;
const
float
m40
=
t40
-
5
.
444444444444444445125
f
*
t42
+
6
.
222222222222222222223
f
*
t44
-
const
float
m40
=
1
.
77777777777777778
f
*
t46
;
t40
-
5
.
444444444444444445125
f
*
t42
+
6
.
222222222222222222223
f
*
t44
-
1
.
77777777777777778
f
*
t46
;
const
float
m41
=
1
.
5
f
*
t41
+
3
.
0
f
*
t42
-
2
.
1666666666666667
f
*
t43
-
4
.
333333333333333333
f
*
t44
+
const
float
m41
=
1
.
5
f
*
t41
+
3
.
0
f
*
t42
-
2
.
1666666666666667
f
*
t43
-
4
.
333333333333333333
f
*
t44
+
0
.
66666666666666667
f
*
t45
+
1
.
333333333333333
f
*
t46
;
0
.
66666666666666667
f
*
t45
+
1
.
333333333333333
f
*
t46
;
const
float
m42
=
-
1
.
5
f
*
t41
+
3
.
0
f
*
t42
+
2
.
1666666666666667
f
*
t43
-
4
.
333333333333333333
f
*
t44
-
const
float
m42
=
-
1
.
5
f
*
t41
+
3
.
0
f
*
t42
+
2
.
1666666666666667
f
*
t43
-
4
.
333333333333333333
f
*
t44
-
0
.
66666666666666667
f
*
t45
+
1
.
333333333333333
f
*
t46
;
0
.
66666666666666667
f
*
t45
+
1
.
333333333333333
f
*
t46
;
const
float
m43
=
-
0
.
3
f
*
(
t41
+
t42
)
+
1
.
33333333333333
f
*
(
t43
+
t44
)
-
0
.
53333333333
f
*
(
t45
+
t46
);
const
float
m43
=
-
0
.
3
f
*
(
t41
+
t42
)
+
1
.
33333333333333
f
*
(
t43
+
t44
)
-
0
.
53333333333
f
*
(
t45
+
t46
);
const
float
m44
=
0
.
3
f
*
(
t41
-
t42
)
+
1
.
33333333333333
f
*
(
t44
-
t43
)
+
0
.
53333333333
f
*
(
t45
-
t46
);
const
float
m44
=
0
.
3
f
*
(
t41
-
t42
)
+
1
.
33333333333333
f
*
(
t44
-
t43
)
+
0
.
53333333333
f
*
(
t45
-
t46
);
const
float
m45
=
0
.
0333333333
f
*
t41
+
0
.
02222222
f
*
t42
-
0
.
1666666666
f
*
t43
-
0
.
1111111111
f
*
t44
+
const
float
m45
=
0
.
0333333333
f
*
t41
+
0
.
02222222
f
*
t42
-
0
.
1666666666
f
*
t43
-
0
.
1111111111
f
*
t44
+
0
.
1333333
f
*
t45
+
0
.
0888888
f
*
t46
;
0
.
1333333
f
*
t45
+
0
.
0888888
f
*
t46
;
const
float
m46
=
-
0
.
0333333333
f
*
t41
+
0
.
02222222
f
*
t42
+
0
.
1666666666
f
*
t43
-
0
.
1111111111
f
*
t44
-
const
float
m46
=
-
0
.
0333333333
f
*
t41
+
0
.
02222222
f
*
t42
+
0
.
1666666666
f
*
t43
-
0
.
1111111111
f
*
t44
-
0
.
1333333
f
*
t45
+
0
.
0888888
f
*
t46
;
0
.
1333333
f
*
t45
+
0
.
0888888
f
*
t46
;
const
float
m47
=
-
0
.
5625
f
*
t41
+
3
.
0625
f
*
t43
-
3
.
5
f
*
t45
+
t47
;
const
float
m47
=
-
0
.
5625
f
*
t41
+
3
.
0625
f
*
t43
-
3
.
5
f
*
t45
+
t47
;
float
m50
=
t50
-
5
.
444444444444444445125
f
*
t52
+
6
.
222222222222222222223
f
*
t54
-
1
.
77777777777777778
f
*
t56
;
float
m50
=
t50
-
5
.
444444444444444445125
f
*
t52
+
6
.
222222222222222222223
f
*
t54
-
1
.
77777777777777778
f
*
t56
;
const
float
m51
=
1
.
5
f
*
t51
+
3
.
0
f
*
t52
-
2
.
1666666666666667
f
*
t53
-
4
.
333333333333333333
f
*
t54
+
const
float
m51
=
1
.
5
f
*
t51
+
3
.
0
f
*
t52
-
2
.
1666666666666667
f
*
t53
-
4
.
333333333333333333
f
*
t54
+
0
.
66666666666666667
f
*
t55
+
1
.
333333333333333
f
*
t56
;
0
.
66666666666666667
f
*
t55
+
1
.
333333333333333
f
*
t56
;
const
float
m52
=
-
1
.
5
f
*
t51
+
3
.
0
f
*
t52
+
2
.
1666666666666667
f
*
t53
-
4
.
333333333333333333
f
*
t54
-
const
float
m52
=
-
1
.
5
f
*
t51
+
3
.
0
f
*
t52
+
2
.
1666666666666667
f
*
t53
-
4
.
333333333333333333
f
*
t54
-
0
.
66666666666666667
f
*
t55
+
1
.
333333333333333
f
*
t56
;
0
.
66666666666666667
f
*
t55
+
1
.
333333333333333
f
*
t56
;
const
float
m53
=
-
0
.
3
f
*
(
t51
+
t52
)
+
1
.
33333333333333
f
*
(
t53
+
t54
)
-
0
.
53333333333
f
*
(
t55
+
t56
);
const
float
m53
=
-
0
.
3
f
*
(
t51
+
t52
)
+
1
.
33333333333333
f
*
(
t53
+
t54
)
-
0
.
53333333333
f
*
(
t55
+
t56
);
const
float
m54
=
0
.
3
f
*
(
t51
-
t52
)
+
1
.
33333333333333
f
*
(
t54
-
t53
)
+
0
.
53333333333
f
*
(
t55
-
t56
);
const
float
m54
=
0
.
3
f
*
(
t51
-
t52
)
+
1
.
33333333333333
f
*
(
t54
-
t53
)
+
0
.
53333333333
f
*
(
t55
-
t56
);
const
float
m55
=
0
.
0333333333
f
*
t51
+
0
.
02222222
f
*
t52
-
0
.
1666666666
f
*
t53
-
0
.
1111111111
f
*
t54
+
const
float
m55
=
0
.
0333333333
f
*
t51
+
0
.
02222222
f
*
t52
-
0
.
1666666666
f
*
t53
-
0
.
1111111111
f
*
t54
+
0
.
1333333
f
*
t55
+
0
.
0888888
f
*
t56
;
0
.
1333333
f
*
t55
+
0
.
0888888
f
*
t56
;
const
float
m56
=
-
0
.
0333333333
f
*
t51
+
0
.
02222222
f
*
t52
+
0
.
1666666666
f
*
t53
-
0
.
1111111111
f
*
t54
-
const
float
m56
=
-
0
.
0333333333
f
*
t51
+
0
.
02222222
f
*
t52
+
0
.
1666666666
f
*
t53
-
0
.
1111111111
f
*
t54
-
0
.
1333333
f
*
t55
+
0
.
0888888
f
*
t56
;
0
.
1333333
f
*
t55
+
0
.
0888888
f
*
t56
;
const
float
m57
=
-
0
.
5625
f
*
t51
+
3
.
0625
f
*
t53
-
3
.
5
f
*
t55
+
t57
;
const
float
m57
=
-
0
.
5625
f
*
t51
+
3
.
0625
f
*
t53
-
3
.
5
f
*
t55
+
t57
;
float
m60
=
t60
-
5
.
444444444444444445125
f
*
t62
+
6
.
222222222222222222223
f
*
t64
-
1
.
77777777777777778
f
*
t66
;
float
m60
=
t60
-
5
.
444444444444444445125
f
*
t62
+
6
.
222222222222222222223
f
*
t64
-
1
.
77777777777777778
f
*
t66
;
const
float
m61
=
1
.
5
f
*
t61
+
3
.
0
f
*
t62
-
2
.
1666666666666667
f
*
t63
-
4
.
333333333333333333
f
*
t64
+
const
float
m61
=
1
.
5
f
*
t61
+
3
.
0
f
*
t62
-
2
.
1666666666666667
f
*
t63
-
4
.
333333333333333333
f
*
t64
+
0
.
66666666666666667
f
*
t65
+
1
.
333333333333333
f
*
t66
;
0
.
66666666666666667
f
*
t65
+
1
.
333333333333333
f
*
t66
;
const
float
m62
=
-
1
.
5
f
*
t61
+
3
.
0
f
*
t62
+
2
.
1666666666666667
f
*
t63
-
4
.
333333333333333333
f
*
t64
-
const
float
m62
=
-
1
.
5
f
*
t61
+
3
.
0
f
*
t62
+
2
.
1666666666666667
f
*
t63
-
4
.
333333333333333333
f
*
t64
-
0
.
66666666666666667
f
*
t65
+
1
.
333333333333333
f
*
t66
;
0
.
66666666666666667
f
*
t65
+
1
.
333333333333333
f
*
t66
;
const
float
m63
=
-
0
.
3
f
*
(
t61
+
t62
)
+
1
.
33333333333333
f
*
(
t63
+
t64
)
-
0
.
53333333333
f
*
(
t65
+
t66
);
const
float
m63
=
-
0
.
3
f
*
(
t61
+
t62
)
+
1
.
33333333333333
f
*
(
t63
+
t64
)
-
0
.
53333333333
f
*
(
t65
+
t66
);
const
float
m64
=
0
.
3
f
*
(
t61
-
t62
)
+
1
.
33333333333333
f
*
(
t64
-
t63
)
+
0
.
53333333333
f
*
(
t65
-
t66
);
const
float
m64
=
0
.
3
f
*
(
t61
-
t62
)
+
1
.
33333333333333
f
*
(
t64
-
t63
)
+
0
.
53333333333
f
*
(
t65
-
t66
);
const
float
m65
=
0
.
0333333333
f
*
t61
+
0
.
02222222
f
*
t62
-
0
.
1666666666
f
*
t63
-
0
.
1111111111
f
*
t64
+
const
float
m65
=
0
.
0333333333
f
*
t61
+
0
.
02222222
f
*
t62
-
0
.
1666666666
f
*
t63
-
0
.
1111111111
f
*
t64
+
0
.
1333333
f
*
t65
+
0
.
0888888
f
*
t66
;
0
.
1333333
f
*
t65
+
0
.
0888888
f
*
t66
;
const
float
m66
=
-
0
.
0333333333
f
*
t61
+
0
.
02222222
f
*
t62
+
0
.
1666666666
f
*
t63
-
0
.
1111111111
f
*
t64
-
const
float
m66
=
-
0
.
0333333333
f
*
t61
+
0
.
02222222
f
*
t62
+
0
.
1666666666
f
*
t63
-
0
.
1111111111
f
*
t64
-
0
.
1333333
f
*
t65
+
0
.
0888888
f
*
t66
;
0
.
1333333
f
*
t65
+
0
.
0888888
f
*
t66
;
const
float
m67
=
-
0
.
5625
f
*
t61
+
3
.
0625
f
*
t63
-
3
.
5
f
*
t65
+
t67
;
const
float
m67
=
-
0
.
5625
f
*
t61
+
3
.
0625
f
*
t63
-
3
.
5
f
*
t65
+
t67
;
float
m70
=
t70
-
5
.
444444444444444445125
f
*
t72
+
6
.
222222222222222222223
f
*
t74
-
1
.
77777777777777778
f
*
t76
;
float
m70
=
t70
-
5
.
444444444444444445125
f
*
t72
+
6
.
222222222222222222223
f
*
t74
-
1
.
77777777777777778
f
*
t76
;
const
float
m71
=
1
.
5
f
*
t71
+
3
.
0
f
*
t72
-
2
.
1666666666666667
f
*
t73
-
4
.
333333333333333333
f
*
t74
+
const
float
m71
=
1
.
5
f
*
t71
+
3
.
0
f
*
t72
-
2
.
1666666666666667
f
*
t73
-
4
.
333333333333333333
f
*
t74
+
0
.
66666666666666667
f
*
t75
+
1
.
333333333333333
f
*
t76
;
0
.
66666666666666667
f
*
t75
+
1
.
333333333333333
f
*
t76
;
const
float
m72
=
-
1
.
5
f
*
t71
+
3
.
0
f
*
t72
+
2
.
1666666666666667
f
*
t73
-
4
.
333333333333333333
f
*
t74
-
const
float
m72
=
-
1
.
5
f
*
t71
+
3
.
0
f
*
t72
+
2
.
1666666666666667
f
*
t73
-
4
.
333333333333333333
f
*
t74
-
0
.
66666666666666667
f
*
t75
+
1
.
333333333333333
f
*
t76
;
0
.
66666666666666667
f
*
t75
+
1
.
333333333333333
f
*
t76
;
const
float
m73
=
-
0
.
3
f
*
(
t71
+
t72
)
+
1
.
33333333333333
f
*
(
t73
+
t74
)
-
0
.
53333333333
f
*
(
t75
+
t76
);
const
float
m73
=
-
0
.
3
f
*
(
t71
+
t72
)
+
1
.
33333333333333
f
*
(
t73
+
t74
)
-
0
.
53333333333
f
*
(
t75
+
t76
);
const
float
m74
=
0
.
3
f
*
(
t71
-
t72
)
+
1
.
33333333333333
f
*
(
t74
-
t73
)
+
0
.
53333333333
f
*
(
t75
-
t76
);
const
float
m74
=
0
.
3
f
*
(
t71
-
t72
)
+
1
.
33333333333333
f
*
(
t74
-
t73
)
+
0
.
53333333333
f
*
(
t75
-
t76
);
const
float
m75
=
0
.
0333333333
f
*
t71
+
0
.
02222222
f
*
t72
-
0
.
1666666666
f
*
t73
-
0
.
1111111111
f
*
t74
+
const
float
m75
=
0
.
0333333333
f
*
t71
+
0
.
02222222
f
*
t72
-
0
.
1666666666
f
*
t73
-
0
.
1111111111
f
*
t74
+
0
.
1333333
f
*
t75
+
0
.
0888888
f
*
t76
;
0
.
1333333
f
*
t75
+
0
.
0888888
f
*
t76
;
const
float
m76
=
-
0
.
0333333333
f
*
t71
+
0
.
02222222
f
*
t72
+
0
.
1666666666
f
*
t73
-
0
.
1111111111
f
*
t74
-
const
float
m76
=
-
0
.
0333333333
f
*
t71
+
0
.
02222222
f
*
t72
+
0
.
1666666666
f
*
t73
-
0
.
1111111111
f
*
t74
-
0
.
1333333
f
*
t75
+
0
.
0888888
f
*
t76
;
0
.
1333333
f
*
t75
+
0
.
0888888
f
*
t76
;
const
float
m77
=
-
0
.
5625
f
*
t71
+
3
.
0625
f
*
t73
-
3
.
5
f
*
t75
+
t77
;
const
float
m77
=
-
0
.
5625
f
*
t71
+
3
.
0625
f
*
t73
-
3
.
5
f
*
t75
+
t77
;
(
dst_data
+
i
)[
0
]
=
m00
;
(
dst_data
+
i
)[
0
]
=
m00
;
...
@@ -1460,7 +1460,7 @@ void OutputTransform4x3Unit(const float *src_data, float *dst_data, const float
...
@@ -1460,7 +1460,7 @@ void OutputTransform4x3Unit(const float *src_data, float *dst_data, const float
const
float
t10
=
0
.
5
f
*
(
src_data_10
-
src_data_20
);
const
float
t10
=
0
.
5
f
*
(
src_data_10
-
src_data_20
);
const
float
t11
=
0
.
5
f
*
(
src_data_11
-
src_data_21
);
const
float
t11
=
0
.
5
f
*
(
src_data_11
-
src_data_21
);
const
float
t12
=
0
.
5
f
*
(
src_data_12
-
src_data_22
);
const
float
t12
=
0
.
5
f
*
(
src_data_12
-
src_data_22
);
const
const
float
t13
=
0
.
5
f
*
(
src_data_13
-
src_data_23
);
const
float
t13
=
0
.
5
f
*
(
src_data_13
-
src_data_23
);
const
float
t20
=
0
.
25
f
*
(
src_data_10
+
src_data_20
)
+
src_data_30
;
const
float
t20
=
0
.
25
f
*
(
src_data_10
+
src_data_20
)
+
src_data_30
;
const
float
t21
=
0
.
25
f
*
(
src_data_11
+
src_data_21
)
+
src_data_31
;
const
float
t21
=
0
.
25
f
*
(
src_data_11
+
src_data_21
)
+
src_data_31
;
...
@@ -2626,7 +2626,7 @@ void OutputTransform8x4Unit(const float *src_data, float *dst_data, const float
...
@@ -2626,7 +2626,7 @@ void OutputTransform8x4Unit(const float *src_data, float *dst_data, const float
const
float
t24
=
0
.
25
f
*
d35
+
d45
+
2
.
25
f
*
d55
;
const
float
t24
=
0
.
25
f
*
d35
+
d45
+
2
.
25
f
*
d55
;
const
float
t25
=
0
.
25
f
*
d36
+
d46
+
2
.
25
f
*
d56
;
const
float
t25
=
0
.
25
f
*
d36
+
d46
+
2
.
25
f
*
d56
;
const
float
t26
=
0
.
25
f
*
d37
+
d47
+
2
.
25
f
*
d57
;
const
float
t26
=
0
.
25
f
*
d37
+
d47
+
2
.
25
f
*
d57
;
const
const
float
t27
=
0
.
25
f
*
d38
+
d48
+
2
.
25
f
*
d58
;
const
float
t27
=
0
.
25
f
*
d38
+
d48
+
2
.
25
f
*
d58
;
const
float
t30
=
0
.
125
f
*
d01
+
d11
+
3
.
375
f
*
d21
+
src_data_70
;
const
float
t30
=
0
.
125
f
*
d01
+
d11
+
3
.
375
f
*
d21
+
src_data_70
;
const
float
t31
=
0
.
125
f
*
d02
+
d12
+
3
.
375
f
*
d22
+
src_data_71
;
const
float
t31
=
0
.
125
f
*
d02
+
d12
+
3
.
375
f
*
d22
+
src_data_71
;
...
@@ -3786,7 +3786,7 @@ void OutputTransform8x6Unit(const float *src_data, float *dst_data, const float
...
@@ -3786,7 +3786,7 @@ void OutputTransform8x6Unit(const float *src_data, float *dst_data, const float
const
float
t52
=
0
.
03125
f
*
d03
+
d13
+
7
.
59375
f
*
d23
+
src_data_72
;
const
float
t52
=
0
.
03125
f
*
d03
+
d13
+
7
.
59375
f
*
d23
+
src_data_72
;
const
float
t53
=
0
.
03125
f
*
d04
+
d14
+
7
.
59375
f
*
d24
+
src_data_73
;
const
float
t53
=
0
.
03125
f
*
d04
+
d14
+
7
.
59375
f
*
d24
+
src_data_73
;
const
float
t54
=
0
.
03125
f
*
d05
+
d15
+
7
.
59375
f
*
d25
+
src_data_74
;
const
float
t54
=
0
.
03125
f
*
d05
+
d15
+
7
.
59375
f
*
d25
+
src_data_74
;
const
const
float
t55
=
0
.
03125
f
*
d06
+
d16
+
7
.
59375
f
*
d26
+
src_data_75
;
const
float
t55
=
0
.
03125
f
*
d06
+
d16
+
7
.
59375
f
*
d26
+
src_data_75
;
const
float
t56
=
0
.
03125
f
*
d07
+
d17
+
7
.
59375
f
*
d27
+
src_data_76
;
const
float
t56
=
0
.
03125
f
*
d07
+
d17
+
7
.
59375
f
*
d27
+
src_data_76
;
const
float
t57
=
0
.
03125
f
*
d08
+
d18
+
7
.
59375
f
*
d28
+
src_data_77
;
const
float
t57
=
0
.
03125
f
*
d08
+
d18
+
7
.
59375
f
*
d28
+
src_data_77
;
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录