aboutsummaryrefslogtreecommitdiff
path: root/src/dsp/cdef.inc
diff options
context:
space:
mode:
authorqinxialei <xialeiqin@gmail.com>2020-10-29 09:38:08 +0800
committerqinxialei <xialeiqin@gmail.com>2020-10-29 09:38:08 +0800
commit4eb6d7873ba9e7b23a44f41cc3abb9326effcaf4 (patch)
tree5fa44533836e8c26b71dd5c6f1bb77226ef76501 /src/dsp/cdef.inc
downloadlibgav1-4eb6d7873ba9e7b23a44f41cc3abb9326effcaf4.tar.gz
libgav1-4eb6d7873ba9e7b23a44f41cc3abb9326effcaf4.tar.bz2
libgav1-4eb6d7873ba9e7b23a44f41cc3abb9326effcaf4.zip
Initial commit
Diffstat (limited to 'src/dsp/cdef.inc')
-rw-r--r--src/dsp/cdef.inc29
1 files changed, 29 insertions, 0 deletions
diff --git a/src/dsp/cdef.inc b/src/dsp/cdef.inc
new file mode 100644
index 0000000..c1a3136
--- /dev/null
+++ b/src/dsp/cdef.inc
@@ -0,0 +1,29 @@
+// Copyright 2020 The libgav1 Authors
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+// Constants used for cdef implementations.
+// This will be included inside an anonymous namespace on files where these are
+// necessary.
+
+const int8_t (*const kCdefDirections)[2][2] = kCdefDirectionsPadded + 2;
+
+// Mirror values and pad to 16 elements.
+alignas(16) constexpr uint32_t kCdefDivisionTable[] = {
+ 840, 420, 280, 210, 168, 140, 120, 105,
+ 120, 140, 168, 210, 280, 420, 840, 0};
+
+// Used when calculating odd |cost[x]| values to mask off unwanted elements.
+// Holds elements 1 3 5 X 5 3 1 X
+alignas(16) constexpr uint32_t kCdefDivisionTableOdd[] = {420, 210, 140, 0,
+ 140, 210, 420, 0};