diff options
author | Daniil Cherednik <dan.cherednik@gmail.com> | 2016-03-13 09:49:33 +0300 |
---|---|---|
committer | Daniil Cherednik <dan.cherednik@gmail.com> | 2016-09-02 21:21:28 +0300 |
commit | cfaa2cd39b7256a868a4f5cd83aac207df6bd1b3 (patch) | |
tree | 75efff26584e046566d17cd308d45b6b0fd5abfc /src/bitstream/bitstream_ut.cpp | |
parent | b4df8a7c2dd12eea27c8cc52bd52a1bb8c00943f (diff) | |
download | atracdenc-cfaa2cd39b7256a868a4f5cd83aac207df6bd1b3.tar.gz |
Dirty implementation of atrac3 encoder:
- no JS mode
- constant quantiser for tonal components
- gain controll implemented but produces some artifacts with real signals.
- etc...
Diffstat (limited to 'src/bitstream/bitstream_ut.cpp')
-rw-r--r-- | src/bitstream/bitstream_ut.cpp | 63 |
1 files changed, 62 insertions, 1 deletions
diff --git a/src/bitstream/bitstream_ut.cpp b/src/bitstream/bitstream_ut.cpp index 109570b..7e246ca 100644 --- a/src/bitstream/bitstream_ut.cpp +++ b/src/bitstream/bitstream_ut.cpp @@ -11,8 +11,10 @@ TEST(TBitStream, DefaultConstructor) { TEST(TBitStream, SimpleWriteRead) { TBitStream bs; bs.Write(5, 3); - EXPECT_EQ(3, bs.GetSizeInBits()); + bs.Write(true, 1); + EXPECT_EQ(4, bs.GetSizeInBits()); EXPECT_EQ(5, bs.Read(3)); + EXPECT_EQ(true, bs.Read(1)); } TEST(TBisStream, OverlapWriteRead) { @@ -30,6 +32,7 @@ TEST(TBisStream, OverlapWriteRead) { EXPECT_EQ(212, bs.Read(22)); EXPECT_EQ(323, bs.Read(22)); } + TEST(TBisStream, OverlapWriteRead2) { TBitStream bs; bs.Write(2, 2); @@ -41,6 +44,64 @@ TEST(TBisStream, OverlapWriteRead2) { EXPECT_EQ(10003, bs.Read(16)); } +TEST(TBisStream, OverlapWriteRead3) { + TBitStream bs; + bs.Write(40, 6); + bs.Write(3, 2); + bs.Write(0, 3); + bs.Write(0, 3); + bs.Write(0, 3); + bs.Write(0, 3); + + bs.Write(3, 5); + bs.Write(1, 2); + bs.Write(1, 1); + bs.Write(1, 1); + bs.Write(1, 1); + bs.Write(1, 1); + + bs.Write(0, 3); + bs.Write(4, 3); + bs.Write(35, 6); + bs.Write(25, 6); + bs.Write(3, 3); + bs.Write(32, 6); + bs.Write(29, 6); + bs.Write(3, 3); + bs.Write(36, 6); + bs.Write(49, 6); + + + + + EXPECT_EQ(40, bs.Read(6)); + EXPECT_EQ(3, bs.Read(2)); + EXPECT_EQ(0, bs.Read(3)); + EXPECT_EQ(0, bs.Read(3)); + EXPECT_EQ(0, bs.Read(3)); + EXPECT_EQ(0, bs.Read(3)); + EXPECT_EQ(3, bs.Read(5)); + + EXPECT_EQ(1, bs.Read(2)); + EXPECT_EQ(1, bs.Read(1)); + EXPECT_EQ(1, bs.Read(1)); + EXPECT_EQ(1, bs.Read(1)); + EXPECT_EQ(1, bs.Read(1)); + + EXPECT_EQ(0, bs.Read(3)); + EXPECT_EQ(4, bs.Read(3)); + EXPECT_EQ(35, bs.Read(6)); + EXPECT_EQ(25, bs.Read(6)); + EXPECT_EQ(3, bs.Read(3)); + EXPECT_EQ(32, bs.Read(6)); + EXPECT_EQ(29, bs.Read(6)); + EXPECT_EQ(3, bs.Read(3)); + EXPECT_EQ(36, bs.Read(6)); + EXPECT_EQ(49, bs.Read(6)); + +} + + TEST(TBisStream, SignWriteRead) { TBitStream bs; bs.Write(MakeSign(-2, 3), 3); |