diff options
author | Daniil Cherednik <dan.cherednik@gmail.com> | 2017-08-06 00:28:18 +0300 |
---|---|---|
committer | Daniil Cherednik <dan.cherednik@gmail.com> | 2017-10-17 01:08:53 +0300 |
commit | 43e508b0b607054d2a720e8d9c3a11947d6f798d (patch) | |
tree | c9d70e031a21ec9dcf45ab1d18727f267724c30f /src/atrac3denc_ut.cpp | |
parent | fcb5986d9d21d923db2480be5089168fc1d1fcd2 (diff) | |
download | atracdenc-43e508b0b607054d2a720e8d9c3a11947d6f798d.tar.gz |
Simplest gain control - scale first part of frame if the attack transient was detected
Diffstat (limited to 'src/atrac3denc_ut.cpp')
-rw-r--r-- | src/atrac3denc_ut.cpp | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/src/atrac3denc_ut.cpp b/src/atrac3denc_ut.cpp index a80db5a..7813210 100644 --- a/src/atrac3denc_ut.cpp +++ b/src/atrac3denc_ut.cpp @@ -345,6 +345,38 @@ TEST(TAtrac3MDCT, TAtrac3MDCTSignalWithGainCompensationAndManualTransient) { } } +TEST(AtracGainControl, RelToIdxTest) { + + EXPECT_EQ(4, RelationToIdx(1)); + EXPECT_EQ(4, RelationToIdx(1.8)); + EXPECT_EQ(3, RelationToIdx(2)); + EXPECT_EQ(3, RelationToIdx(3)); + EXPECT_EQ(3, RelationToIdx(3.5)); + EXPECT_EQ(2, RelationToIdx(4)); + EXPECT_EQ(2, RelationToIdx(7)); + EXPECT_EQ(1, RelationToIdx(8)); + EXPECT_EQ(1, RelationToIdx(15)); + EXPECT_EQ(0, RelationToIdx(16)); + EXPECT_EQ(0, RelationToIdx(9999)); + + EXPECT_EQ(4, RelationToIdx(0.8)); + EXPECT_EQ(5, RelationToIdx(0.5)); + EXPECT_EQ(5, RelationToIdx(0.4)); + EXPECT_EQ(5, RelationToIdx(0.3)); + EXPECT_EQ(6, RelationToIdx(0.25)); + EXPECT_EQ(6, RelationToIdx(0.126)); + EXPECT_EQ(7, RelationToIdx(0.125)); + EXPECT_EQ(7, RelationToIdx(0.0626)); + EXPECT_EQ(8, RelationToIdx(0.0625)); + EXPECT_EQ(8, RelationToIdx(0.03126)); + EXPECT_EQ(9, RelationToIdx(0.03125)); + EXPECT_EQ(9, RelationToIdx(0.015626)); + EXPECT_EQ(10, RelationToIdx(0.015625)); + EXPECT_EQ(13, RelationToIdx(0.001953125)); + EXPECT_EQ(15, RelationToIdx(0.00048828125)); + EXPECT_EQ(15, RelationToIdx(0.00000048828125)); +} + TEST(TAtrac3MDCT, TAtrac3MDCTWindow) { TWindowTest test; test.RunTest(); |