#ifndef AOM_AV1_COMMON_CDEF_H_
#define AOM_AV1_COMMON_CDEF_H_
#define CDEF_STRENGTH_BITS …
#define CDEF_PRI_STRENGTHS …
#define CDEF_SEC_STRENGTHS …
#include "config/aom_config.h"
#include "aom/aom_integer.h"
#include "aom_ports/mem.h"
#include "av1/common/av1_common_int.h"
#include "av1/common/cdef_block.h"
enum { … } UENUM1BYTE(…) …;
struct AV1CdefSyncData;
CdefBlockInfo;
static inline int sign(int i) { … }
static inline int constrain(int diff, int threshold, int damping) { … }
#ifdef __cplusplus
extern "C" {
#endif
int av1_cdef_compute_sb_list(const CommonModeInfoParams *const mi_params,
int mi_row, int mi_col, cdef_list *dlist,
BLOCK_SIZE bsize);
cdef_init_fb_row_t;
void av1_cdef_frame(YV12_BUFFER_CONFIG *frame, AV1_COMMON *const cm,
MACROBLOCKD *xd, cdef_init_fb_row_t cdef_init_fb_row_fn);
void av1_cdef_fb_row(const AV1_COMMON *const cm, MACROBLOCKD *xd,
uint16_t **const linebuf, uint16_t **const colbuf,
uint16_t *const src, int fbr,
cdef_init_fb_row_t cdef_init_fb_row_fn,
struct AV1CdefSyncData *const cdef_sync,
struct aom_internal_error_info *error_info);
void av1_cdef_init_fb_row(const AV1_COMMON *const cm,
const MACROBLOCKD *const xd,
CdefBlockInfo *const fb_info,
uint16_t **const linebuf, uint16_t *const src,
struct AV1CdefSyncData *const cdef_sync, int fbr);
#ifdef __cplusplus
}
#endif
#endif