]> granicus.if.org Git - libvpx/commit
Decide the partitioning threshold from the variance histogram
authorYunqing Wang <yunqingwang@google.com>
Thu, 1 May 2014 22:14:39 +0000 (15:14 -0700)
committerYunqing Wang <yunqingwang@google.com>
Mon, 30 Jun 2014 16:36:23 +0000 (09:36 -0700)
commit9d41313e4bd28d3c504c26079cbe4a499e7eceb7
tree1dc38de0da1b8a410217322f6e13e9dcc9ca1523
parenta93c506034710a21a0a93a71fff71b794f3f9579
Decide the partitioning threshold from the variance histogram

Before encoding a frame, calculate and store each 16x16 block's
variance of source difference between last and current frame.
Find partitioning threshold T for the frame from its variance
histogram, and then use T to make partition decisions.

Comparing with fixed 16x16 partitioning, rtc set test showed an
overall psnr gain of 3.242%, and ssim gain of 3.751%. The best
psnr gain is 8.653%.

The overall encoding speed didn't change much. It got faster for
some clips(for example, 12% speedup for vidyo1), and a little
slower for others.

Also, a minor modification was made in datarate unit test.

Change-Id: Ie290743aa3814e83607b93831b667a2a49d0932c
test/datarate_test.cc
vp9/encoder/vp9_block.h
vp9/encoder/vp9_encodeframe.c
vp9/encoder/vp9_encodeframe.h
vp9/encoder/vp9_encoder.c
vp9/encoder/vp9_encoder.h
vp9/encoder/vp9_speed_features.c
vp9/encoder/vp9_speed_features.h