|
@@ -1,6 +1,6 @@
|
|
|
// The MIT License(MIT)
|
|
|
//
|
|
|
-// Copyright(c) 2021 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
|
|
|
+// Copyright(c) 2022 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
|
|
|
//
|
|
|
// Permission is hereby granted, free of charge, to any person obtaining a copy of
|
|
|
// this software and associated documentation files(the "Software"), to deal in
|
|
@@ -86,7 +86,8 @@ enum class NISGPUArchitecture : uint32_t
|
|
|
{
|
|
|
NVIDIA_Generic = 0,
|
|
|
AMD_Generic = 1,
|
|
|
- Intel_Generic = 2
|
|
|
+ Intel_Generic = 2,
|
|
|
+ NVIDIA_Generic_fp16 = 3
|
|
|
};
|
|
|
|
|
|
struct NISOptimizer
|
|
@@ -104,6 +105,8 @@ struct NISOptimizer
|
|
|
switch (gpuArch) {
|
|
|
case NISGPUArchitecture::NVIDIA_Generic:
|
|
|
return 32;
|
|
|
+ case NISGPUArchitecture::NVIDIA_Generic_fp16:
|
|
|
+ return 32;
|
|
|
case NISGPUArchitecture::AMD_Generic:
|
|
|
return 32;
|
|
|
case NISGPUArchitecture::Intel_Generic:
|
|
@@ -117,6 +120,8 @@ struct NISOptimizer
|
|
|
switch (gpuArch) {
|
|
|
case NISGPUArchitecture::NVIDIA_Generic:
|
|
|
return isUpscaling ? 24 : 32;
|
|
|
+ case NISGPUArchitecture::NVIDIA_Generic_fp16:
|
|
|
+ return isUpscaling ? 32 : 32;
|
|
|
case NISGPUArchitecture::AMD_Generic:
|
|
|
return isUpscaling ? 24 : 32;
|
|
|
case NISGPUArchitecture::Intel_Generic:
|
|
@@ -130,6 +135,8 @@ struct NISOptimizer
|
|
|
switch (gpuArch) {
|
|
|
case NISGPUArchitecture::NVIDIA_Generic:
|
|
|
return 128;
|
|
|
+ case NISGPUArchitecture::NVIDIA_Generic_fp16:
|
|
|
+ return 128;
|
|
|
case NISGPUArchitecture::AMD_Generic:
|
|
|
return 256;
|
|
|
case NISGPUArchitecture::Intel_Generic:
|
|
@@ -160,7 +167,7 @@ inline bool NVScalerUpdateConfig(NISConfig& config, float sharpness,
|
|
|
const float MinScale = (sharpen_slider >= 0.0f) ? 1.25f : 1.0f;
|
|
|
const float LimitScale = (sharpen_slider >= 0.0f) ? 1.25f : 1.0f;
|
|
|
|
|
|
- float kDetectRatio = 1127.f / 1024.f;
|
|
|
+ float kDetectRatio = 2 * 1127.f / 1024.f;
|
|
|
|
|
|
// Params for SDR
|
|
|
float kDetectThres = 64.0f / 1024.0f;
|
|
@@ -170,7 +177,7 @@ inline bool NVScalerUpdateConfig(NISConfig& config, float sharpness,
|
|
|
float kSharpStartY = 0.45f;
|
|
|
float kSharpEndY = 0.9f;
|
|
|
float kSharpStrengthMin = std::max<float>(0.0f, 0.4f + sharpen_slider * MinScale * 1.2f);
|
|
|
- float kSharpStrengthMax = 1.6f + sharpen_slider * 1.8f;
|
|
|
+ float kSharpStrengthMax = 1.6f + sharpen_slider * MaxScale * 1.8f;
|
|
|
float kSharpLimitMin = std::max<float>(0.1f, 0.14f + sharpen_slider * LimitScale * 0.32f);
|
|
|
float kSharpLimitMax = 0.5f + sharpen_slider * LimitScale * 0.6f;
|
|
|
|
|
@@ -222,20 +229,21 @@ inline bool NVScalerUpdateConfig(NISConfig& config, float sharpness,
|
|
|
config.kDstNormY = 1.f / outputTextureHeight;
|
|
|
config.kScaleX = config.kInputViewportWidth / float(config.kOutputViewportWidth);
|
|
|
config.kScaleY = config.kInputViewportHeight / float(config.kOutputViewportHeight);
|
|
|
- if (config.kScaleX < 0.5f || config.kScaleX > 1.f || config.kScaleY < 0.5f || config.kScaleY > 1.f)
|
|
|
- return false;
|
|
|
config.kDetectRatio = kDetectRatio;
|
|
|
config.kDetectThres = kDetectThres;
|
|
|
config.kMinContrastRatio = kMinContrastRatio;
|
|
|
config.kRatioNorm = kRatioNorm;
|
|
|
config.kContrastBoost = 1.0f;
|
|
|
- config.kEps = 1.0f;
|
|
|
+ config.kEps = 1.0f / 255.0f;
|
|
|
config.kSharpStartY = kSharpStartY;
|
|
|
config.kSharpScaleY = kSharpScaleY;
|
|
|
config.kSharpStrengthMin = kSharpStrengthMin;
|
|
|
config.kSharpStrengthScale = kSharpStrengthScale;
|
|
|
config.kSharpLimitMin = kSharpLimitMin;
|
|
|
config.kSharpLimitScale = kSharpLimitScale;
|
|
|
+
|
|
|
+ if (config.kScaleX < 0.5f || config.kScaleX > 1.f || config.kScaleY < 0.5f || config.kScaleY > 1.f)
|
|
|
+ return false;
|
|
|
return true;
|
|
|
}
|
|
|
|
|
@@ -258,137 +266,137 @@ namespace {
|
|
|
constexpr size_t kFilterSize = 8;
|
|
|
|
|
|
constexpr float coef_scale[kPhaseCount][kFilterSize] = {
|
|
|
- {0.0, 0.0, 1.0000, 0.0, 0.0, 0.0, 0.0, 0.0},
|
|
|
- {0.0029, -0.0127, 1.0000, 0.0132, -0.0034, 0.0, 0.0, 0.0},
|
|
|
- {0.0063, -0.0249, 0.9985, 0.0269, -0.0068, 0.0, 0.0, 0.0},
|
|
|
- {0.0088, -0.0361, 0.9956, 0.0415, -0.0103, 0.0005, 0.0, 0.0},
|
|
|
- {0.0117, -0.0474, 0.9932, 0.0562, -0.0142, 0.0005, 0.0, 0.0},
|
|
|
- {0.0142, -0.0576, 0.9897, 0.0713, -0.0181, 0.0005, 0.0, 0.0},
|
|
|
- {0.0166, -0.0674, 0.9844, 0.0874, -0.0220, 0.0010, 0.0, 0.0},
|
|
|
- {0.0186, -0.0762, 0.9785, 0.1040, -0.0264, 0.0015, 0.0, 0.0},
|
|
|
- {0.0205, -0.0850, 0.9727, 0.1206, -0.0308, 0.0020, 0.0, 0.0},
|
|
|
- {0.0225, -0.0928, 0.9648, 0.1382, -0.0352, 0.0024, 0.0, 0.0},
|
|
|
- {0.0239, -0.1006, 0.9575, 0.1558, -0.0396, 0.0029, 0.0, 0.0},
|
|
|
- {0.0254, -0.1074, 0.9487, 0.1738, -0.0439, 0.0034, 0.0, 0.0},
|
|
|
- {0.0264, -0.1138, 0.9390, 0.1929, -0.0488, 0.0044, 0.0, 0.0},
|
|
|
- {0.0278, -0.1191, 0.9282, 0.2119, -0.0537, 0.0049, 0.0, 0.0},
|
|
|
- {0.0288, -0.1245, 0.9170, 0.2310, -0.0581, 0.0059, 0.0, 0.0},
|
|
|
- {0.0293, -0.1294, 0.9058, 0.2510, -0.0630, 0.0063, 0.0, 0.0},
|
|
|
- {0.0303, -0.1333, 0.8926, 0.2710, -0.0679, 0.0073, 0.0, 0.0},
|
|
|
- {0.0308, -0.1367, 0.8789, 0.2915, -0.0728, 0.0083, 0.0, 0.0},
|
|
|
- {0.0308, -0.1401, 0.8657, 0.3120, -0.0776, 0.0093, 0.0, 0.0},
|
|
|
- {0.0313, -0.1426, 0.8506, 0.3330, -0.0825, 0.0103, 0.0, 0.0},
|
|
|
- {0.0313, -0.1445, 0.8354, 0.3540, -0.0874, 0.0112, 0.0, 0.0},
|
|
|
- {0.0313, -0.1460, 0.8193, 0.3755, -0.0923, 0.0122, 0.0, 0.0},
|
|
|
- {0.0313, -0.1470, 0.8022, 0.3965, -0.0967, 0.0137, 0.0, 0.0},
|
|
|
- {0.0308, -0.1479, 0.7856, 0.4185, -0.1016, 0.0146, 0.0, 0.0},
|
|
|
- {0.0303, -0.1479, 0.7681, 0.4399, -0.1060, 0.0156, 0.0, 0.0},
|
|
|
- {0.0298, -0.1479, 0.7505, 0.4614, -0.1104, 0.0166, 0.0, 0.0},
|
|
|
- {0.0293, -0.1470, 0.7314, 0.4829, -0.1147, 0.0181, 0.0, 0.0},
|
|
|
- {0.0288, -0.1460, 0.7119, 0.5049, -0.1187, 0.0190, 0.0, 0.0},
|
|
|
- {0.0278, -0.1445, 0.6929, 0.5264, -0.1226, 0.0200, 0.0, 0.0},
|
|
|
- {0.0273, -0.1431, 0.6724, 0.5479, -0.1260, 0.0215, 0.0, 0.0},
|
|
|
- {0.0264, -0.1411, 0.6528, 0.5693, -0.1299, 0.0225, 0.0, 0.0},
|
|
|
- {0.0254, -0.1387, 0.6323, 0.5903, -0.1328, 0.0234, 0.0, 0.0},
|
|
|
- {0.0244, -0.1357, 0.6113, 0.6113, -0.1357, 0.0244, 0.0, 0.0},
|
|
|
- {0.0234, -0.1328, 0.5903, 0.6323, -0.1387, 0.0254, 0.0, 0.0},
|
|
|
- {0.0225, -0.1299, 0.5693, 0.6528, -0.1411, 0.0264, 0.0, 0.0},
|
|
|
- {0.0215, -0.1260, 0.5479, 0.6724, -0.1431, 0.0273, 0.0, 0.0},
|
|
|
- {0.0200, -0.1226, 0.5264, 0.6929, -0.1445, 0.0278, 0.0, 0.0},
|
|
|
- {0.0190, -0.1187, 0.5049, 0.7119, -0.1460, 0.0288, 0.0, 0.0},
|
|
|
- {0.0181, -0.1147, 0.4829, 0.7314, -0.1470, 0.0293, 0.0, 0.0},
|
|
|
- {0.0166, -0.1104, 0.4614, 0.7505, -0.1479, 0.0298, 0.0, 0.0},
|
|
|
- {0.0156, -0.1060, 0.4399, 0.7681, -0.1479, 0.0303, 0.0, 0.0},
|
|
|
- {0.0146, -0.1016, 0.4185, 0.7856, -0.1479, 0.0308, 0.0, 0.0},
|
|
|
- {0.0137, -0.0967, 0.3965, 0.8022, -0.1470, 0.0313, 0.0, 0.0},
|
|
|
- {0.0122, -0.0923, 0.3755, 0.8193, -0.1460, 0.0313, 0.0, 0.0},
|
|
|
- {0.0112, -0.0874, 0.3540, 0.8354, -0.1445, 0.0313, 0.0, 0.0},
|
|
|
- {0.0103, -0.0825, 0.3330, 0.8506, -0.1426, 0.0313, 0.0, 0.0},
|
|
|
- {0.0093, -0.0776, 0.3120, 0.8657, -0.1401, 0.0308, 0.0, 0.0},
|
|
|
- {0.0083, -0.0728, 0.2915, 0.8789, -0.1367, 0.0308, 0.0, 0.0},
|
|
|
- {0.0073, -0.0679, 0.2710, 0.8926, -0.1333, 0.0303, 0.0, 0.0},
|
|
|
- {0.0063, -0.0630, 0.2510, 0.9058, -0.1294, 0.0293, 0.0, 0.0},
|
|
|
- {0.0059, -0.0581, 0.2310, 0.9170, -0.1245, 0.0288, 0.0, 0.0},
|
|
|
- {0.0049, -0.0537, 0.2119, 0.9282, -0.1191, 0.0278, 0.0, 0.0},
|
|
|
- {0.0044, -0.0488, 0.1929, 0.9390, -0.1138, 0.0264, 0.0, 0.0},
|
|
|
- {0.0034, -0.0439, 0.1738, 0.9487, -0.1074, 0.0254, 0.0, 0.0},
|
|
|
- {0.0029, -0.0396, 0.1558, 0.9575, -0.1006, 0.0239, 0.0, 0.0},
|
|
|
- {0.0024, -0.0352, 0.1382, 0.9648, -0.0928, 0.0225, 0.0, 0.0},
|
|
|
- {0.0020, -0.0308, 0.1206, 0.9727, -0.0850, 0.0205, 0.0, 0.0},
|
|
|
- {0.0015, -0.0264, 0.1040, 0.9785, -0.0762, 0.0186, 0.0, 0.0},
|
|
|
- {0.0010, -0.0220, 0.0874, 0.9844, -0.0674, 0.0166, 0.0, 0.0},
|
|
|
- {0.0005, -0.0181, 0.0713, 0.9897, -0.0576, 0.0142, 0.0, 0.0},
|
|
|
- {0.0005, -0.0142, 0.0562, 0.9932, -0.0474, 0.0117, 0.0, 0.0},
|
|
|
- {0.0005, -0.0103, 0.0415, 0.9956, -0.0361, 0.0088, 0.0, 0.0},
|
|
|
- {0.0, -0.0068, 0.0269, 0.9985, -0.0249, 0.0063, 0.0, 0.0},
|
|
|
- {0.0, -0.0034, 0.0132, 1.0000, -0.0127, 0.0029, 0.0, 0.0}
|
|
|
+ {0.0f, 0.0f, 1.0000f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f},
|
|
|
+ {0.0029f, -0.0127f, 1.0000f, 0.0132f, -0.0034f, 0.0f, 0.0f, 0.0f},
|
|
|
+ {0.0063f, -0.0249f, 0.9985f, 0.0269f, -0.0068f, 0.0f, 0.0f, 0.0f},
|
|
|
+ {0.0088f, -0.0361f, 0.9956f, 0.0415f, -0.0103f, 0.0005f, 0.0f, 0.0f},
|
|
|
+ {0.0117f, -0.0474f, 0.9932f, 0.0562f, -0.0142f, 0.0005f, 0.0f, 0.0f},
|
|
|
+ {0.0142f, -0.0576f, 0.9897f, 0.0713f, -0.0181f, 0.0005f, 0.0f, 0.0f},
|
|
|
+ {0.0166f, -0.0674f, 0.9844f, 0.0874f, -0.0220f, 0.0010f, 0.0f, 0.0f},
|
|
|
+ {0.0186f, -0.0762f, 0.9785f, 0.1040f, -0.0264f, 0.0015f, 0.0f, 0.0f},
|
|
|
+ {0.0205f, -0.0850f, 0.9727f, 0.1206f, -0.0308f, 0.0020f, 0.0f, 0.0f},
|
|
|
+ {0.0225f, -0.0928f, 0.9648f, 0.1382f, -0.0352f, 0.0024f, 0.0f, 0.0f},
|
|
|
+ {0.0239f, -0.1006f, 0.9575f, 0.1558f, -0.0396f, 0.0029f, 0.0f, 0.0f},
|
|
|
+ {0.0254f, -0.1074f, 0.9487f, 0.1738f, -0.0439f, 0.0034f, 0.0f, 0.0f},
|
|
|
+ {0.0264f, -0.1138f, 0.9390f, 0.1929f, -0.0488f, 0.0044f, 0.0f, 0.0f},
|
|
|
+ {0.0278f, -0.1191f, 0.9282f, 0.2119f, -0.0537f, 0.0049f, 0.0f, 0.0f},
|
|
|
+ {0.0288f, -0.1245f, 0.9170f, 0.2310f, -0.0581f, 0.0059f, 0.0f, 0.0f},
|
|
|
+ {0.0293f, -0.1294f, 0.9058f, 0.2510f, -0.0630f, 0.0063f, 0.0f, 0.0f},
|
|
|
+ {0.0303f, -0.1333f, 0.8926f, 0.2710f, -0.0679f, 0.0073f, 0.0f, 0.0f},
|
|
|
+ {0.0308f, -0.1367f, 0.8789f, 0.2915f, -0.0728f, 0.0083f, 0.0f, 0.0f},
|
|
|
+ {0.0308f, -0.1401f, 0.8657f, 0.3120f, -0.0776f, 0.0093f, 0.0f, 0.0f},
|
|
|
+ {0.0313f, -0.1426f, 0.8506f, 0.3330f, -0.0825f, 0.0103f, 0.0f, 0.0f},
|
|
|
+ {0.0313f, -0.1445f, 0.8354f, 0.3540f, -0.0874f, 0.0112f, 0.0f, 0.0f},
|
|
|
+ {0.0313f, -0.1460f, 0.8193f, 0.3755f, -0.0923f, 0.0122f, 0.0f, 0.0f},
|
|
|
+ {0.0313f, -0.1470f, 0.8022f, 0.3965f, -0.0967f, 0.0137f, 0.0f, 0.0f},
|
|
|
+ {0.0308f, -0.1479f, 0.7856f, 0.4185f, -0.1016f, 0.0146f, 0.0f, 0.0f},
|
|
|
+ {0.0303f, -0.1479f, 0.7681f, 0.4399f, -0.1060f, 0.0156f, 0.0f, 0.0f},
|
|
|
+ {0.0298f, -0.1479f, 0.7505f, 0.4614f, -0.1104f, 0.0166f, 0.0f, 0.0f},
|
|
|
+ {0.0293f, -0.1470f, 0.7314f, 0.4829f, -0.1147f, 0.0181f, 0.0f, 0.0f},
|
|
|
+ {0.0288f, -0.1460f, 0.7119f, 0.5049f, -0.1187f, 0.0190f, 0.0f, 0.0f},
|
|
|
+ {0.0278f, -0.1445f, 0.6929f, 0.5264f, -0.1226f, 0.0200f, 0.0f, 0.0f},
|
|
|
+ {0.0273f, -0.1431f, 0.6724f, 0.5479f, -0.1260f, 0.0215f, 0.0f, 0.0f},
|
|
|
+ {0.0264f, -0.1411f, 0.6528f, 0.5693f, -0.1299f, 0.0225f, 0.0f, 0.0f},
|
|
|
+ {0.0254f, -0.1387f, 0.6323f, 0.5903f, -0.1328f, 0.0234f, 0.0f, 0.0f},
|
|
|
+ {0.0244f, -0.1357f, 0.6113f, 0.6113f, -0.1357f, 0.0244f, 0.0f, 0.0f},
|
|
|
+ {0.0234f, -0.1328f, 0.5903f, 0.6323f, -0.1387f, 0.0254f, 0.0f, 0.0f},
|
|
|
+ {0.0225f, -0.1299f, 0.5693f, 0.6528f, -0.1411f, 0.0264f, 0.0f, 0.0f},
|
|
|
+ {0.0215f, -0.1260f, 0.5479f, 0.6724f, -0.1431f, 0.0273f, 0.0f, 0.0f},
|
|
|
+ {0.0200f, -0.1226f, 0.5264f, 0.6929f, -0.1445f, 0.0278f, 0.0f, 0.0f},
|
|
|
+ {0.0190f, -0.1187f, 0.5049f, 0.7119f, -0.1460f, 0.0288f, 0.0f, 0.0f},
|
|
|
+ {0.0181f, -0.1147f, 0.4829f, 0.7314f, -0.1470f, 0.0293f, 0.0f, 0.0f},
|
|
|
+ {0.0166f, -0.1104f, 0.4614f, 0.7505f, -0.1479f, 0.0298f, 0.0f, 0.0f},
|
|
|
+ {0.0156f, -0.1060f, 0.4399f, 0.7681f, -0.1479f, 0.0303f, 0.0f, 0.0f},
|
|
|
+ {0.0146f, -0.1016f, 0.4185f, 0.7856f, -0.1479f, 0.0308f, 0.0f, 0.0f},
|
|
|
+ {0.0137f, -0.0967f, 0.3965f, 0.8022f, -0.1470f, 0.0313f, 0.0f, 0.0f},
|
|
|
+ {0.0122f, -0.0923f, 0.3755f, 0.8193f, -0.1460f, 0.0313f, 0.0f, 0.0f},
|
|
|
+ {0.0112f, -0.0874f, 0.3540f, 0.8354f, -0.1445f, 0.0313f, 0.0f, 0.0f},
|
|
|
+ {0.0103f, -0.0825f, 0.3330f, 0.8506f, -0.1426f, 0.0313f, 0.0f, 0.0f},
|
|
|
+ {0.0093f, -0.0776f, 0.3120f, 0.8657f, -0.1401f, 0.0308f, 0.0f, 0.0f},
|
|
|
+ {0.0083f, -0.0728f, 0.2915f, 0.8789f, -0.1367f, 0.0308f, 0.0f, 0.0f},
|
|
|
+ {0.0073f, -0.0679f, 0.2710f, 0.8926f, -0.1333f, 0.0303f, 0.0f, 0.0f},
|
|
|
+ {0.0063f, -0.0630f, 0.2510f, 0.9058f, -0.1294f, 0.0293f, 0.0f, 0.0f},
|
|
|
+ {0.0059f, -0.0581f, 0.2310f, 0.9170f, -0.1245f, 0.0288f, 0.0f, 0.0f},
|
|
|
+ {0.0049f, -0.0537f, 0.2119f, 0.9282f, -0.1191f, 0.0278f, 0.0f, 0.0f},
|
|
|
+ {0.0044f, -0.0488f, 0.1929f, 0.9390f, -0.1138f, 0.0264f, 0.0f, 0.0f},
|
|
|
+ {0.0034f, -0.0439f, 0.1738f, 0.9487f, -0.1074f, 0.0254f, 0.0f, 0.0f},
|
|
|
+ {0.0029f, -0.0396f, 0.1558f, 0.9575f, -0.1006f, 0.0239f, 0.0f, 0.0f},
|
|
|
+ {0.0024f, -0.0352f, 0.1382f, 0.9648f, -0.0928f, 0.0225f, 0.0f, 0.0f},
|
|
|
+ {0.0020f, -0.0308f, 0.1206f, 0.9727f, -0.0850f, 0.0205f, 0.0f, 0.0f},
|
|
|
+ {0.0015f, -0.0264f, 0.1040f, 0.9785f, -0.0762f, 0.0186f, 0.0f, 0.0f},
|
|
|
+ {0.0010f, -0.0220f, 0.0874f, 0.9844f, -0.0674f, 0.0166f, 0.0f, 0.0f},
|
|
|
+ {0.0005f, -0.0181f, 0.0713f, 0.9897f, -0.0576f, 0.0142f, 0.0f, 0.0f},
|
|
|
+ {0.0005f, -0.0142f, 0.0562f, 0.9932f, -0.0474f, 0.0117f, 0.0f, 0.0f},
|
|
|
+ {0.0005f, -0.0103f, 0.0415f, 0.9956f, -0.0361f, 0.0088f, 0.0f, 0.0f},
|
|
|
+ {0.0f, -0.0068f, 0.0269f, 0.9985f, -0.0249f, 0.0063f, 0.0f, 0.0f},
|
|
|
+ {0.0f, -0.0034f, 0.0132f, 1.0000f, -0.0127f, 0.0029f, 0.0f, 0.0f}
|
|
|
};
|
|
|
|
|
|
constexpr float coef_usm[kPhaseCount][kFilterSize] = {
|
|
|
- {0, -0.6001, 1.2002, -0.6001, 0, 0, 0, 0},
|
|
|
- {0.0029, -0.6084, 1.1987, -0.5903, -0.0029, 0, 0, 0},
|
|
|
- {0.0049, -0.6147, 1.1958, -0.5791, -0.0068, 0.0005, 0, 0},
|
|
|
- {0.0073, -0.6196, 1.1890, -0.5659, -0.0103, 0, 0, 0},
|
|
|
- {0.0093, -0.6235, 1.1802, -0.5513, -0.0151, 0, 0, 0},
|
|
|
- {0.0112, -0.6265, 1.1699, -0.5352, -0.0195, 0.0005, 0, 0},
|
|
|
- {0.0122, -0.6270, 1.1582, -0.5181, -0.0259, 0.0005, 0, 0},
|
|
|
- {0.0142, -0.6284, 1.1455, -0.5005, -0.0317, 0.0005, 0, 0},
|
|
|
- {0.0156, -0.6265, 1.1274, -0.4790, -0.0386, 0.0005, 0, 0},
|
|
|
- {0.0166, -0.6235, 1.1089, -0.4570, -0.0454, 0.0010, 0, 0},
|
|
|
- {0.0176, -0.6187, 1.0879, -0.4346, -0.0532, 0.0010, 0, 0},
|
|
|
- {0.0181, -0.6138, 1.0659, -0.4102, -0.0615, 0.0015, 0, 0},
|
|
|
- {0.0190, -0.6069, 1.0405, -0.3843, -0.0698, 0.0015, 0, 0},
|
|
|
- {0.0195, -0.6006, 1.0161, -0.3574, -0.0796, 0.0020, 0, 0},
|
|
|
- {0.0200, -0.5928, 0.9893, -0.3286, -0.0898, 0.0024, 0, 0},
|
|
|
- {0.0200, -0.5820, 0.9580, -0.2988, -0.1001, 0.0029, 0, 0},
|
|
|
- {0.0200, -0.5728, 0.9292, -0.2690, -0.1104, 0.0034, 0, 0},
|
|
|
- {0.0200, -0.5620, 0.8975, -0.2368, -0.1226, 0.0039, 0, 0},
|
|
|
- {0.0205, -0.5498, 0.8643, -0.2046, -0.1343, 0.0044, 0, 0},
|
|
|
- {0.0200, -0.5371, 0.8301, -0.1709, -0.1465, 0.0049, 0, 0},
|
|
|
- {0.0195, -0.5239, 0.7944, -0.1367, -0.1587, 0.0054, 0, 0},
|
|
|
- {0.0195, -0.5107, 0.7598, -0.1021, -0.1724, 0.0059, 0, 0},
|
|
|
- {0.0190, -0.4966, 0.7231, -0.0649, -0.1865, 0.0063, 0, 0},
|
|
|
- {0.0186, -0.4819, 0.6846, -0.0288, -0.1997, 0.0068, 0, 0},
|
|
|
- {0.0186, -0.4668, 0.6460, 0.0093, -0.2144, 0.0073, 0, 0},
|
|
|
- {0.0176, -0.4507, 0.6055, 0.0479, -0.2290, 0.0083, 0, 0},
|
|
|
- {0.0171, -0.4370, 0.5693, 0.0859, -0.2446, 0.0088, 0, 0},
|
|
|
- {0.0161, -0.4199, 0.5283, 0.1255, -0.2598, 0.0098, 0, 0},
|
|
|
- {0.0161, -0.4048, 0.4883, 0.1655, -0.2754, 0.0103, 0, 0},
|
|
|
- {0.0151, -0.3887, 0.4497, 0.2041, -0.2910, 0.0107, 0, 0},
|
|
|
- {0.0142, -0.3711, 0.4072, 0.2446, -0.3066, 0.0117, 0, 0},
|
|
|
- {0.0137, -0.3555, 0.3672, 0.2852, -0.3228, 0.0122, 0, 0},
|
|
|
- {0.0132, -0.3394, 0.3262, 0.3262, -0.3394, 0.0132, 0, 0},
|
|
|
- {0.0122, -0.3228, 0.2852, 0.3672, -0.3555, 0.0137, 0, 0},
|
|
|
- {0.0117, -0.3066, 0.2446, 0.4072, -0.3711, 0.0142, 0, 0},
|
|
|
- {0.0107, -0.2910, 0.2041, 0.4497, -0.3887, 0.0151, 0, 0},
|
|
|
- {0.0103, -0.2754, 0.1655, 0.4883, -0.4048, 0.0161, 0, 0},
|
|
|
- {0.0098, -0.2598, 0.1255, 0.5283, -0.4199, 0.0161, 0, 0},
|
|
|
- {0.0088, -0.2446, 0.0859, 0.5693, -0.4370, 0.0171, 0, 0},
|
|
|
- {0.0083, -0.2290, 0.0479, 0.6055, -0.4507, 0.0176, 0, 0},
|
|
|
- {0.0073, -0.2144, 0.0093, 0.6460, -0.4668, 0.0186, 0, 0},
|
|
|
- {0.0068, -0.1997, -0.0288, 0.6846, -0.4819, 0.0186, 0, 0},
|
|
|
- {0.0063, -0.1865, -0.0649, 0.7231, -0.4966, 0.0190, 0, 0},
|
|
|
- {0.0059, -0.1724, -0.1021, 0.7598, -0.5107, 0.0195, 0, 0},
|
|
|
- {0.0054, -0.1587, -0.1367, 0.7944, -0.5239, 0.0195, 0, 0},
|
|
|
- {0.0049, -0.1465, -0.1709, 0.8301, -0.5371, 0.0200, 0, 0},
|
|
|
- {0.0044, -0.1343, -0.2046, 0.8643, -0.5498, 0.0205, 0, 0},
|
|
|
- {0.0039, -0.1226, -0.2368, 0.8975, -0.5620, 0.0200, 0, 0},
|
|
|
- {0.0034, -0.1104, -0.2690, 0.9292, -0.5728, 0.0200, 0, 0},
|
|
|
- {0.0029, -0.1001, -0.2988, 0.9580, -0.5820, 0.0200, 0, 0},
|
|
|
- {0.0024, -0.0898, -0.3286, 0.9893, -0.5928, 0.0200, 0, 0},
|
|
|
- {0.0020, -0.0796, -0.3574, 1.0161, -0.6006, 0.0195, 0, 0},
|
|
|
- {0.0015, -0.0698, -0.3843, 1.0405, -0.6069, 0.0190, 0, 0},
|
|
|
- {0.0015, -0.0615, -0.4102, 1.0659, -0.6138, 0.0181, 0, 0},
|
|
|
- {0.0010, -0.0532, -0.4346, 1.0879, -0.6187, 0.0176, 0, 0},
|
|
|
- {0.0010, -0.0454, -0.4570, 1.1089, -0.6235, 0.0166, 0, 0},
|
|
|
- {0.0005, -0.0386, -0.4790, 1.1274, -0.6265, 0.0156, 0, 0},
|
|
|
- {0.0005, -0.0317, -0.5005, 1.1455, -0.6284, 0.0142, 0, 0},
|
|
|
- {0.0005, -0.0259, -0.5181, 1.1582, -0.6270, 0.0122, 0, 0},
|
|
|
- {0.0005, -0.0195, -0.5352, 1.1699, -0.6265, 0.0112, 0, 0},
|
|
|
- {0, -0.0151, -0.5513, 1.1802, -0.6235, 0.0093, 0, 0},
|
|
|
- {0, -0.0103, -0.5659, 1.1890, -0.6196, 0.0073, 0, 0},
|
|
|
- {0.0005, -0.0068, -0.5791, 1.1958, -0.6147, 0.0049, 0, 0},
|
|
|
- {0, -0.0029, -0.5903, 1.1987, -0.6084, 0.0029, 0, 0}
|
|
|
+ {0.0f, -0.6001f, 1.2002f, -0.6001f, 0.0f, 0.0f, 0.0f, 0.0f},
|
|
|
+ {0.0029f, -0.6084f, 1.1987f, -0.5903f, -0.0029f, 0.0f, 0.0f, 0.0f},
|
|
|
+ {0.0049f, -0.6147f, 1.1958f, -0.5791f, -0.0068f, 0.0005f, 0.0f, 0.0f},
|
|
|
+ {0.0073f, -0.6196f, 1.1890f, -0.5659f, -0.0103f, 0.0f, 0.0f, 0.0f},
|
|
|
+ {0.0093f, -0.6235f, 1.1802f, -0.5513f, -0.0151f, 0.0f, 0.0f, 0.0f},
|
|
|
+ {0.0112f, -0.6265f, 1.1699f, -0.5352f, -0.0195f, 0.0005f, 0.0f, 0.0f},
|
|
|
+ {0.0122f, -0.6270f, 1.1582f, -0.5181f, -0.0259f, 0.0005f, 0.0f, 0.0f},
|
|
|
+ {0.0142f, -0.6284f, 1.1455f, -0.5005f, -0.0317f, 0.0005f, 0.0f, 0.0f},
|
|
|
+ {0.0156f, -0.6265f, 1.1274f, -0.4790f, -0.0386f, 0.0005f, 0.0f, 0.0f},
|
|
|
+ {0.0166f, -0.6235f, 1.1089f, -0.4570f, -0.0454f, 0.0010f, 0.0f, 0.0f},
|
|
|
+ {0.0176f, -0.6187f, 1.0879f, -0.4346f, -0.0532f, 0.0010f, 0.0f, 0.0f},
|
|
|
+ {0.0181f, -0.6138f, 1.0659f, -0.4102f, -0.0615f, 0.0015f, 0.0f, 0.0f},
|
|
|
+ {0.0190f, -0.6069f, 1.0405f, -0.3843f, -0.0698f, 0.0015f, 0.0f, 0.0f},
|
|
|
+ {0.0195f, -0.6006f, 1.0161f, -0.3574f, -0.0796f, 0.0020f, 0.0f, 0.0f},
|
|
|
+ {0.0200f, -0.5928f, 0.9893f, -0.3286f, -0.0898f, 0.0024f, 0.0f, 0.0f},
|
|
|
+ {0.0200f, -0.5820f, 0.9580f, -0.2988f, -0.1001f, 0.0029f, 0.0f, 0.0f},
|
|
|
+ {0.0200f, -0.5728f, 0.9292f, -0.2690f, -0.1104f, 0.0034f, 0.0f, 0.0f},
|
|
|
+ {0.0200f, -0.5620f, 0.8975f, -0.2368f, -0.1226f, 0.0039f, 0.0f, 0.0f},
|
|
|
+ {0.0205f, -0.5498f, 0.8643f, -0.2046f, -0.1343f, 0.0044f, 0.0f, 0.0f},
|
|
|
+ {0.0200f, -0.5371f, 0.8301f, -0.1709f, -0.1465f, 0.0049f, 0.0f, 0.0f},
|
|
|
+ {0.0195f, -0.5239f, 0.7944f, -0.1367f, -0.1587f, 0.0054f, 0.0f, 0.0f},
|
|
|
+ {0.0195f, -0.5107f, 0.7598f, -0.1021f, -0.1724f, 0.0059f, 0.0f, 0.0f},
|
|
|
+ {0.0190f, -0.4966f, 0.7231f, -0.0649f, -0.1865f, 0.0063f, 0.0f, 0.0f},
|
|
|
+ {0.0186f, -0.4819f, 0.6846f, -0.0288f, -0.1997f, 0.0068f, 0.0f, 0.0f},
|
|
|
+ {0.0186f, -0.4668f, 0.6460f, 0.0093f, -0.2144f, 0.0073f, 0.0f, 0.0f},
|
|
|
+ {0.0176f, -0.4507f, 0.6055f, 0.0479f, -0.2290f, 0.0083f, 0.0f, 0.0f},
|
|
|
+ {0.0171f, -0.4370f, 0.5693f, 0.0859f, -0.2446f, 0.0088f, 0.0f, 0.0f},
|
|
|
+ {0.0161f, -0.4199f, 0.5283f, 0.1255f, -0.2598f, 0.0098f, 0.0f, 0.0f},
|
|
|
+ {0.0161f, -0.4048f, 0.4883f, 0.1655f, -0.2754f, 0.0103f, 0.0f, 0.0f},
|
|
|
+ {0.0151f, -0.3887f, 0.4497f, 0.2041f, -0.2910f, 0.0107f, 0.0f, 0.0f},
|
|
|
+ {0.0142f, -0.3711f, 0.4072f, 0.2446f, -0.3066f, 0.0117f, 0.0f, 0.0f},
|
|
|
+ {0.0137f, -0.3555f, 0.3672f, 0.2852f, -0.3228f, 0.0122f, 0.0f, 0.0f},
|
|
|
+ {0.0132f, -0.3394f, 0.3262f, 0.3262f, -0.3394f, 0.0132f, 0.0f, 0.0f},
|
|
|
+ {0.0122f, -0.3228f, 0.2852f, 0.3672f, -0.3555f, 0.0137f, 0.0f, 0.0f},
|
|
|
+ {0.0117f, -0.3066f, 0.2446f, 0.4072f, -0.3711f, 0.0142f, 0.0f, 0.0f},
|
|
|
+ {0.0107f, -0.2910f, 0.2041f, 0.4497f, -0.3887f, 0.0151f, 0.0f, 0.0f},
|
|
|
+ {0.0103f, -0.2754f, 0.1655f, 0.4883f, -0.4048f, 0.0161f, 0.0f, 0.0f},
|
|
|
+ {0.0098f, -0.2598f, 0.1255f, 0.5283f, -0.4199f, 0.0161f, 0.0f, 0.0f},
|
|
|
+ {0.0088f, -0.2446f, 0.0859f, 0.5693f, -0.4370f, 0.0171f, 0.0f, 0.0f},
|
|
|
+ {0.0083f, -0.2290f, 0.0479f, 0.6055f, -0.4507f, 0.0176f, 0.0f, 0.0f},
|
|
|
+ {0.0073f, -0.2144f, 0.0093f, 0.6460f, -0.4668f, 0.0186f, 0.0f, 0.0f},
|
|
|
+ {0.0068f, -0.1997f, -0.0288f, 0.6846f, -0.4819f, 0.0186f, 0.0f, 0.0f},
|
|
|
+ {0.0063f, -0.1865f, -0.0649f, 0.7231f, -0.4966f, 0.0190f, 0.0f, 0.0f},
|
|
|
+ {0.0059f, -0.1724f, -0.1021f, 0.7598f, -0.5107f, 0.0195f, 0.0f, 0.0f},
|
|
|
+ {0.0054f, -0.1587f, -0.1367f, 0.7944f, -0.5239f, 0.0195f, 0.0f, 0.0f},
|
|
|
+ {0.0049f, -0.1465f, -0.1709f, 0.8301f, -0.5371f, 0.0200f, 0.0f, 0.0f},
|
|
|
+ {0.0044f, -0.1343f, -0.2046f, 0.8643f, -0.5498f, 0.0205f, 0.0f, 0.0f},
|
|
|
+ {0.0039f, -0.1226f, -0.2368f, 0.8975f, -0.5620f, 0.0200f, 0.0f, 0.0f},
|
|
|
+ {0.0034f, -0.1104f, -0.2690f, 0.9292f, -0.5728f, 0.0200f, 0.0f, 0.0f},
|
|
|
+ {0.0029f, -0.1001f, -0.2988f, 0.9580f, -0.5820f, 0.0200f, 0.0f, 0.0f},
|
|
|
+ {0.0024f, -0.0898f, -0.3286f, 0.9893f, -0.5928f, 0.0200f, 0.0f, 0.0f},
|
|
|
+ {0.0020f, -0.0796f, -0.3574f, 1.0161f, -0.6006f, 0.0195f, 0.0f, 0.0f},
|
|
|
+ {0.0015f, -0.0698f, -0.3843f, 1.0405f, -0.6069f, 0.0190f, 0.0f, 0.0f},
|
|
|
+ {0.0015f, -0.0615f, -0.4102f, 1.0659f, -0.6138f, 0.0181f, 0.0f, 0.0f},
|
|
|
+ {0.0010f, -0.0532f, -0.4346f, 1.0879f, -0.6187f, 0.0176f, 0.0f, 0.0f},
|
|
|
+ {0.0010f, -0.0454f, -0.4570f, 1.1089f, -0.6235f, 0.0166f, 0.0f, 0.0f},
|
|
|
+ {0.0005f, -0.0386f, -0.4790f, 1.1274f, -0.6265f, 0.0156f, 0.0f, 0.0f},
|
|
|
+ {0.0005f, -0.0317f, -0.5005f, 1.1455f, -0.6284f, 0.0142f, 0.0f, 0.0f},
|
|
|
+ {0.0005f, -0.0259f, -0.5181f, 1.1582f, -0.6270f, 0.0122f, 0.0f, 0.0f},
|
|
|
+ {0.0005f, -0.0195f, -0.5352f, 1.1699f, -0.6265f, 0.0112f, 0.0f, 0.0f},
|
|
|
+ {0.0f, -0.0151f, -0.5513f, 1.1802f, -0.6235f, 0.0093f, 0.0f, 0.0f},
|
|
|
+ {0.0f, -0.0103f, -0.5659f, 1.1890f, -0.6196f, 0.0073f, 0.0f, 0.0f},
|
|
|
+ {0.0005f, -0.0068f, -0.5791f, 1.1958f, -0.6147f, 0.0049f, 0.0f, 0.0f},
|
|
|
+ {0.0f, -0.0029f, -0.5903f, 1.1987f, -0.6084f, 0.0029f, 0.0f, 0.0f}
|
|
|
};
|
|
|
|
|
|
constexpr uint16_t coef_scale_fp16[kPhaseCount][kFilterSize] = {
|