Граф коммитов

391 Коммитов

Автор SHA1 Сообщение Дата
Angie Chiang 30ee689da3 Merge "Refactor vp10_xform_quant" into nextgenv2 2015-12-11 20:29:04 +00:00
Yaowu Xu f07d73b9bf Merge branch 'master' into nextgenv2
Change-Id: Id0b784b115602e2502b42fa972a5ae210435a3be
2015-12-11 08:58:40 -08:00
Yaowu Xu f0bef772be Merge "Proper fix of a msvc complier warning" 2015-12-11 00:53:28 +00:00
Yaowu Xu 4d2cfeab36 Proper fix of a msvc complier warning
Change-Id: I701ab4993be7cfb15b61a1adbbaf5565bd14ae27
2015-12-10 16:29:01 -08:00
Yaowu Xu 5a81c5c4be Merge changes Iece22223,Iefad9d8d
* changes:
  Fix two msvc build issues
  Fix enc/dec mismatches for aq-mode 1 and 2
2015-12-10 23:32:32 +00:00
Debargha Mukherjee 104636a39a Some fixes from merging MISC_FIXES config
Change-Id: I3f77e952af3c441a50479bb5d278ea0fd6cf62c6
2015-12-10 15:17:33 -08:00
Yaowu Xu 6786280807 Fix two msvc build issues
Change-Id: Iece22223773dd6d0f87f8f59827705acd2ebe2a4
2015-12-10 12:41:27 -08:00
Yaowu Xu 221ed5e47b Fix enc/dec mismatches for aq-mode 1 and 2
Change-Id: Iefad9d8d96a08dcc788a5efdca2df6a815d1205f
2015-12-10 11:45:26 -08:00
Jingning Han 0d65cae638 Allow precise classification for refmv mode context
Combine the nearest ref mv count and the total ref mv count for
mode context.

Change-Id: I342a2b126bf7d2d30c344911260d9769a923026b
2015-12-10 02:03:32 +00:00
Jingning Han 1dc18077b8 Re-design motion compensated prediction mode entropy coding system
This commit re-works the entropy coding scheme of the motion
compensated prediction modes. It allows more flexible hyperplane
partition for precise classification.

Change-Id: Iba5035c76691946cf1386b6c495e399c3d9c8fc5
2015-12-09 18:02:20 -08:00
Debargha Mukherjee 9fbc394036 Merge "Fix for crash when using high bitdepth and var-tx" into nextgenv2 2015-12-08 19:17:10 +00:00
Hui Su cdffec73e9 Merge "Bring palette back to nextgenv2" into nextgenv2 2015-12-08 17:44:22 +00:00
paulwilkins 4e692bbee2 Changes to exhaustive motion search.
This change has been imported from VP9 and
alters the nature and use of exhaustive motion search.

Firstly any exhaustive search is preceded by a normal step search.
The exhaustive search is only carried out if the distortion resulting
from the step search is above a threshold value.

Secondly the simple +/- 64 exhaustive search is replaced by a
multi stage mesh based search where each stage has a range
and step/interval size. Subsequent stages use the best position from
the previous stage as the center of the search but use a reduced range
and interval size.

For example:
  stage 1: Range +/- 64 interval 4
  stage 2: Range +/- 32 interval 2
  stage 3: Range +/- 15 interval 1

This process, especially when it follows on from a normal step
search, has shown itself to be almost as effective as a full range
exhaustive search with step 1 but greatly lowers the computational
complexity such that it can be used in some cases for speeds 0-2.

This patch also removes a double exhaustive search for sub 8x8 blocks
which also contained  a bug (the two searches used different distortion
metrics).

For best quality in my test animation sequence this patch has almost
no impact on quality but improves encode speed by more than 5X.

Restricted use in good quality speeds 0-2 yields significant quality gains
on the animation test of 0.2 - 0.5 db with only a small impact on encode
speed. On most natural video clips, however, where the step search
is performing well, the quality gain and speed impact are small.

Change-Id: Iac24152ae239f42a246f39ee5f00fe62d193cb98
2015-12-08 16:54:42 +00:00
Peter de Rivaz 22850493b6 Fix for crash when using high bitdepth and var-tx
Change-Id: Ide48fa4312f7828f99290f7a2be878f5673fa716
2015-12-08 15:58:21 +00:00
hui su c93e5cc3e9 Bring palette back to nextgenv2
It was removed by the master branch merge.

Change-Id: I4b2a524c9e052e41063359afcb4ba22bf78344cf
2015-12-07 18:24:15 -08:00
hui su bf0ff0907e Miscellaneous changes in reconintra.c
Fix a bug in vp10_has_right;
Some cosmetic changes.

Tiny performance improvement (0.02%~0.04%) on derflr and hevcmr.

Change-Id: Iee829003a20f32d6185a08bab2bd4201806be2b3
2015-12-07 17:08:27 -08:00
Yaowu Xu 69f4930041 Merge branch 'master' into nextgenv2
Conflicts:
	vp10/common/blockd.h
	vp10/common/entropymode.h
	vp10/common/reconintra.c
	vp10/decoder/decodemv.c
	vp10/encoder/bitstream.c
	vp10/encoder/encoder.h
	vp10/encoder/rd.c
	vp10/encoder/rdopt.c
	vp10/encoder/tokenize.h

Change-Id: Ic4891839b6f0474026d6d69821e38edec9632df1
2015-12-07 11:37:14 -08:00
paulwilkins 9d85ce8e0c Fix bug when overlaying middle arfs in multi-arf groups.
Fix copied over from VP9 master to VP10 master.
Do not reset the alt ref active flag when overlaying the middle
arf(s) of a multi arf group.

Change-Id: I1b7392107e7c675640d5ee1624012f39cc374c58
2015-12-07 15:23:46 +00:00
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