diff options
author | Yunqing Wang <yunqingwang@google.com> | 2017-02-27 14:26:15 -0800 |
---|---|---|
committer | Yunqing Wang <yunqingwang@google.com> | 2017-03-13 09:54:18 -0700 |
commit | 670101439fe4a976fcacf997ff383b6cd6704596 (patch) | |
tree | 4c9e27a4a2c4abcdd8d85a9cbf901ff061bd18e5 /vp9/encoder/vp9_context_tree.h | |
parent | 42a1b310e14fcf0560bbb76afdc721a0583d6b6b (diff) | |
download | libvpx-670101439fe4a976fcacf997ff383b6cd6704596.tar libvpx-670101439fe4a976fcacf997ff383b6cd6704596.tar.gz libvpx-670101439fe4a976fcacf997ff383b6cd6704596.tar.bz2 libvpx-670101439fe4a976fcacf997ff383b6cd6704596.zip |
Apply machine learning-based early termination in VP9 partition search
This patch was based on Yang Xian's intern project code. Further modifications
were done.
1. Moved machine-learning related parameters into the context structure.
2. Corrected the calculation of sum_eobs.
3. Removed unused parameters and calculations.
4. Made it work with multiple tiles.
5. Added a speed feature for the machine-learning based partition search
early termination.
6. Re-organized the code.
The patch was rebased to the top-of-tree.
Borg test BDRATE result:
4k set: PSNR: +0.144%; SSIM: +0.043%;
hdres set: PSNR: +0.149%; SSIM: +0.269%;
midres set: PSNR: +0.127%; SSIM: +0.257%;
Average speed gain result:
4k clips: 22%;
hd clips: 23%;
midres clips: 15%.
Change-Id: I0220e93a8277e6a7ea4b2c34b605966e3b1584ac
Diffstat (limited to 'vp9/encoder/vp9_context_tree.h')
-rw-r--r-- | vp9/encoder/vp9_context_tree.h | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/vp9/encoder/vp9_context_tree.h b/vp9/encoder/vp9_context_tree.h index 86ba03d69..af1a93a00 100644 --- a/vp9/encoder/vp9_context_tree.h +++ b/vp9/encoder/vp9_context_tree.h @@ -71,6 +71,9 @@ typedef struct { // search loop MV pred_mv[MAX_REF_FRAMES]; INTERP_FILTER pred_interp_filter; + + // Used for the machine learning-based early termination + int sum_eobs; } PICK_MODE_CONTEXT; typedef struct PC_TREE { |