Decoding superframes correctly requires computing the end of the
frame contents in the bitstream precisely. This patch enables
ext-tile to do so.
Also extended superframe_test to test with multiple tiles if using
ext-tile.
Change-Id: I04bb8cde8755a3d764ee3c36aa8b7a6c5c9db742
Tile rows should now be independent, so make pbi->inv_tile_order
invert the decoding order of tile rows as well as tile columns.
This should improve test coverage. Also added more tile configurations
to the tile_independence_tests.
Change-Id: I14b0f2fa9241c1acaf9e2a07071952cb33feca77
Fix 1: in ext-inter + obmc config, properly identify if the left
predictor used for obmc is a compound one in the case that the
neighbor uses wedgeinterinter pred and we will dump the ALTREF part.
This will fix the seg fault in unit test:
VP10/AltRefForcedKeyTestLarge.Frame1IsKey/0
Fix 2: in ext-tile + obmc experiment, handle the case that the
above block does not fit in the same row tile with the current one,
so as to prevent potential crashes.
Change-Id: I1c177d4f4ad15e10d11d8756e146496437753eea
This commit fixes an encoder segment fault in the codebase, when
the segmentation feature is turned on. The issue was introduced in
5cce322 Porting ext_partition experiment from nextgen
Change-Id: Ifb4c06c5a6976114a8bd061d40d0338a136abaaf
- Tx_type: DCT_DCT, DCT_ADST, ADST_DCT, ADST_ADST.
- Update bit-exact unit test against current C version.
- HBD encoder speed improves ~3.8%.
Change-Id: Ie13925ba11214eef2b5326814940638507bf68ec
Removes integer divides from backward updates for VP10.
Currently this is put in as part of the entropy experiment.
Coding efficiency change is in the noise level.
Change-Id: I5b3c0ab6169ee6d82d0ca1778e264fd4577cdd32
With ext interp, write_switchable_interp_filter calls
vp10_is_interp_needed, which needs access to the reference frame
buffers to check if they are scaled, the ref frame buffer pointer
at this point used to be uninitialized in the encoder resulting in
bitstream syntax mismatch when the encoder/decoder did not read/write
the interp filter element consistently.
Change-Id: Ie0be2a19cbfcb5639a751aa857458e91c23b8fe3
Wrap around behavior is enforced manually and we use the values in
arithmetic involving negative integers.
Change-Id: I199706b6f3af91f4fb6fe2ef302fbbc6d0cf5785
Valgrind flags these up as needed by handle_inter_mode.
Initializing fixes some assertion failures in the unit tests with
only ref-mv enabled.
Change-Id: I4d56c356692745dbecd9f790cdbb8dbfbaf72d55
Remove the restriction that the neighboring predictor cannot be
used in obmc prediction if it is an interintra or wedgeinterinter
block. The inter predictor of the interintra block, or the first
inter predictor(using LAST or GOLDEN frame) of the wedgeinterinter
block will be exploited in obmc prediction.
Coding gain: 0.248% (2.833%->3.081%) lowres
Change-Id: I4ac0368b9d2f2956f266b30c1ac97db8bafa0742
The bug is introduced by commit 1a0352d, in which mv costs are
counted twice in joint_motion_search() in ext_inter experiment.
Change-Id: Ibace453df999d3c2e781d73f1f0912038fee2d4e
This commit enables 1/8 luma component motion vector precision
for all motion vector cases. It improves the compression performance
of lowres by 0.13% and hdres by 0.49%.
Change-Id: Iccfc85e8ee1c0154dfbd18f060344f1e3db5dc18
Reduce transform set for intra for 8x8 and smalller to 7 from 12.
Also fixes an issue with prob updates.
Enocder Speed-up about 8-10%
Coding efficiency very little change.
lowres: -2.996 (from -3.055 before)
midres: -2.482 (from -2.552 before)
Change-Id: I4ba50ff967521b33c748fe423bd92f7cf4105ebc
MMX and X87 floating point instructions cannot be mixed freely on
the 32 bit x86 architecture.
This fixes a lot of unit tests in the 32bit build with
--enable-ext-intra.
BUG=https://bugs.chromium.org/p/webm/issues/detail?id=1196
Change-Id: I0e1c3565f4b9cb4fc2d716e94d9c40e68b36fac8
- Optimization on tx_type: DCT_DCT, DCT_ADST, ADST_DCT, ADST_ADST.
- Overall encoder speed improves ~4.5%-6%.
- Update bit-exact unit test against current C version.
Change-Id: If751c030612245b1c2470200c9570cf40d655504