1473 Commits

Author SHA1 Message Date
Angie Chiang
06bdcea606 Merge "comment out range_check of fdct in dct.c" 2015-12-04 23:38:35 +00:00
Angie Chiang
08b157da8e comment out range_check of fdct in dct.c
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
2015-12-04 10:54:31 -08:00
Jingning Han
f5bed806fb Merge "Extend reference motion vector candidate range" into nextgenv2 2015-12-04 06:00:02 +00:00
Angie Chiang
88cae8b422 Refactor vp10_xform_quant
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
2015-12-03 15:28:11 -08:00
Angie Chiang
2b3f1d36b3 Merge changes Iea45fd22,If174d8dd,I9f539491 into nextgenv2
* changes:
  Add facade to inverse txfm
  Create hybrid_fwd_txfm.c
  merge txfm_#x#_1 into txfm_#x#
2015-12-03 22:29:03 +00:00
hui su
5d3327e891 Remove palette from VP10
Store it in nextgenv2 for now.

Change-Id: Iab0af0e15246758e3b6e8bde4a74b13c410576fc
2015-12-03 12:30:47 -08:00
Jingning Han
e15fb2bb99 Extend reference motion vector candidate range
This commit adds top-right corner and collocated block into the
reference motion vector candidate check list.

Change-Id: I892a4c7fb04ddda44e0f9dfe769471252d40c42b
2015-12-03 09:25:20 -08:00
hui su
d7c8bc77c6 Speed up angle search in intra mode selection
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
2015-12-01 11:15:47 -08:00
Angie Chiang
a245d9f88c Add facade to inverse txfm
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
2015-11-25 13:50:40 -08:00
Jingning Han
40cedd6763 Refactor sub8x8 ref motion vector search
Take out an unnecessary use of the mode context array.

Change-Id: I4032ed18464e5ec49a2160bea964bad9b716ee54
2015-11-25 13:42:59 -08:00
Angie Chiang
96baa73ed9 Create hybrid_fwd_txfm.c
Move txfm functions from encodemb to hybrid_twd_txfm.c
to make encodemb's code flow clear

Change-Id: If174d8ddb490d149c103e5127d30ef19adfbed13
2015-11-25 12:51:25 -08:00
Debargha Mukherjee
63def292eb Merge "Fix ext-tx experiment for highbitdepth" into nextgenv2 2015-11-25 17:33:12 +00:00
Jingning Han
7f4bab0697 Make sub8x8 block ref mv search consistent to regular blocks
Check all motion vectors in the immediate above and left blocks if
the reference conditions matched.

Change-Id: I8bf33bfcee99e8150232c7681fdeade307024272
2015-11-24 21:58:10 -08:00
Jingning Han
c7b31a5c49 Remove a redundant argument in setup_ref_mv_list
Change-Id: I215071bff55f8ba6347fa985414b40723b4986f5
2015-11-25 02:22:16 +00:00
Jingning Han
731dcd3e6a Merge "Integrate motion vector stack into codec" into nextgenv2 2015-11-25 02:21:53 +00:00
Angie Chiang
30e325a94b merge txfm_#x#_1 into txfm_#x#
Change-Id: I9f539491fe676898246976c91d5ac4804a155803
2015-11-24 18:21:27 -08:00
Jingning Han
e7569225f1 Merge "Refactor tokenization coding tree" into nextgenv2 2015-11-25 01:15:05 +00:00
Jingning Han
e5c57c580a Integrate motion vector stack into codec
This commit ports the motion vector stack from motion field
analyzer to the encoding and decoding pipeline.

Change-Id: Ie283c1e1a15b4c17a1c7c175ce322bf053bb7840
2015-11-25 01:14:44 +00:00
Jingning Han
11bac096f2 Merge "Analyze motion field to produce reference motion vectors" into nextgenv2 2015-11-25 01:14:12 +00:00
Jingning Han
2ec5ed258a Refactor tokenization coding tree
Expand the tokenization tree writing to support per transform block
type coding in next CLs.

Change-Id: I3560e658f89cc500eb49603f95dd2b4e99045f5b
2015-11-24 16:01:51 -08:00
Jingning Han
254d3e172a Analyze motion field to produce reference motion vectors
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
2015-11-24 15:52:55 -08:00
Debargha Mukherjee
6ef5d8c4ed Merge "Reduce transform options for ext-tx experiment" into nextgenv2 2015-11-24 21:30:10 +00:00
Zoe Liu
9c62f9282f Merge "Added 3 more reference frames for inter prediction." into nextgenv2 2015-11-24 19:47:03 +00:00
Debargha Mukherjee
13e0cfb8c7 Fix ext-tx experiment for highbitdepth
Change-Id: I610e18f150d73378283882ae81f5f77c367d2956
2015-11-24 10:38:37 -08:00
Debargha Mukherjee
56ab215dad Reduce transform options for ext-tx experiment
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
2015-11-23 12:58:48 -08:00
Jingning Han
c335bfeb56 Move n8_w and n8_h out of experiment flag
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
2015-11-23 09:46:11 -08:00
Yaowu Xu
c1629ca53b Merge branch 'master' into nextgenv2 2015-11-21 05:00:05 -08:00
Zoe Liu
3ec1601e37 Added 3 more reference frames for inter prediction.
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
2015-11-20 17:00:24 -08:00
Angie Chiang
6e9ed38d1f Merge "Add vp10_inv_txfm2d" into nextgenv2 2015-11-20 18:22:49 +00:00
Alex Converse
b1fcd1751e Fix unsigned overflow in rd_variance_adjustment.
Found with clang -fsanitize=integer

