blob: d3c33f255e293cf7388c4931aab0dcfc22df4ab8 [file] [log] [blame]
Steinar Midtskogena9d41e82017-03-17 12:48:15 +01001/*
2 * Copyright (c) 2016, Alliance for Open Media. All rights reserved
3 *
4 * This source code is subject to the terms of the BSD 2 Clause License and
5 * the Alliance for Open Media Patent License 1.0. If the BSD 2 Clause License
6 * was not distributed with this source code in the LICENSE file, you can
7 * obtain it at www.aomedia.org/license/software. If the Alliance for Open
8 * Media Patent License 1.0 was not distributed with this source code in the
9 * PATENTS file, you can obtain it at www.aomedia.org/license/patent.
10 */
11#ifndef AV1_COMMON_DERING_H_
12#define AV1_COMMON_DERING_H_
13
Jean-Marc Valin5f5c1322017-03-21 16:20:21 -040014#define CDEF_MAX_STRENGTHS 16
15#define CDEF_STRENGTH_BITS 7
Steinar Midtskogena9d41e82017-03-17 12:48:15 +010016
17#define DERING_STRENGTHS 21
18#define CLPF_STRENGTHS 4
19
20#include "./aom_config.h"
21#include "aom/aom_integer.h"
22#include "aom_ports/mem.h"
23#include "av1/common/od_dering.h"
24#include "av1/common/onyxc_int.h"
25#include "./od_dering.h"
26
27#ifdef __cplusplus
28extern "C" {
29#endif
30
31extern int dering_level_table[DERING_STRENGTHS];
32
Steinar Midtskogena9d41e82017-03-17 12:48:15 +010033int sb_all_skip(const AV1_COMMON *const cm, int mi_row, int mi_col);
34int sb_compute_dering_list(const AV1_COMMON *const cm, int mi_row, int mi_col,
35 dering_list *dlist);
36void av1_cdef_frame(YV12_BUFFER_CONFIG *frame, AV1_COMMON *cm, MACROBLOCKD *xd,
Jean-Marc Valin5f5c1322017-03-21 16:20:21 -040037 int clpf_strength_u, int clpf_strength_v);
Steinar Midtskogena9d41e82017-03-17 12:48:15 +010038
39void av1_cdef_search(YV12_BUFFER_CONFIG *frame, const YV12_BUFFER_CONFIG *ref,
40 AV1_COMMON *cm, MACROBLOCKD *xd);
41
42#ifdef __cplusplus
43} // extern "C"
44#endif
45#endif // AV1_COMMON_DERING_H_