]> granicus.if.org Git - libvpx/commit
Apply machine learning-based early termination in VP9 partition search
authorYunqing Wang <yunqingwang@google.com>
Mon, 27 Feb 2017 22:26:15 +0000 (14:26 -0800)
committerYunqing Wang <yunqingwang@google.com>
Mon, 13 Mar 2017 16:54:18 +0000 (09:54 -0700)
commit670101439fe4a976fcacf997ff383b6cd6704596
tree4c9e27a4a2c4abcdd8d85a9cbf901ff061bd18e5
parent42a1b310e14fcf0560bbb76afdc721a0583d6b6b
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
vp9/encoder/vp9_context_tree.h
vp9/encoder/vp9_encodeframe.c
vp9/encoder/vp9_speed_features.c
vp9/encoder/vp9_speed_features.h