John Koleszar | 0ea50ce | 2010-05-18 11:58:33 -0400 | [diff] [blame] | 1 | /* |
John Koleszar | c2140b8 | 2010-09-09 08:16:39 -0400 | [diff] [blame] | 2 | * Copyright (c) 2010 The WebM project authors. All Rights Reserved. |
John Koleszar | 0ea50ce | 2010-05-18 11:58:33 -0400 | [diff] [blame] | 3 | * |
John Koleszar | 94c52e4 | 2010-06-18 12:39:21 -0400 | [diff] [blame] | 4 | * Use of this source code is governed by a BSD-style license |
John Koleszar | 09202d8 | 2010-06-04 16:19:40 -0400 | [diff] [blame] | 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 |
John Koleszar | 94c52e4 | 2010-06-18 12:39:21 -0400 | [diff] [blame] | 7 | * in the file PATENTS. All contributing project authors may |
John Koleszar | 09202d8 | 2010-06-04 16:19:40 -0400 | [diff] [blame] | 8 | * be found in the AUTHORS file in the root of the source tree. |
John Koleszar | 0ea50ce | 2010-05-18 11:58:33 -0400 | [diff] [blame] | 9 | */ |
| 10 | |
| 11 | |
James Zern | e903cac | 2013-12-15 18:20:21 -0800 | [diff] [blame] | 12 | #ifndef VP8_COMMON_POSTPROC_H_ |
| 13 | #define VP8_COMMON_POSTPROC_H_ |
John Koleszar | 0ea50ce | 2010-05-18 11:58:33 -0400 | [diff] [blame] | 14 | |
John Koleszar | 0ea50ce | 2010-05-18 11:58:33 -0400 | [diff] [blame] | 15 | #include "vpx_ports/mem.h" |
| 16 | struct postproc_state |
| 17 | { |
| 18 | int last_q; |
| 19 | int last_noise; |
| 20 | char noise[3072]; |
Deb Mukherjee | 87aa846 | 2011-12-20 14:50:31 -0800 | [diff] [blame] | 21 | int last_base_qindex; |
Deb Mukherjee | 66ba79f | 2012-03-22 09:13:18 -0700 | [diff] [blame] | 22 | int last_frame_valid; |
John Koleszar | 0ea50ce | 2010-05-18 11:58:33 -0400 | [diff] [blame] | 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" |
James Zern | aceba82 | 2014-01-18 12:16:11 -0800 | [diff] [blame] | 29 | |
| 30 | #ifdef __cplusplus |
| 31 | extern "C" { |
| 32 | #endif |
John Koleszar | 0ea50ce | 2010-05-18 11:58:33 -0400 | [diff] [blame] | 33 | int vp8_post_proc_frame(struct VP8Common *oci, YV12_BUFFER_CONFIG *dest, |
Fritz Koenig | 647df00 | 2010-11-04 16:03:36 -0700 | [diff] [blame] | 34 | vp8_ppflags_t *flags); |
John Koleszar | 0ea50ce | 2010-05-18 11:58:33 -0400 | [diff] [blame] | 35 | |
| 36 | |
Yunqing Wang | f6886c4 | 2012-10-10 11:27:11 -0700 | [diff] [blame] | 37 | void vp8_de_noise(struct VP8Common *oci, |
| 38 | YV12_BUFFER_CONFIG *source, |
John Koleszar | 0ea50ce | 2010-05-18 11:58:33 -0400 | [diff] [blame] | 39 | YV12_BUFFER_CONFIG *post, |
| 40 | int q, |
| 41 | int low_var_thresh, |
Marco | 06fce6b | 2014-09-10 10:12:45 -0700 | [diff] [blame] | 42 | int flag, |
| 43 | int uvfilter); |
Luca Barbato | e7876ab | 2010-05-28 10:37:43 +0200 | [diff] [blame] | 44 | |
Yunqing Wang | 4c53bac | 2012-09-28 10:13:07 -0700 | [diff] [blame] | 45 | void vp8_deblock(struct VP8Common *oci, |
| 46 | YV12_BUFFER_CONFIG *source, |
Luca Barbato | e7876ab | 2010-05-28 10:37:43 +0200 | [diff] [blame] | 47 | YV12_BUFFER_CONFIG *post, |
| 48 | int q, |
| 49 | int low_var_thresh, |
John Koleszar | 2a8f57f | 2012-01-12 16:55:44 -0800 | [diff] [blame] | 50 | int flag); |
Johann | fd90390 | 2012-01-27 10:23:52 -0800 | [diff] [blame] | 51 | |
| 52 | #define MFQE_PRECISION 4 |
| 53 | |
| 54 | void vp8_multiframe_quality_enhance(struct VP8Common *cm); |
James Zern | aceba82 | 2014-01-18 12:16:11 -0800 | [diff] [blame] | 55 | #ifdef __cplusplus |
| 56 | } // extern "C" |
| 57 | #endif |
| 58 | |
James Zern | e903cac | 2013-12-15 18:20:21 -0800 | [diff] [blame] | 59 | #endif // VP8_COMMON_POSTPROC_H_ |