OLD | NEW |
1 /* | 1 /* |
2 * Copyright (c) 2010 The WebM project authors. All Rights Reserved. | 2 * Copyright (c) 2010 The WebM project authors. All Rights Reserved. |
3 * | 3 * |
4 * Use of this source code is governed by a BSD-style license | 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 | 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 | 6 * tree. An additional intellectual property rights grant can be found |
7 * in the file PATENTS. All contributing project authors may | 7 * in the file PATENTS. All contributing project authors may |
8 * be found in the AUTHORS file in the root of the source tree. | 8 * be found in the AUTHORS file in the root of the source tree. |
9 */ | 9 */ |
10 | 10 |
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
42 } loop_filter_info_n; | 42 } loop_filter_info_n; |
43 | 43 |
44 struct loop_filter_info { | 44 struct loop_filter_info { |
45 const unsigned char *mblim; | 45 const unsigned char *mblim; |
46 const unsigned char *blim; | 46 const unsigned char *blim; |
47 const unsigned char *lim; | 47 const unsigned char *lim; |
48 const unsigned char *hev_thr; | 48 const unsigned char *hev_thr; |
49 }; | 49 }; |
50 | 50 |
51 #define prototype_loopfilter(sym) \ | 51 #define prototype_loopfilter(sym) \ |
52 void sym(unsigned char *src, int pitch, const unsigned char *blimit,\ | 52 void sym(uint8_t *src, int pitch, const unsigned char *blimit, \ |
53 const unsigned char *limit, const unsigned char *thresh, int count) | 53 const unsigned char *limit, const unsigned char *thresh, int count) |
54 | 54 |
55 #define prototype_loopfilter_block(sym) \ | 55 #define prototype_loopfilter_block(sym) \ |
56 void sym(unsigned char *y, unsigned char *u, unsigned char *v, \ | 56 void sym(uint8_t *y, uint8_t *u, uint8_t *v, \ |
57 int ystride, int uv_stride, struct loop_filter_info *lfi) | 57 int ystride, int uv_stride, struct loop_filter_info *lfi) |
58 | 58 |
59 #define prototype_simple_loopfilter(sym) \ | 59 #define prototype_simple_loopfilter(sym) \ |
60 void sym(unsigned char *y, int ystride, const unsigned char *blimit) | 60 void sym(uint8_t *y, int ystride, const unsigned char *blimit) |
61 | 61 |
62 #if ARCH_X86 || ARCH_X86_64 | 62 #if ARCH_X86 || ARCH_X86_64 |
63 #include "x86/vp9_loopfilter_x86.h" | 63 #include "x86/vp9_loopfilter_x86.h" |
64 #endif | 64 #endif |
65 | 65 |
66 typedef void loop_filter_uvfunction(unsigned char *u, /* source pointer */ | 66 typedef void loop_filter_uvfunction(uint8_t *u, /* source pointer */ |
67 int p, /* pitch */ | 67 int p, /* pitch */ |
68 const unsigned char *blimit, | 68 const unsigned char *blimit, |
69 const unsigned char *limit, | 69 const unsigned char *limit, |
70 const unsigned char *thresh, | 70 const unsigned char *thresh, |
71 unsigned char *v); | 71 uint8_t *v); |
72 | 72 |
73 /* assorted loopfilter functions which get used elsewhere */ | 73 /* assorted loopfilter functions which get used elsewhere */ |
74 struct VP9Common; | 74 struct VP9Common; |
75 struct macroblockd; | 75 struct macroblockd; |
76 | 76 |
77 void vp9_loop_filter_init(struct VP9Common *cm); | 77 void vp9_loop_filter_init(struct VP9Common *cm); |
78 | 78 |
79 void vp9_loop_filter_frame_init(struct VP9Common *cm, | 79 void vp9_loop_filter_frame_init(struct VP9Common *cm, |
80 struct macroblockd *mbd, | 80 struct macroblockd *mbd, |
81 int default_filt_lvl); | 81 int default_filt_lvl); |
82 | 82 |
83 void vp9_loop_filter_frame(struct VP9Common *cm, struct macroblockd *mbd); | 83 void vp9_loop_filter_frame(struct VP9Common *cm, |
| 84 struct macroblockd *mbd, |
| 85 int filter_level, |
| 86 int y_only); |
84 | 87 |
85 void vp9_loop_filter_partial_frame(struct VP9Common *cm, | 88 void vp9_loop_filter_partial_frame(struct VP9Common *cm, |
86 struct macroblockd *mbd, | 89 struct macroblockd *mbd, |
87 int default_filt_lvl); | 90 int default_filt_lvl); |
88 | 91 |
89 void vp9_loop_filter_frame_yonly(struct VP9Common *cm, | |
90 struct macroblockd *mbd, | |
91 int default_filt_lvl); | |
92 | |
93 void vp9_loop_filter_update_sharpness(loop_filter_info_n *lfi, | 92 void vp9_loop_filter_update_sharpness(loop_filter_info_n *lfi, |
94 int sharpness_lvl); | 93 int sharpness_lvl); |
95 | 94 |
96 #endif // loopfilter_h | 95 void vp9_mb_lpf_horizontal_edge_w(unsigned char *s, int p, |
| 96 const unsigned char *blimit, |
| 97 const unsigned char *limit, |
| 98 const unsigned char *thresh, |
| 99 int count); |
| 100 |
| 101 void vp9_mb_lpf_vertical_edge_w(unsigned char *s, int p, |
| 102 const unsigned char *blimit, |
| 103 const unsigned char *limit, |
| 104 const unsigned char *thresh, |
| 105 int count); |
| 106 #endif // VP9_COMMON_VP9_LOOPFILTER_H_ |
OLD | NEW |