Jingning Han [Fri, 14 Mar 2014 19:07:21 +0000 (12:07 -0700)]
Properly reset the block coding skip flag array in non-RD mode
The block coding skip flags are assigned in the normal RD mode
decision loop. They are then used in the final encoding stage.
In the non-RD mode decision, the forward transform and quantization
stages are replaced by modeling based on SSE and variance of
prediction residues. This commit applies reset to this array in
the non-RD coding mode.
Jingning Han [Thu, 13 Mar 2014 22:31:23 +0000 (15:31 -0700)]
Unify non-RD partition use cases
This commit unifies the non-RD partition use cases for both fixed
and variable block sizes. Deprecate and remove the separate function
for fixed partition type only.
Deb Mukherjee [Tue, 4 Mar 2014 19:15:35 +0000 (11:15 -0800)]
Preliminary code for variance based paritioning
Brings back most of Jim's previous patch for choosing
partitioning based on variance while making it compatible
with the current state of the code. Also adds a
nonrd_use_partition() function to recursively encode for any
arbitrary sb_type decisions within a 64x64 block; and
includes some refactoring.
Currently, when the VAR_BASED_PARTITIONING mode is turned on
for speed 7, there is a 10+% speed-up observed.
Experiments/improvements with this new partitioning method
will be conducted subsequently.
Jingning Han [Wed, 12 Mar 2014 17:03:28 +0000 (10:03 -0700)]
Tune rate-distortion modeling for non-RD mode decision
This commit adjusts the rate-distortion modeling for non-RD mode
decision. It puts more weights on energy from AC coefficients when
estimating the cost. The coding performance for rtc testset is
improved by 0.72%.
Jingning Han [Wed, 5 Mar 2014 02:46:40 +0000 (18:46 -0800)]
Fix use of uninitialized bsize in non-RD mode
The block size used for non-RD mode decision in FIXED_PARTITION
setting was uninitialized. This commit fixes it by setting block
size to be BLOCK_16X16.
hkuang [Fri, 7 Mar 2014 19:21:28 +0000 (11:21 -0800)]
Disable sixtap_predict_test for neon.
Neon code unit test is failing now due to save/restore neon register
operations are not done inside this function, but outside of it. Disable
it now until VP8 neon code get cleaned up.
James Zern [Sat, 8 Mar 2014 20:52:33 +0000 (12:52 -0800)]
gen_msvs_vcxproj.sh: add --enable-werror option
translates to TreatWarningAsError (/WX)
setting this via the CL environment variable is not possible due to the
/WX- default which is used on the command line
Deb Mukherjee [Sat, 8 Mar 2014 01:15:09 +0000 (17:15 -0800)]
Support for a fast diamond search
Adds a fast diamond search which is about 5% faster than FAST_HEX
with only a 0.1% drop in psnr when turned on for both speeds 5 and 7.
This search is turned on for speed 7.
James Zern [Fri, 7 Mar 2014 23:03:50 +0000 (15:03 -0800)]
Merge "Disable the neon version vpx_yv12_copy_y. For some dimensions, neon code ends up in a dead loop inside. This will fix the unit test failure in svc_test on ARM."
Jingning Han [Fri, 7 Mar 2014 22:06:20 +0000 (14:06 -0800)]
Skip mode check when mv has been tested
This commit allows the non-RD mode decision to skip mode RD modelling
check, if the motion vector associated with the current mode is
same as that of NEARESTMV mode. This makes speed -7 about 2% faster.
Previous change that converts cost metric from SAD to model based RD
value makes the codec 6% slower at speed -7.
Minghai Shang [Fri, 7 Mar 2014 22:02:35 +0000 (14:02 -0800)]
Merge "[svc] 1. Add two pass RC options in vp9_spatial_scalable_encoder. 2. Add read/write for RC stats file The two pass RC for svc does not work yet. This is just the first step. We need further development to make it working. Change-Id: I8ef0e177dff0b5ed3c97a916beea5123717cc6f2"
hkuang [Fri, 7 Mar 2014 18:21:25 +0000 (10:21 -0800)]
Disable the neon version vpx_yv12_copy_y.
For some dimensions, neon code ends up in a dead loop inside.
This will fix the unit test failure in svc_test on ARM.
Jingning Han [Fri, 7 Mar 2014 02:56:50 +0000 (18:56 -0800)]
Use modeled rate distortion costs for non-RD mode
This commit replaces SAD cost with modeled rate-distortion cost
for non-RD mode decision. It translates the prediction residual
SSE into estimate rate and reconstruction distorion costs, hence
capturing the quantization setting effect. The compression
performance of speed -7 for rtc set is improved by 14.79%.
Tom Finegan [Thu, 6 Mar 2014 22:54:49 +0000 (14:54 -0800)]
Avoid unknown warning warnings and fix -Werror on macosx.
clang on macosx does not support -Wunused-but-set-variable; adding the flag
causes additional warnings about the flag. As a more generalized fix, use
-Werror when checking compiler flag support in order to avoid using
unsupported warning flags.