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" 16 struct 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 31 extern "C" { 32 #endif 33 int vp8_post_proc_frame(struct VP8Common *oci, YV12_BUFFER_CONFIG *dest, 34 vp8_ppflags_t *flags); 35 36 37 void 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 45 void 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 54 void vp8_multiframe_quality_enhance(struct VP8Common *cm); 55 #ifdef __cplusplus 56 } // extern "C" 57 #endif 58 59 #endif // VP8_COMMON_POSTPROC_H_ 60