The range_check is not used because the bit range
in fdct# is not correct. Since we are going to merge in a new version
of fdct# from nextgenv2, we won't fix the incorrect bit range now.
Change-Id: I54f27a6507f27bf475af302b4dbedc71c5385118
1) Add facade to quantize b/fp/dc version so that their interface
are the same.
2) Merge vp10_xform_quant b/fp/dc version to one function so that
the code flow in encodemb.c is clear
Change-Id: Ib62d6215438fc2d07f4e7e72393f964832d6746f
This commit adds top-right corner and collocated block into the
reference motion vector candidate check list.
Change-Id: I892a4c7fb04ddda44e0f9dfe769471252d40c42b
Estimate angle histogram using gradient analysis, then skip those
angles that are unlikely to be chosen.
On ext-intra experiment, turning off filter-intra modes:
for all-key-frame setting, computation overhead is reduced
by about 40%, coding gain dropped from +2.08% to +1.96% (derflr);
with kf-max-dist=150, computation overhead is reduced
by about 60%, coding gain dropped from +0.58% to +0.49% (derflr).
Change-Id: I36687410fb10561b8e1a8eebb1528cf17755bd5b
Add inv_txfm and highbd_inv_txfm as facades of inverse transform
such that the code flow in encodemb.c can be simpler
Change-Id: Iea45fd22dd8b173f8eb3919ca6502636f7bcfcf7
Check all motion vectors in the immediate above and left blocks if
the reference conditions matched.
Change-Id: I8bf33bfcee99e8150232c7681fdeade307024272
This commit ports the motion vector stack from motion field
analyzer to the encoding and decoding pipeline.
Change-Id: Ie283c1e1a15b4c17a1c7c175ce322bf053bb7840
This commit allows the codec to analyze the motion field in the
avaiable above and left neighboring area to produce a set of
reference motion vectors for each reference frame. These reference
motion vectors are ranked according to the likelihood that it will
be picked.
Change-Id: I82e6cd990a7716848bb7b6f5f2b1829966ff2483
Reduces the transform optons for INTRA as well as INTER when
transform size is 16x16 to not use any of the DSTs.
Thus, a total of 10 options are used for 16x16, while 4x4
and 8x8 still uses 17 options.
derflr/hevchd actually improves a little, while hevcmr drops
a little.
About 10% speed improvement.
Change-Id: I920a182231e052cdd622f8bb67085c16c572cb1e
These primitive variables are commonly required by many other
experiments as well. The use of n4_w and n4_h was originally
introduced in the vp9 decoder implementation.
Change-Id: I93d701d891e3860f31150031e3b9a2b29a3993d2
Under the experiment of EXT_REFS: LAST2_FRAME, LAST3_FRAME, and
LAST4_FRAME.
Coding efficiency: derflr +1.601%; hevchr +1.895%
Speed: Encoder slowed down by ~75%
Change-Id: Ifeee5f049c2c1f7cb29bc897622ef88897082ecf
Remove MISC_FIXES flags except for the changes on MV precision, which
has a 0.1% performance drop.
On derflr, the impact is -0.012%.
Change-Id: I0a74e5a212dd0cb827192a318c92a714c9681e45
Reset the effective range of inter_tx_size, instead of the entire
array in the rate-distortion optimization loop.
Change-Id: Id453fbd6dddfe69f4e451ba8518c083326d5dd53
This commit re-designs the alternate reference frame generation
process. It employs non-local mean approach to produce more stable
pixel estimation for alternate reference frame. It improves the
compression performance gains:
derf 0.5%
hevcmr 0.8%
stdhd 1.3%
hevchr 1.0%
The encoding time at speed 0 is not affected.
Change-Id: Iaa757f0da189ce93812d69617a81bf630d449848