• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1// Copyright 2020 The libgav1 Authors
2//
3// Licensed under the Apache License, Version 2.0 (the "License");
4// you may not use this file except in compliance with the License.
5// You may obtain a copy of the License at
6//
7//      http://www.apache.org/licenses/LICENSE-2.0
8//
9// Unless required by applicable law or agreed to in writing, software
10// distributed under the License is distributed on an "AS IS" BASIS,
11// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12// See the License for the specific language governing permissions and
13// limitations under the License.
14
15// Constants used for cdef implementations.
16// This will be included inside an anonymous namespace on files where these are
17// necessary.
18
19const int8_t (*const kCdefDirections)[2][2] = kCdefDirectionsPadded + 2;
20
21// Mirror values and pad to 16 elements.
22alignas(16) constexpr uint32_t kCdefDivisionTable[] = {
23    840, 420, 280, 210, 168, 140, 120, 105,
24    120, 140, 168, 210, 280, 420, 840, 0};
25
26// Used when calculating odd |cost[x]| values to mask off unwanted elements.
27// Holds elements 1 3 5 X 5 3 1 X
28alignas(16) constexpr uint32_t kCdefDivisionTableOdd[] = {420, 210, 140, 0,
29                                                          140, 210, 420, 0};
30