Use the same rounding method that is used throughout the codebase,
where the halfway value is rounded up rather than down.
Change-Id: Ie969ed7eb9fcc88a93a90c7e274fd82f336c7e4d
With ext-interp, a switchable interpolation filter is coded iff the
motion vector uses fractional pixel movement (ie, true subpixel
movement). With ext-interp and obmc enabled at the same time, the RD
search proceeds as:
1. Do motion search
2. Do interpolation filter search iff subpixel motion, otherwise use
EIGHTTAP_REGULAR
3. Evaluate obmc=0
4. Evaluete obmc=1 - This involves another motion search
If the motion search in step 4 yields an integer motion vector, while
the search in step 1 did not, then an interp_filter value other than
EIGHTTAP_REGULAR is invalid, and will cause an assertion failure
at output time, or a mismatch if not using --enable-debug.
The fix sets the interp_filter to EIGHTTAP_REGULAR if obmc=1 is picked
with an integer motion vector.
Change-Id: I4685d1ad537f41d833dc9eb64845956b67886cca
- Confirm input coeff buffer is 16-byte aligned.
- sizeof() prefer variable name instead of type.
- Fix function name (Capital first letter then Pascal case).
- Long base class name uses a newline (with colon and 4 space indent).
- Remove a unnecessary reference function variable.
- Method declaration precedes variable declaration in class definition.
Change-Id: I317f7e679926b5219f58c5f7d14512e94985e7fe
If a reference block is coded with sub8x8 block size, and if it
has sub-pixel level motion vectors, its prediction filter type
should be used as context information.
The coding performance gains of dual filter type coding scheme are
lowres 0.57%
hdres 0.88%
Change-Id: I68b98f2518d02f11c29d0256aeb45b2580fe5cac
This commit reworks the probability model contexts used in the
prediction filter type entropy coding.
Change-Id: I7abc68cb469248d0d7ca1046da3c086ecb7b066a
This commit clarifies integer value range for vairables used in
several variance functions, also change to use proper type
conversion to reflect the value ranges.
Change-Id: Ic3234b83a912ce1ad12d1b254f3378763e15cc5c
The inlining mirrors what was done with the low bit depth
inter_predictor. And the new highbd_inter_predictor name is more
consistent with other high bit depth functions.
Change-Id: I96437f745759aeec6260c6e39a974bf36f1c211c
- Integrate 5 flip transform types for each 4x4, 8x8, and 16x16
block, for experiment, EXT_TX.
- Encoder speed improves about 12%-15%.
- Update the unit tests for bit-exact result against C.
Change-Id: Idf27c87f1e516ca5b66c7b70142477a115404ccb
Use model for interintra mode search.
Speed-up about 5-10% with about 0.04 drop in efficiency.
lowres: -2.60%
Change-Id: I825bf0ba8a46eb7f19fc528c25b8df066fb8ea95
minus the non-existent nonrd portion. original change:
commit d642294b1c57a5adacb1038ff45766c38bae8a6d
Author: Jingning Han <jingning@google.com>
Date: Thu Feb 11 12:36:49 2016 -0800
Fix tsan error in VP9 sub8x8 intra mode search
This commit fixes issue 1141. The issue was triggered in multi-tile
encoding. The change properly saves and restores the block context
information in the real-time mode selection process. It removes
several redundant memcpy operations in sub8x8 intra block mode
search.
Change-Id: I35c9ad197f4bd500ec39b5fc833f052f19eee010
Change-Id: Idfa38c54c9e645479f6870d46f71fb1e91c071da
For the current stage, we assume a single prediction filter type
per direction in the settings of compound inter prediction modes.
Change-Id: I12a1afdd364b93fcee870bd11ad01fc40ab48cff
Increases number of wedges for smaller block and removes
wedge coding mode for blocks larger than 32x32.
Also adds various other enhancements for subsequent experimentation,
including adding provision for multiple smoothing functions
(though one is used currently), adds a speed feature that decides
the sign for interinter wedges using a fast mechanism, and refactors
wedge representations.
lowres: -2.651% BDRATE
Most of the gain is due to increase in codebook size for 8x8 - 16x16.
Change-Id: I50669f558c8d0d45e5a6f70aca4385a185b58b5b
The amount of border extension needed in the first stage inter
filtering is decided by the length of the second stage filter
kernel.
Change-Id: Icddbc58c02234d5df09ff0eeebcf166ffe689203
* changes:
Refactor and add flip unit test to vp10_inv_txfm2d_test.cc
Add flip feature to vp10_inv_txfm2d.c
add unit test for highbd flip transform
Refactor vp10_fwd_txfm2d_test.cc
Rename and change to how its updated.
Only affects 1 pass vbr.
Small change in metrics (< ~0.1%) on ytlive set.
Change-Id: Ibb1fe485699b6c4a8194951c8f229abe2f64b9a5