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 #ifndef VPX_VP8_COMMON_POSTPROC_H_
12 #define VPX_VP8_COMMON_POSTPROC_H_
13 
14 #include "vpx_ports/mem.h"
15 struct postproc_state {
16   int last_q;
17   int last_noise;
18   int last_base_qindex;
19   int last_frame_valid;
20   int clamp;
21   int8_t *generated_noise;
22 };
23 #include "onyxc_int.h"
24 #include "ppflags.h"
25 
26 #ifdef __cplusplus
27 extern "C" {
28 #endif
29 int vp8_post_proc_frame(struct VP8Common *oci, YV12_BUFFER_CONFIG *dest,
30                         vp8_ppflags_t *ppflags);
31 
32 void vp8_de_noise(struct VP8Common *cm, YV12_BUFFER_CONFIG *source, int q,
33                   int uvfilter);
34 
35 void vp8_deblock(struct VP8Common *cm, YV12_BUFFER_CONFIG *source,
36                  YV12_BUFFER_CONFIG *post, int q);
37 
38 #define MFQE_PRECISION 4
39 
40 void vp8_multiframe_quality_enhance(struct VP8Common *cm);
41 #ifdef __cplusplus
42 }  // extern "C"
43 #endif
44 
45 #endif  // VPX_VP8_COMMON_POSTPROC_H_
46