1*09537850SAkhilesh Sanikop// Copyright 2019 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// Constants and utility functions used for overlap blend implementations. 16*09537850SAkhilesh Sanikop// This will be included inside an anonymous namespace on files where these are 17*09537850SAkhilesh Sanikop// necessary. 18*09537850SAkhilesh Sanikop 19*09537850SAkhilesh Sanikop// This is a flat array of masks for each block dimension from 2 to 32. The 20*09537850SAkhilesh Sanikop// starting index for each length is length-2. 21*09537850SAkhilesh Sanikopconstexpr uint8_t kObmcMask[62] = { 22*09537850SAkhilesh Sanikop // Obmc Mask 2 23*09537850SAkhilesh Sanikop 45, 64, 24*09537850SAkhilesh Sanikop // Obmc Mask 4 25*09537850SAkhilesh Sanikop 39, 50, 59, 64, 26*09537850SAkhilesh Sanikop // Obmc Mask 8 27*09537850SAkhilesh Sanikop 36, 42, 48, 53, 57, 61, 64, 64, 28*09537850SAkhilesh Sanikop // Obmc Mask 16 29*09537850SAkhilesh Sanikop 34, 37, 40, 43, 46, 49, 52, 54, 56, 58, 60, 61, 64, 64, 64, 64, 30*09537850SAkhilesh Sanikop // Obmc Mask 32 31*09537850SAkhilesh Sanikop 33, 35, 36, 38, 40, 41, 43, 44, 45, 47, 48, 50, 51, 52, 53, 55, 56, 57, 58, 32*09537850SAkhilesh Sanikop 59, 60, 60, 61, 62, 64, 64, 64, 64, 64, 64, 64, 64}; 33