From: James Zern Date: Tue, 19 Dec 2017 07:17:45 +0000 (-0800) Subject: lpf_test: correct threshold ranges X-Git-Tag: v1.7.0~12^2 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=5203b40a2a839e92cc40c2683d2226865756cf4c;p=libvpx lpf_test: correct threshold ranges the random number generator creates values from [0, range) add 1 to all and make hev more realistic by mirroring its calculation of level >> 4, i.e., [0, 3] Change-Id: Ic19be5d7ba668deb17c96f143b739116a4b5d21c --- diff --git a/test/lpf_test.cc b/test/lpf_test.cc index 4fca7d49c..e04b996cd 100644 --- a/test/lpf_test.cc +++ b/test/lpf_test.cc @@ -114,6 +114,18 @@ void InitInput(Pixel *s, Pixel *ref_s, ACMRandom *rnd, const uint8_t limit, } } +uint8_t GetOuterThresh(ACMRandom *rnd) { + return static_cast(rnd->RandRange(3 * MAX_LOOP_FILTER + 5)); +} + +uint8_t GetInnerThresh(ACMRandom *rnd) { + return static_cast(rnd->RandRange(MAX_LOOP_FILTER + 1)); +} + +uint8_t GetHevThresh(ACMRandom *rnd) { + return static_cast(rnd->RandRange(MAX_LOOP_FILTER + 1) >> 4); +} + class Loop8Test6Param : public ::testing::TestWithParam { public: virtual ~Loop8Test6Param() {} @@ -162,15 +174,15 @@ TEST_P(Loop8Test6Param, OperationCheck) { int first_failure = -1; for (int i = 0; i < count_test_block; ++i) { int err_count = 0; - uint8_t tmp = static_cast(rnd(3 * MAX_LOOP_FILTER + 4)); + uint8_t tmp = GetOuterThresh(&rnd); DECLARE_ALIGNED(16, const uint8_t, blimit[16]) = { tmp, tmp, tmp, tmp, tmp, tmp, tmp, tmp, tmp, tmp, tmp, tmp, tmp, tmp, tmp, tmp }; - tmp = static_cast(rnd(MAX_LOOP_FILTER)); + tmp = GetInnerThresh(&rnd); DECLARE_ALIGNED(16, const uint8_t, limit[16]) = { tmp, tmp, tmp, tmp, tmp, tmp, tmp, tmp, tmp, tmp, tmp, tmp, tmp, tmp, tmp, tmp }; - tmp = rnd.Rand8(); + tmp = GetHevThresh(&rnd); DECLARE_ALIGNED(16, const uint8_t, thresh[16]) = { tmp, tmp, tmp, tmp, tmp, tmp, tmp, tmp, tmp, tmp, tmp, tmp, tmp, tmp, tmp, tmp }; @@ -221,15 +233,15 @@ TEST_P(Loop8Test6Param, ValueCheck) { for (int i = 0; i < count_test_block; ++i) { int err_count = 0; - uint8_t tmp = static_cast(rnd(3 * MAX_LOOP_FILTER + 4)); + uint8_t tmp = GetOuterThresh(&rnd); DECLARE_ALIGNED(16, const uint8_t, blimit[16]) = { tmp, tmp, tmp, tmp, tmp, tmp, tmp, tmp, tmp, tmp, tmp, tmp, tmp, tmp, tmp, tmp }; - tmp = static_cast(rnd(MAX_LOOP_FILTER)); + tmp = GetInnerThresh(&rnd); DECLARE_ALIGNED(16, const uint8_t, limit[16]) = { tmp, tmp, tmp, tmp, tmp, tmp, tmp, tmp, tmp, tmp, tmp, tmp, tmp, tmp, tmp, tmp }; - tmp = rnd.Rand8(); + tmp = GetHevThresh(&rnd); DECLARE_ALIGNED(16, const uint8_t, thresh[16]) = { tmp, tmp, tmp, tmp, tmp, tmp, tmp, tmp, tmp, tmp, tmp, tmp, tmp, tmp, tmp, tmp }; @@ -271,27 +283,27 @@ TEST_P(Loop8Test9Param, OperationCheck) { int first_failure = -1; for (int i = 0; i < count_test_block; ++i) { int err_count = 0; - uint8_t tmp = static_cast(rnd(3 * MAX_LOOP_FILTER + 4)); + uint8_t tmp = GetOuterThresh(&rnd); DECLARE_ALIGNED(16, const uint8_t, blimit0[16]) = { tmp, tmp, tmp, tmp, tmp, tmp, tmp, tmp, tmp, tmp, tmp, tmp, tmp, tmp, tmp, tmp }; - tmp = static_cast(rnd(MAX_LOOP_FILTER)); + tmp = GetInnerThresh(&rnd); DECLARE_ALIGNED(16, const uint8_t, limit0[16]) = { tmp, tmp, tmp, tmp, tmp, tmp, tmp, tmp, tmp, tmp, tmp, tmp, tmp, tmp, tmp, tmp }; - tmp = rnd.Rand8(); + tmp = GetHevThresh(&rnd); DECLARE_ALIGNED(16, const uint8_t, thresh0[16]) = { tmp, tmp, tmp, tmp, tmp, tmp, tmp, tmp, tmp, tmp, tmp, tmp, tmp, tmp, tmp, tmp }; - tmp = static_cast(rnd(3 * MAX_LOOP_FILTER + 4)); + tmp = GetOuterThresh(&rnd); DECLARE_ALIGNED(16, const uint8_t, blimit1[16]) = { tmp, tmp, tmp, tmp, tmp, tmp, tmp, tmp, tmp, tmp, tmp, tmp, tmp, tmp, tmp, tmp }; - tmp = static_cast(rnd(MAX_LOOP_FILTER)); + tmp = GetInnerThresh(&rnd); DECLARE_ALIGNED(16, const uint8_t, limit1[16]) = { tmp, tmp, tmp, tmp, tmp, tmp, tmp, tmp, tmp, tmp, tmp, tmp, tmp, tmp, tmp, tmp }; - tmp = rnd.Rand8(); + tmp = GetHevThresh(&rnd); DECLARE_ALIGNED(16, const uint8_t, thresh1[16]) = { tmp, tmp, tmp, tmp, tmp, tmp, tmp, tmp, tmp, tmp, tmp, tmp, tmp, tmp, tmp, tmp }; @@ -334,27 +346,27 @@ TEST_P(Loop8Test9Param, ValueCheck) { int first_failure = -1; for (int i = 0; i < count_test_block; ++i) { int err_count = 0; - uint8_t tmp = static_cast(rnd(3 * MAX_LOOP_FILTER + 4)); + uint8_t tmp = GetOuterThresh(&rnd); DECLARE_ALIGNED(16, const uint8_t, blimit0[16]) = { tmp, tmp, tmp, tmp, tmp, tmp, tmp, tmp, tmp, tmp, tmp, tmp, tmp, tmp, tmp, tmp }; - tmp = static_cast(rnd(MAX_LOOP_FILTER)); + tmp = GetInnerThresh(&rnd); DECLARE_ALIGNED(16, const uint8_t, limit0[16]) = { tmp, tmp, tmp, tmp, tmp, tmp, tmp, tmp, tmp, tmp, tmp, tmp, tmp, tmp, tmp, tmp }; - tmp = rnd.Rand8(); + tmp = GetHevThresh(&rnd); DECLARE_ALIGNED(16, const uint8_t, thresh0[16]) = { tmp, tmp, tmp, tmp, tmp, tmp, tmp, tmp, tmp, tmp, tmp, tmp, tmp, tmp, tmp, tmp }; - tmp = static_cast(rnd(3 * MAX_LOOP_FILTER + 4)); + tmp = GetOuterThresh(&rnd); DECLARE_ALIGNED(16, const uint8_t, blimit1[16]) = { tmp, tmp, tmp, tmp, tmp, tmp, tmp, tmp, tmp, tmp, tmp, tmp, tmp, tmp, tmp, tmp }; - tmp = static_cast(rnd(MAX_LOOP_FILTER)); + tmp = GetInnerThresh(&rnd); DECLARE_ALIGNED(16, const uint8_t, limit1[16]) = { tmp, tmp, tmp, tmp, tmp, tmp, tmp, tmp, tmp, tmp, tmp, tmp, tmp, tmp, tmp, tmp }; - tmp = rnd.Rand8(); + tmp = GetHevThresh(&rnd); DECLARE_ALIGNED(16, const uint8_t, thresh1[16]) = { tmp, tmp, tmp, tmp, tmp, tmp, tmp, tmp, tmp, tmp, tmp, tmp, tmp, tmp, tmp, tmp };