xref: /aosp_15_r20/external/libgav1/src/utils/segmentation_test.cc (revision 095378508e87ed692bf8dfeb34008b65b3735891)
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 Sanikop int 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 Sanikop TEST(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