1*09537850SAkhilesh Sanikop /* 2*09537850SAkhilesh Sanikop * Copyright 2019 The libgav1 Authors 3*09537850SAkhilesh Sanikop * 4*09537850SAkhilesh Sanikop * Licensed under the Apache License, Version 2.0 (the "License"); 5*09537850SAkhilesh Sanikop * you may not use this file except in compliance with the License. 6*09537850SAkhilesh Sanikop * You may obtain a copy of the License at 7*09537850SAkhilesh Sanikop * 8*09537850SAkhilesh Sanikop * http://www.apache.org/licenses/LICENSE-2.0 9*09537850SAkhilesh Sanikop * 10*09537850SAkhilesh Sanikop * Unless required by applicable law or agreed to in writing, software 11*09537850SAkhilesh Sanikop * distributed under the License is distributed on an "AS IS" BASIS, 12*09537850SAkhilesh Sanikop * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13*09537850SAkhilesh Sanikop * See the License for the specific language governing permissions and 14*09537850SAkhilesh Sanikop * limitations under the License. 15*09537850SAkhilesh Sanikop */ 16*09537850SAkhilesh Sanikop 17*09537850SAkhilesh Sanikop #ifndef LIBGAV1_SRC_PREDICTION_MASK_H_ 18*09537850SAkhilesh Sanikop #define LIBGAV1_SRC_PREDICTION_MASK_H_ 19*09537850SAkhilesh Sanikop 20*09537850SAkhilesh Sanikop #include "src/utils/bit_mask_set.h" 21*09537850SAkhilesh Sanikop #include "src/utils/types.h" 22*09537850SAkhilesh Sanikop 23*09537850SAkhilesh Sanikop namespace libgav1 { 24*09537850SAkhilesh Sanikop 25*09537850SAkhilesh Sanikop constexpr BitMaskSet kIsWedgeCompoundModeAllowed(kBlock8x8, kBlock8x16, 26*09537850SAkhilesh Sanikop kBlock8x32, kBlock16x8, 27*09537850SAkhilesh Sanikop kBlock16x16, kBlock16x32, 28*09537850SAkhilesh Sanikop kBlock32x8, kBlock32x16, 29*09537850SAkhilesh Sanikop kBlock32x32); 30*09537850SAkhilesh Sanikop 31*09537850SAkhilesh Sanikop // This function generates wedge masks. It should be called only once for the 32*09537850SAkhilesh Sanikop // decoder. If the video is key frame only, we don't have to call this 33*09537850SAkhilesh Sanikop // function. Returns true on success, false on allocation failure. 34*09537850SAkhilesh Sanikop // 7.11.3.11. 35*09537850SAkhilesh Sanikop bool GenerateWedgeMask(WedgeMaskArray* wedge_masks); 36*09537850SAkhilesh Sanikop 37*09537850SAkhilesh Sanikop } // namespace libgav1 38*09537850SAkhilesh Sanikop #endif // LIBGAV1_SRC_PREDICTION_MASK_H_ 39