- add third_party src.
[platform/framework/web/crosswalk.git] / src / third_party / libvpx / source / libvpx / vp8 / common / postproc.h
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 POSTPROC_H
13 #define 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 int vp8_post_proc_frame(struct VP8Common *oci, YV12_BUFFER_CONFIG *dest,
30                         vp8_ppflags_t *flags);
31
32
33 void vp8_de_noise(struct VP8Common           *oci,
34                   YV12_BUFFER_CONFIG         *source,
35                   YV12_BUFFER_CONFIG         *post,
36                   int                         q,
37                   int                         low_var_thresh,
38                   int                         flag);
39
40 void vp8_deblock(struct VP8Common           *oci,
41                  YV12_BUFFER_CONFIG         *source,
42                  YV12_BUFFER_CONFIG         *post,
43                  int                         q,
44                  int                         low_var_thresh,
45                  int                         flag);
46
47 #define MFQE_PRECISION 4
48
49 void vp8_multiframe_quality_enhance(struct VP8Common *cm);
50 #endif