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_DSP_CONSTANTS_H_ 18*09537850SAkhilesh Sanikop #define LIBGAV1_SRC_DSP_CONSTANTS_H_ 19*09537850SAkhilesh Sanikop 20*09537850SAkhilesh Sanikop // This file contains DSP related constants that have a direct relationship with 21*09537850SAkhilesh Sanikop // a DSP component. 22*09537850SAkhilesh Sanikop 23*09537850SAkhilesh Sanikop #include <cstdint> 24*09537850SAkhilesh Sanikop 25*09537850SAkhilesh Sanikop #include "src/utils/constants.h" 26*09537850SAkhilesh Sanikop 27*09537850SAkhilesh Sanikop namespace libgav1 { 28*09537850SAkhilesh Sanikop 29*09537850SAkhilesh Sanikop enum { 30*09537850SAkhilesh Sanikop kCflLumaBufferStride = 32, 31*09537850SAkhilesh Sanikop }; // anonymous enum 32*09537850SAkhilesh Sanikop 33*09537850SAkhilesh Sanikop extern const int8_t kFilterIntraTaps[kNumFilterIntraPredictors][8][8]; 34*09537850SAkhilesh Sanikop 35*09537850SAkhilesh Sanikop // Values in this enum can be derived as the sum of subsampling_x and 36*09537850SAkhilesh Sanikop // subsampling_y (since subsampling_x == 0 && subsampling_y == 1 case is never 37*09537850SAkhilesh Sanikop // allowed by the bitstream). 38*09537850SAkhilesh Sanikop enum SubsamplingType : uint8_t { 39*09537850SAkhilesh Sanikop kSubsamplingType444, // subsampling_x = 0, subsampling_y = 0. 40*09537850SAkhilesh Sanikop kSubsamplingType422, // subsampling_x = 1, subsampling_y = 0. 41*09537850SAkhilesh Sanikop kSubsamplingType420, // subsampling_x = 1, subsampling_y = 1. 42*09537850SAkhilesh Sanikop kNumSubsamplingTypes 43*09537850SAkhilesh Sanikop }; 44*09537850SAkhilesh Sanikop 45*09537850SAkhilesh Sanikop extern const uint16_t kSgrScaleParameter[16][2]; 46*09537850SAkhilesh Sanikop 47*09537850SAkhilesh Sanikop extern const uint8_t kCdefPrimaryTaps[2][2]; 48*09537850SAkhilesh Sanikop 49*09537850SAkhilesh Sanikop extern const int8_t kCdefDirectionsPadded[12][2][2]; 50*09537850SAkhilesh Sanikop 51*09537850SAkhilesh Sanikop } // namespace libgav1 52*09537850SAkhilesh Sanikop 53*09537850SAkhilesh Sanikop #endif // LIBGAV1_SRC_DSP_CONSTANTS_H_ 54