1/* 2 * Copyright (c) 2010 The WebM project authors. All Rights Reserved. 3 * 4 * Use of this source code is governed by a BSD-style license 5 * that can be found in the LICENSE file in the root of the source 6 * tree. An additional intellectual property rights grant can be found 7 * in the file PATENTS. All contributing project authors may 8 * be found in the AUTHORS file in the root of the source tree. 9 */ 10 11 12#ifndef VP8_COMMON_POSTPROC_H_ 13#define VP8_COMMON_POSTPROC_H_ 14 15#include "vpx_ports/mem.h" 16struct postproc_state 17{ 18 int last_q; 19 int last_noise; 20 char noise[3072]; 21 int last_base_qindex; 22 int last_frame_valid; 23 DECLARE_ALIGNED(16, char, blackclamp[16]); 24 DECLARE_ALIGNED(16, char, whiteclamp[16]); 25 DECLARE_ALIGNED(16, char, bothclamp[16]); 26}; 27#include "onyxc_int.h" 28#include "ppflags.h" 29 30#ifdef __cplusplus 31extern "C" { 32#endif 33int vp8_post_proc_frame(struct VP8Common *oci, YV12_BUFFER_CONFIG *dest, 34 vp8_ppflags_t *flags); 35 36 37void vp8_de_noise(struct VP8Common *oci, 38 YV12_BUFFER_CONFIG *source, 39 YV12_BUFFER_CONFIG *post, 40 int q, 41 int low_var_thresh, 42 int flag, 43 int uvfilter); 44 45void vp8_deblock(struct VP8Common *oci, 46 YV12_BUFFER_CONFIG *source, 47 YV12_BUFFER_CONFIG *post, 48 int q, 49 int low_var_thresh, 50 int flag); 51 52#define MFQE_PRECISION 4 53 54void vp8_multiframe_quality_enhance(struct VP8Common *cm); 55#ifdef __cplusplus 56} // extern "C" 57#endif 58 59#endif // VP8_COMMON_POSTPROC_H_ 60