]> granicus.if.org Git - libvpx/commit
Enable variable block size test in non-RD mode decision
authorJingning Han <jingning@google.com>
Wed, 19 Mar 2014 18:25:40 +0000 (11:25 -0700)
committerJingning Han <jingning@google.com>
Wed, 19 Mar 2014 23:10:29 +0000 (16:10 -0700)
commit60f9ebc3f1119ce2d0a56f8b17b98304a1b5780f
tree2b6b5084fb8691405d711f390f1fde6531681872
parent98fd11c56728ee1a3471d383a1b7260684f88630
Enable variable block size test in non-RD mode decision

This is an initial attempt to allow variable block size partition
in non-RD coding flow. It tests 8x8, 16x16 and 32x32 block size per
64x64 block, all using non-RD mode decision and the associated rate
distortion costs from modeling, then selects the best block size to
encode the entire 64x64 block. Such operations are triggered every
other 3 frames. The blocks of intermediate frames will reuse the
collocated block's partition type.

It improves the compression performance by 13.2%. Note that the gains
are not evenly distributed. For many hard clips, the compression
performance is improved by 20% to 28%. Local speed test shows that
it will also increase runtime by 50%, as compared to speed -7. It is
now enabled in speed -6 setting.

Change-Id: Ib4fb8659d21621c9075b3c369ddaa9ecb0a4b204
vp9/encoder/vp9_encodeframe.c
vp9/encoder/vp9_onyx_if.c
vp9/encoder/vp9_onyx_int.h
vp9/encoder/vp9_pickmode.c