Index: libvpx/source/libvpx/vp8/common/loopfilter.h |
diff --git a/libvpx/source/libvpx/vp8/common/loopfilter.h b/libvpx/source/libvpx/vp8/common/loopfilter.h |
index 9887cf55b332af9891052ac13d313367e192c65b..2e5997c733feb21be93597427df0703ce579c309 100644 |
--- a/libvpx/source/libvpx/vp8/common/loopfilter.h |
+++ b/libvpx/source/libvpx/vp8/common/loopfilter.h |
@@ -13,7 +13,6 @@ |
#define loopfilter_h |
#include "vpx_ports/mem.h" |
-#include "vpx_config.h" |
#define MAX_LOOP_FILTER 63 |
@@ -23,45 +22,26 @@ typedef enum |
SIMPLE_LOOPFILTER = 1 |
} LOOPFILTERTYPE; |
-#if ARCH_ARM |
-#define SIMD_WIDTH 1 |
-#else |
-#define SIMD_WIDTH 16 |
-#endif |
- |
-/* Need to align this structure so when it is declared and |
+/* FRK |
+ * Need to align this structure so when it is declared and |
* passed it can be loaded into vector registers. |
*/ |
typedef struct |
{ |
- DECLARE_ALIGNED(SIMD_WIDTH, unsigned char, mblim[MAX_LOOP_FILTER + 1][SIMD_WIDTH]); |
- DECLARE_ALIGNED(SIMD_WIDTH, unsigned char, blim[MAX_LOOP_FILTER + 1][SIMD_WIDTH]); |
- DECLARE_ALIGNED(SIMD_WIDTH, unsigned char, lim[MAX_LOOP_FILTER + 1][SIMD_WIDTH]); |
- DECLARE_ALIGNED(SIMD_WIDTH, unsigned char, hev_thr[4][SIMD_WIDTH]); |
- unsigned char lvl[4][4][4]; |
- unsigned char hev_thr_lut[2][MAX_LOOP_FILTER + 1]; |
- unsigned char mode_lf_lut[10]; |
-} loop_filter_info_n; |
- |
-typedef struct |
-{ |
- const unsigned char * mblim; |
- const unsigned char * blim; |
- const unsigned char * lim; |
- const unsigned char * hev_thr; |
+ DECLARE_ALIGNED(16, signed char, lim[16]); |
+ DECLARE_ALIGNED(16, signed char, flim[16]); |
+ DECLARE_ALIGNED(16, signed char, thr[16]); |
+ DECLARE_ALIGNED(16, signed char, mbflim[16]); |
} loop_filter_info; |
#define prototype_loopfilter(sym) \ |
- void sym(unsigned char *src, int pitch, const unsigned char *blimit,\ |
- const unsigned char *limit, const unsigned char *thresh, int count) |
+ void sym(unsigned char *src, int pitch, const signed char *flimit,\ |
+ const signed char *limit, const signed char *thresh, int count) |
#define prototype_loopfilter_block(sym) \ |
- void sym(unsigned char *y, unsigned char *u, unsigned char *v, \ |
- int ystride, int uv_stride, loop_filter_info *lfi) |
- |
-#define prototype_simple_loopfilter(sym) \ |
- void sym(unsigned char *y, int ystride, const unsigned char *blimit) |
+ void sym(unsigned char *y, unsigned char *u, unsigned char *v,\ |
+ int ystride, int uv_stride, loop_filter_info *lfi, int simpler) |
#if ARCH_X86 || ARCH_X86_64 |
#include "x86/loopfilter_x86.h" |
@@ -91,39 +71,38 @@ extern prototype_loopfilter_block(vp8_lf_normal_mb_h); |
#endif |
extern prototype_loopfilter_block(vp8_lf_normal_b_h); |
+ |
#ifndef vp8_lf_simple_mb_v |
-#define vp8_lf_simple_mb_v vp8_loop_filter_simple_vertical_edge_c |
+#define vp8_lf_simple_mb_v vp8_loop_filter_mbvs_c |
#endif |
-extern prototype_simple_loopfilter(vp8_lf_simple_mb_v); |
+extern prototype_loopfilter_block(vp8_lf_simple_mb_v); |
#ifndef vp8_lf_simple_b_v |
#define vp8_lf_simple_b_v vp8_loop_filter_bvs_c |
#endif |
-extern prototype_simple_loopfilter(vp8_lf_simple_b_v); |
+extern prototype_loopfilter_block(vp8_lf_simple_b_v); |
#ifndef vp8_lf_simple_mb_h |
-#define vp8_lf_simple_mb_h vp8_loop_filter_simple_horizontal_edge_c |
+#define vp8_lf_simple_mb_h vp8_loop_filter_mbhs_c |
#endif |
-extern prototype_simple_loopfilter(vp8_lf_simple_mb_h); |
+extern prototype_loopfilter_block(vp8_lf_simple_mb_h); |
#ifndef vp8_lf_simple_b_h |
#define vp8_lf_simple_b_h vp8_loop_filter_bhs_c |
#endif |
-extern prototype_simple_loopfilter(vp8_lf_simple_b_h); |
+extern prototype_loopfilter_block(vp8_lf_simple_b_h); |
typedef prototype_loopfilter_block((*vp8_lf_block_fn_t)); |
-typedef prototype_simple_loopfilter((*vp8_slf_block_fn_t)); |
- |
typedef struct |
{ |
vp8_lf_block_fn_t normal_mb_v; |
vp8_lf_block_fn_t normal_b_v; |
vp8_lf_block_fn_t normal_mb_h; |
vp8_lf_block_fn_t normal_b_h; |
- vp8_slf_block_fn_t simple_mb_v; |
- vp8_slf_block_fn_t simple_b_v; |
- vp8_slf_block_fn_t simple_mb_h; |
- vp8_slf_block_fn_t simple_b_h; |
+ vp8_lf_block_fn_t simple_mb_v; |
+ vp8_lf_block_fn_t simple_b_v; |
+ vp8_lf_block_fn_t simple_mb_h; |
+ vp8_lf_block_fn_t simple_b_h; |
} vp8_loopfilter_rtcd_vtable_t; |
#if CONFIG_RUNTIME_CPU_DETECT |
@@ -136,33 +115,10 @@ typedef void loop_filter_uvfunction |
( |
unsigned char *u, /* source pointer */ |
int p, /* pitch */ |
- const unsigned char *blimit, |
- const unsigned char *limit, |
- const unsigned char *thresh, |
+ const signed char *flimit, |
+ const signed char *limit, |
+ const signed char *thresh, |
unsigned char *v |
); |
-/* assorted loopfilter functions which get used elsewhere */ |
-struct VP8Common; |
-struct MacroBlockD; |
- |
-void vp8_loop_filter_init(struct VP8Common *cm); |
- |
-void vp8_loop_filter_frame_init(struct VP8Common *cm, |
- struct MacroBlockD *mbd, |
- int default_filt_lvl); |
- |
-void vp8_loop_filter_frame(struct VP8Common *cm, struct MacroBlockD *mbd); |
- |
-void vp8_loop_filter_partial_frame(struct VP8Common *cm, |
- struct MacroBlockD *mbd, |
- int default_filt_lvl); |
- |
-void vp8_loop_filter_frame_yonly(struct VP8Common *cm, |
- struct MacroBlockD *mbd, |
- int default_filt_lvl); |
- |
-void vp8_loop_filter_update_sharpness(loop_filter_info_n *lfi, |
- int sharpness_lvl); |
- |
#endif |