Change-Id: I2538e7483cb2d5f06bceecbd3326bdd88bfecfa1
2015-11-19 15:00:59 -08:00
hui su
d894d34d04 Turn off tx type selection for intra blocks by default
Coding gain on derflr drops to +1.83%.

Change-Id: If68c429f09422a70513d9f1e8e36e10c928e034a
2015-11-18 23:16:25 -08:00
Angie Chiang
4fd0ba8f6f Add vp10_inv_txfm2d
Change-Id: Ib63062a52c688e65bae5eb0052ce69d73d96c9c5
2015-11-17 19:53:28 -08:00
Hui Su
4d3cf45992 Merge "Merge MISC_FIXES" into nextgenv2 2015-11-18 01:08:21 +00:00
hui su
66f2f65ef7 Merge MISC_FIXES
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
2015-11-17 15:06:08 -08:00
hui su
af084fbec1 Fix some unused variable warnings
Change-Id: Ia7680ddf00dd50dd66bbb5753bae30b937988800
2015-11-17 10:40:25 -08:00
Jingning Han
5f9e089b1d Merge "Limit the reset range of inter_tx_size array" into nextgenv2 2015-11-16 16:58:08 +00:00
Jingning Han
4ae193eec7 Merge "Alternate reference frame" into nextgenv2 2015-11-16 16:04:14 +00:00
Jingning Han
0f34e35d26 Limit the reset range of inter_tx_size array
Reset the effective range of inter_tx_size, instead of the entire
array in the rate-distortion optimization loop.

Change-Id: Id453fbd6dddfe69f4e451ba8518c083326d5dd53
2015-11-15 20:56:04 -08:00
Hui Su
83388fb0af Merge "refactor ext-intra" into nextgenv2 2015-11-13 21:19:27 +00:00
hui su
4aa50c17df refactor ext-intra
Coding gain remains about the same, while overall speed is
substantially increased.

Change-Id: I2989bebcfd21092cd6a02653d4df4a3bf6780874
2015-11-13 12:12:09 -08:00
Angie Chiang
35ec6d2b88 Merge changes Ifafbd497,I042bba27,Id6fd8558,Id5b79519 into nextgenv2
* changes:
  Add adst_dct config to vp10_inv_txfm2d_cfg
  Add adst_adst config to vp10_inv_txfm2d_cfg
  Add dct_adst config to vp10_inv_txfm2d_cfg
  Add dct_dct config to vp10_inv_txfm2d_cfg
2015-11-12 23:38:44 +00:00
Jingning Han
140182b96c Alternate reference frame
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
2015-11-12 11:16:59 -08:00
Angie Chiang
7104079efb Add adst_dct config to vp10_inv_txfm2d_cfg
Change-Id: Ifafbd4974be44685ab2550ed159dbf0411b6f031
2015-11-11 18:02:42 -08:00
Angie Chiang
164ba2a2d8 Add adst_adst config to vp10_inv_txfm2d_cfg
Change-Id: I042bba27540ab2a3d8a00871980295e98f616480
2015-11-11 17:59:22 -08:00
Angie Chiang
db88473ea9 Add dct_adst config to vp10_inv_txfm2d_cfg
Change-Id: Id6fd8558452f64c4ac30d7cb656b659f0587b5d6
2015-11-11 17:55:35 -08:00
Angie Chiang
09c2809a50 Add dct_dct config to vp10_inv_txfm2d_cfg
Change-Id: Id5b795198552443a700413284a1015296e267dcf
2015-11-11 17:51:55 -08:00
Yaowu Xu
0e929ef94d Merge "Replace inline with INLINE" into nextgenv2 2015-11-11 01:31:14 +00:00
Yaowu Xu
843e2bad4b Merge "Fix msvc compling" into nextgenv2 2015-11-11 01:31:06 +00:00
Yaowu Xu
a08bfb778a Replace inline with INLINE
Change-Id: I37b5ed9fef0e97feabd856bd4c1b4c7869991a34
2015-11-10 16:09:09 -08:00
Yaowu Xu
72a6cb62ee Fix msvc compling
Change-Id: I5abd6d2fd198b3789732e81b23a5bac009af5290
2015-11-10 16:08:09 -08:00