summaryrefslogtreecommitdiff
path: root/vp8/common/onyxc_int.h
diff options
context:
space:
mode:
authorAttila Nagy <attilanagy@google.com>2011-06-10 14:10:21 +0300
committerAttila Nagy <attilanagy@google.com>2011-07-08 09:31:41 +0300
commit622958449b9388cca0f4a4e287b3e94422e4a573 (patch)
tree7086118472d23cf5ddf7e1292fff36be19321a7b /vp8/common/onyxc_int.h
parent973a9c075d2db817e489f5ba050fc49963bf2c71 (diff)
downloadlibvpx-622958449b9388cca0f4a4e287b3e94422e4a573.tar
libvpx-622958449b9388cca0f4a4e287b3e94422e4a573.tar.gz
libvpx-622958449b9388cca0f4a4e287b3e94422e4a573.tar.bz2
libvpx-622958449b9388cca0f4a4e287b3e94422e4a573.zip
New loop filter interface
Separate simple filter with reduced no. of parameters. MB filter level picking based on precalculated table. Level table updated for each frame. Inside and edge limits precalculated and updated just when sharpness changes. HEV threshhold is constant. ARM targets use scalars and others vectors. Change works only with --target=generic-gnu All other targets have to be updated! Change-Id: I6b73aca6b525075b20129a371699b2561bd4d51c
Diffstat (limited to 'vp8/common/onyxc_int.h')
-rw-r--r--vp8/common/onyxc_int.h21
1 files changed, 10 insertions, 11 deletions
diff --git a/vp8/common/onyxc_int.h b/vp8/common/onyxc_int.h
index a381dfe87..4356b5133 100644
--- a/vp8/common/onyxc_int.h
+++ b/vp8/common/onyxc_int.h
@@ -83,6 +83,7 @@ typedef struct VP8_COMMON_RTCD
} VP8_COMMON_RTCD;
typedef struct VP8Common
+
{
struct vpx_internal_error_info error;
@@ -107,7 +108,8 @@ typedef struct VP8Common
YV12_BUFFER_CONFIG post_proc_buffer;
YV12_BUFFER_CONFIG temp_scale_frame;
- FRAME_TYPE last_frame_type; /* Save last frame's frame type for loopfilter init checking and motion search. */
+
+ FRAME_TYPE last_frame_type; /* Save last frame's frame type for motion search. */
FRAME_TYPE frame_type;
int show_frame;
@@ -148,11 +150,9 @@ typedef struct VP8Common
INTERPOLATIONFILTERTYPE mcomp_filter_type;
LOOPFILTERTYPE last_filter_type;
LOOPFILTERTYPE filter_type;
- loop_filter_info lf_info[MAX_LOOP_FILTER+1];
- prototype_loopfilter_block((*lf_mbv));
- prototype_loopfilter_block((*lf_mbh));
- prototype_loopfilter_block((*lf_bv));
- prototype_loopfilter_block((*lf_bh));
+
+ loop_filter_info_n lf_info;
+
int filter_level;
int last_sharpness_level;
int sharpness_level;
@@ -205,10 +205,9 @@ typedef struct VP8Common
struct postproc_state postproc_state;
} VP8_COMMON;
-
-int vp8_adjust_mb_lf_value(MACROBLOCKD *mbd, int filter_level);
-void vp8_init_loop_filter(VP8_COMMON *cm);
-void vp8_frame_init_loop_filter(loop_filter_info *lfi, int frame_type);
-extern void vp8_loop_filter_frame(VP8_COMMON *cm, MACROBLOCKD *mbd, int filt_val);
+void vp8_loop_filter_init(VP8_COMMON *cm);
+void vp8_loop_filter_frame_init(VP8_COMMON *cm, MACROBLOCKD *mbd,
+ int default_filt_lvl, int sharpness_lvl);
+void vp8_loop_filter_frame(VP8_COMMON *cm, MACROBLOCKD *mbd, int filt_val);
#endif