Commit 9050c9da authored by Cheng Chen's avatar Cheng Chen

Directional deblocking filter

New deblocking filter that smooths block boundaries in an estimated
direction of object orientation.

1. Select the proper direction for deblocking filtering.
Compute abs gradient line by line for the block.
Select the direction with least sum of abs gradient.

2. Apply deblocking filtering for a block along this direction.
Apply directional filtering for Y, U, V planes.

Coding gain on Google test set:

%	  	avg_psnr   ovr_psnr  ssim
lowres  	-0.129 	  -0.136    -0.277
midres  	-0.103    -0.127    -0.188
hdres	  	-0.159    -0.158    -0.173
screen_content  -0.408    -0.397    -0.695

Change-Id: Ie8646dcc163ace5d8faf5e502b38342d885efc30
parent 2a4b7810
This diff is collapsed.
......@@ -619,6 +619,19 @@ typedef enum {
#define SUPERRES_SCALE_NUMERATOR_MIN 8
#endif // CONFIG_FRAME_SUPERRES
#if CONFIG_LPF_DIRECT
typedef enum {
VERT_HORZ,
DEGREE_30,
DEGREE_45,
DEGREE_60,
DEGREE_120,
DEGREE_135,
DEGREE_150,
FILTER_DEGREES,
} FILTER_DEGREE;
#endif // CONFIG_LPF_DIRECT
#ifdef __cplusplus
} // extern "C"
#endif
......
......@@ -335,6 +335,7 @@ EXPERIMENT_LIST="
bgsprite
var_tx_no_tx_mode
mrc_tx
lpf_direct
"
CONFIG_LIST="
dependency_tracking
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment