1*09537850SAkhilesh Sanikop // Copyright 2021 The libgav1 Authors 2*09537850SAkhilesh Sanikop // 3*09537850SAkhilesh Sanikop // Licensed under the Apache License, Version 2.0 (the "License"); 4*09537850SAkhilesh Sanikop // you may not use this file except in compliance with the License. 5*09537850SAkhilesh Sanikop // You may obtain a copy of the License at 6*09537850SAkhilesh Sanikop // 7*09537850SAkhilesh Sanikop // http://www.apache.org/licenses/LICENSE-2.0 8*09537850SAkhilesh Sanikop // 9*09537850SAkhilesh Sanikop // Unless required by applicable law or agreed to in writing, software 10*09537850SAkhilesh Sanikop // distributed under the License is distributed on an "AS IS" BASIS, 11*09537850SAkhilesh Sanikop // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12*09537850SAkhilesh Sanikop // See the License for the specific language governing permissions and 13*09537850SAkhilesh Sanikop // limitations under the License. 14*09537850SAkhilesh Sanikop 15*09537850SAkhilesh Sanikop #include "src/utils/segmentation.h" 16*09537850SAkhilesh Sanikop 17*09537850SAkhilesh Sanikop #include <cstdint> 18*09537850SAkhilesh Sanikop 19*09537850SAkhilesh Sanikop #include "gtest/gtest.h" 20*09537850SAkhilesh Sanikop #include "src/utils/common.h" 21*09537850SAkhilesh Sanikop #include "src/utils/types.h" 22*09537850SAkhilesh Sanikop 23*09537850SAkhilesh Sanikop namespace libgav1 { 24*09537850SAkhilesh Sanikop namespace { 25*09537850SAkhilesh Sanikop GetUnsignedBits(const unsigned int num_values)26*09537850SAkhilesh Sanikopint GetUnsignedBits(const unsigned int num_values) { 27*09537850SAkhilesh Sanikop return (num_values > 0) ? FloorLog2(num_values) + 1 : 0; 28*09537850SAkhilesh Sanikop } 29*09537850SAkhilesh Sanikop 30*09537850SAkhilesh Sanikop // Check that kSegmentationFeatureBits and kSegmentationFeatureMaxValues are 31*09537850SAkhilesh Sanikop // consistent with each other. TEST(SegmentationTest,FeatureBitsAndMaxValuesConsistency)32*09537850SAkhilesh SanikopTEST(SegmentationTest, FeatureBitsAndMaxValuesConsistency) { 33*09537850SAkhilesh Sanikop for (int feature = 0; feature < kSegmentFeatureMax; feature++) { 34*09537850SAkhilesh Sanikop EXPECT_EQ(kSegmentationFeatureBits[feature], 35*09537850SAkhilesh Sanikop GetUnsignedBits(kSegmentationFeatureMaxValues[feature])); 36*09537850SAkhilesh Sanikop } 37*09537850SAkhilesh Sanikop } 38*09537850SAkhilesh Sanikop 39*09537850SAkhilesh Sanikop } // namespace 40*09537850SAkhilesh Sanikop } // namespace libgav1 41