Rework partition search skip scheme
authorJingning Han <jingning@google.com>
Fri, 3 Oct 2014 00:49:00 +0000 (17:49 -0700)
committerJingning Han <jingning@google.com>
Fri, 3 Oct 2014 18:54:30 +0000 (11:54 -0700)
commitbb260d90764226c48d40f5b4fdeaa6a113cd9ba5
treeb4d7ddc4ccf0b62bfc1d1c5a10e46d631d1722e4
parentba172ff0a587d8f47587c478b368c1ea33829a79
Rework partition search skip scheme

This commit enables the encoder to skip split partition search if
the bigger block size has all non-zero quantized coefficients in low
frequency area and the total rate cost is below a certain threshold.
It logarithmatically scales the rate threshold according to the
current block size. For speed 3, the compression performance loss:
derf  -0.093%
stdhd -0.066%

Local experiments show 4% - 20% encoding speed-up for speed 3.
blue_sky_1080p, 1500 kbps
51051 b/f, 35.891 dB, 67236 ms ->
50554 b/f, 35.857 dB, 59270 ms (12% speed-up)

old_town_cross_720p, 1500 kbps
14431 b/f, 36.249 dB, 57687 ms ->
14108 b/f, 36.172 dB, 46586 ms (19% speed-up)

pedestrian_area_1080p, 1500 kbps
50812 b/f, 40.124 dB, 100439 ms ->
50755 b/f, 40.118 dB,  96549 ms (4% speed-up)

mobile_calendar_720p, 1000 kbps
10352 b/f, 35.055 dB, 51837 ms ->
10172 b/f, 35.003 dB, 44076 ms (15% speed-up)

Change-Id: I412e34db49060775b3b89ba1738522317c3239c8
vp9/encoder/vp9_encodeframe.c
vp9/encoder/vp9_rdopt.c
vp9/encoder/vp9_speed_features.c
vp9/encoder/vp9_tokenize.c
vp9/encoder/vp9_tokenize.h