]> granicus.if.org Git - libvpx/commit
Early termination after partition NONE is done in RD.
authorPengchong Jin <pengchong@google.com>
Wed, 30 Jul 2014 02:49:47 +0000 (19:49 -0700)
committerPengchong Jin <pengchong@google.com>
Wed, 30 Jul 2014 18:54:49 +0000 (11:54 -0700)
commit49866baae60f863d36ca42f40ff4fddd987461cc
tree34b1d8a1d133ee40f40146748d32a74acd144c06
parent838b53b9fb639917e1566dc1b5d3714d70556e7e
Early termination after partition NONE is done in RD.

This patch allows the encoder to skip the search for partition
SPLIT, HORZ, VERT after the search for partition NONE is done
in RD optimization. It uses the first pass block-wise statistics
to make the decision. If all 16x16 blocks in the current partition
have zero motions and small residues from the frist pass statistics,
and it has small difference variance, further partition search is
skipped.

For speed 2 setting, experiments on general youtube clips show that
the speedup varies from 1% - 10%, 5% on average. On the performance
side in PSNR, derf 0.004%, yt -0.059%, hd -0.106%, stdhd 0.032%.

For hard stdhd clips:
park_joy_1080p, 502952 ms -> 503307 ms (-0.07%)
pedestrian_area_1080p, 227049 ms -> 220531 ms (+3%)

This feature is under the compilation flag CONFIG_FP_MB_STATS and
it is off in current setting.

Change-Id: I554537e9242178263b65ebe14a04f9c221b58bae
vp9/encoder/vp9_encodeframe.c