#include <math.h>
#include <stdlib.h>
#include <stdio.h>
#include "./vpx_dsp_rtcd.h"
#include "./vpx_config.h"
#include "./vpx_scale_rtcd.h"
#include "./vp9_rtcd.h"
#include "vpx_dsp/vpx_dsp_common.h"
#include "vpx_dsp/postproc.h"
#include "vpx_ports/mem.h"
#include "vpx_ports/system_state.h"
#include "vpx_scale/vpx_scale.h"
#include "vpx_scale/yv12config.h"
#include "vp9/common/vp9_onyxc_int.h"
#include "vp9/common/vp9_postproc.h"
#if CONFIG_VP9_POSTPROC
static const uint8_t q_diff_thresh = …;
static const uint8_t last_q_thresh = …;
extern const int16_t vpx_rv[];
#if CONFIG_VP9_HIGHBITDEPTH
static const int16_t kernel5[] = …;
void vp9_highbd_post_proc_down_and_across_c(const uint16_t *src_ptr,
uint16_t *dst_ptr,
int src_pixels_per_line,
int dst_pixels_per_line, int rows,
int cols, int flimit) { … }
#endif
static int q2mbl(int x) { … }
#if CONFIG_VP9_HIGHBITDEPTH
void vp9_highbd_mbpost_proc_across_ip_c(uint16_t *src, int pitch, int rows,
int cols, int flimit) { … }
#endif
#if CONFIG_VP9_HIGHBITDEPTH
void vp9_highbd_mbpost_proc_down_c(uint16_t *dst, int pitch, int rows, int cols,
int flimit) { … }
#endif
static void deblock_and_de_macro_block(VP9_COMMON *cm,
YV12_BUFFER_CONFIG *source,
YV12_BUFFER_CONFIG *post, int q,
int low_var_thresh, int flag,
uint8_t *limits) { … }
void vp9_deblock(struct VP9Common *cm, const YV12_BUFFER_CONFIG *src,
YV12_BUFFER_CONFIG *dst, int q, uint8_t *limits) { … }
void vp9_denoise(struct VP9Common *cm, const YV12_BUFFER_CONFIG *src,
YV12_BUFFER_CONFIG *dst, int q, uint8_t *limits) { … }
static void swap_mi_and_prev_mi(VP9_COMMON *cm) { … }
int vp9_post_proc_frame(struct VP9Common *cm, YV12_BUFFER_CONFIG *dest,
vp9_ppflags_t *ppflags, int unscaled_width) { … }
#endif