]> granicus.if.org Git - libvpx/log
libvpx
9 years agoMerge "Add dual_filter into the experimental flag list" into nextgenv2
Jingning Han [Tue, 3 May 2016 17:29:31 +0000 (17:29 +0000)]
Merge "Add dual_filter into the experimental flag list" into nextgenv2

9 years agoMerge "Enable VP10 HBD PSNR checking unit test" into nextgenv2
Yi Luo [Tue, 3 May 2016 16:20:23 +0000 (16:20 +0000)]
Merge "Enable VP10 HBD PSNR checking unit test" into nextgenv2

9 years agoAdd dual_filter into the experimental flag list
Jingning Han [Mon, 2 May 2016 15:55:40 +0000 (08:55 -0700)]
Add dual_filter into the experimental flag list

Change-Id: I3f240fb46716b70e7c0ddd40660f55e1285875cd

9 years agoMerge "Fix vp10 highbd psnr calculation" into nextgenv2
Angie Chiang [Tue, 3 May 2016 01:29:51 +0000 (01:29 +0000)]
Merge "Fix vp10 highbd psnr calculation" into nextgenv2

9 years agoMerge "Add the 64-bit CPU cycle count utility function" into nextgenv2
Yi Luo [Tue, 3 May 2016 00:51:28 +0000 (00:51 +0000)]
Merge "Add the 64-bit CPU cycle count utility function" into nextgenv2

9 years agoAdd the 64-bit CPU cycle count utility function
Yi Luo [Thu, 21 Apr 2016 22:59:05 +0000 (15:59 -0700)]
Add the 64-bit CPU cycle count utility function

Change-Id: Ie87245bbdf5735bc9729199eeb07899d81dbf267
(cherry picked from commit b547a2f38cfab81f6cbe392b9eb48ab0c12b80cf)

9 years agoFix vp10 highbd psnr calculation
Angie Chiang [Mon, 2 May 2016 21:03:33 +0000 (14:03 -0700)]
Fix vp10 highbd psnr calculation

BUG=https://bugs.chromium.org/p/webm/issues/detail?id=1209
Change-Id: Ia189ec4c1cc9bbcb79a45d1904567d943e2b3bb6

9 years agoEnable VP10 HBD PSNR checking unit test
Yi Luo [Mon, 2 May 2016 18:29:58 +0000 (11:29 -0700)]
Enable VP10 HBD PSNR checking unit test

We enable this unit test to protect the high bit depth picture
quality from degrading under VP10 optimization and new experimental
tools.

Change-Id: I6297a44cf01954773e06549ab2a68c319fc848a8

9 years agoMerge "Bug fixes for obmc/ext-inter/ext-tile experiment" into nextgenv2
Yue Chen [Mon, 2 May 2016 18:09:08 +0000 (18:09 +0000)]
Merge "Bug fixes for obmc/ext-inter/ext-tile experiment" into nextgenv2

9 years agoMerge "HBD hybrid transform 8x8 SSE4.1 optimization" into nextgenv2
Yi Luo [Mon, 2 May 2016 17:34:50 +0000 (17:34 +0000)]
Merge "HBD hybrid transform 8x8 SSE4.1 optimization" into nextgenv2

9 years agoMerge "Fix encoder failure in segmentation mode" into nextgenv2
Jingning Han [Mon, 2 May 2016 15:39:12 +0000 (15:39 +0000)]
Merge "Fix encoder failure in segmentation mode" into nextgenv2

9 years agoBug fixes for obmc/ext-inter/ext-tile experiment
Yue Chen [Sat, 30 Apr 2016 00:45:53 +0000 (17:45 -0700)]
Bug fixes for obmc/ext-inter/ext-tile experiment

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

9 years agoFix encoder failure in segmentation mode
Jingning Han [Sat, 30 Apr 2016 00:32:44 +0000 (17:32 -0700)]
Fix encoder failure in segmentation mode

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

9 years agoHBD hybrid transform 8x8 SSE4.1 optimization
Yi Luo [Thu, 28 Apr 2016 23:10:14 +0000 (16:10 -0700)]
HBD hybrid transform 8x8 SSE4.1 optimization

- 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

9 years agoRefactor wedge generation
Debargha Mukherjee [Wed, 27 Apr 2016 20:42:27 +0000 (13:42 -0700)]
Refactor wedge generation

Change-Id: I2ec4f562e28a4673477e20186f9d6167b24b76b8

9 years agoMerge "Make the backward updates work with bitshifts" into nextgenv2
Debargha Mukherjee [Thu, 28 Apr 2016 20:25:53 +0000 (20:25 +0000)]
Merge "Make the backward updates work with bitshifts" into nextgenv2

9 years agoMake the backward updates work with bitshifts
Debargha Mukherjee [Tue, 26 Apr 2016 22:04:19 +0000 (15:04 -0700)]
Make the backward updates work with bitshifts

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

9 years agoBrings back near-near compound mode into ext-inter
Debargha Mukherjee [Fri, 11 Mar 2016 22:05:23 +0000 (14:05 -0800)]
Brings back near-near compound mode into ext-inter

lowres: improves by 0.1%

Change-Id: I245019916bf47c6e24bc8c3953b86715ab0193c9

9 years agoFix some mismatches when using ext-interp.
Geza Lore [Thu, 28 Apr 2016 16:59:42 +0000 (17:59 +0100)]
Fix some mismatches when using ext-interp.

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

9 years agoMerge changes Ia2dd6bb1,Id1220b03 into nextgenv2
Alex Converse [Wed, 27 Apr 2016 23:59:14 +0000 (23:59 +0000)]
Merge changes Ia2dd6bb1,Id1220b03 into nextgenv2

* changes:
  transform tests: Avoid #if inside INSTANTIATE_TEST_CASE_P
  variance_test: Avoid #if inside INSTANTIATE_TEST_CASE_P

9 years agoMerge "convolve_test: Avoid #if inside INSTANTIATE_TEST_CASE_P" into nextgenv2
Alex Converse [Wed, 27 Apr 2016 23:47:30 +0000 (23:47 +0000)]
Merge "convolve_test: Avoid #if inside INSTANTIATE_TEST_CASE_P" into nextgenv2

9 years agoMerge "buf_ans: Misc cleanup." into nextgenv2
Alex Converse [Wed, 27 Apr 2016 23:02:39 +0000 (23:02 +0000)]
Merge "buf_ans: Misc cleanup." into nextgenv2

9 years agoMerge "ext-intra: completely remove floating point operations" into nextgenv2
Hui Su [Wed, 27 Apr 2016 22:00:22 +0000 (22:00 +0000)]
Merge "ext-intra: completely remove floating point operations" into nextgenv2

9 years agotransform tests: Avoid #if inside INSTANTIATE_TEST_CASE_P
Alex Converse [Wed, 27 Apr 2016 19:52:25 +0000 (12:52 -0700)]
transform tests: Avoid #if inside INSTANTIATE_TEST_CASE_P

BUG=https://bugs.chromium.org/p/webm/issues/detail?id=1200

Change-Id: Ia2dd6bb1ca2dff4422753af4a00156a12e488ed0

9 years agovariance_test: Avoid #if inside INSTANTIATE_TEST_CASE_P
Alex Converse [Wed, 27 Apr 2016 19:23:00 +0000 (12:23 -0700)]
variance_test: Avoid #if inside INSTANTIATE_TEST_CASE_P

BUG=https://bugs.chromium.org/p/webm/issues/detail?id=1200

Change-Id: Id1220b03e7be931e298848de381fdbce911e4a73

9 years agoconvolve_test: Avoid #if inside INSTANTIATE_TEST_CASE_P
Alex Converse [Wed, 27 Apr 2016 01:09:40 +0000 (18:09 -0700)]
convolve_test: Avoid #if inside INSTANTIATE_TEST_CASE_P

BUG=https://bugs.chromium.org/p/webm/issues/detail?id=1200

Change-Id: I7f7754e7d1288b103a4510303d10afc68a7d8ca8

9 years agoMerge "Fix vp10 txfm on MSVC 2015." into nextgenv2
Alex Converse [Wed, 27 Apr 2016 21:38:30 +0000 (21:38 +0000)]
Merge "Fix vp10 txfm on MSVC 2015." into nextgenv2

9 years agobuf_ans: Misc cleanup.
Alex Converse [Wed, 27 Apr 2016 21:03:04 +0000 (14:03 -0700)]
buf_ans: Misc cleanup.

Change-Id: I18a3ef2ee6cdda57abcd27683b30b4e3136182c0

9 years agoMerge "Turn skip recode off temporarily for ref-mv" into nextgenv2
Debargha Mukherjee [Wed, 27 Apr 2016 20:43:32 +0000 (20:43 +0000)]
Merge "Turn skip recode off temporarily for ref-mv" into nextgenv2

9 years agoFix vp10 txfm on MSVC 2015.
Alex Converse [Wed, 27 Apr 2016 00:08:18 +0000 (17:08 -0700)]
Fix vp10 txfm on MSVC 2015.

BUG=https://bugs.chromium.org/p/webm/issues/detail?id=1187

Change-Id: Ied6d3d003ed6ab9cf4f03cdd1d0037ae755254f4

9 years agoext-intra: completely remove floating point operations
hui su [Tue, 26 Apr 2016 16:36:11 +0000 (09:36 -0700)]
ext-intra: completely remove floating point operations

No performance changes

Change-Id: Ia489041253423ddf8ebc7e2d41fbfb9e138109f0

9 years agoMerge "Fix compound mv costing for ref-mv." into nextgenv2
Jingning Han [Wed, 27 Apr 2016 17:15:16 +0000 (17:15 +0000)]
Merge "Fix compound mv costing for ref-mv." into nextgenv2

9 years agoTurn skip recode off temporarily for ref-mv
Debargha Mukherjee [Tue, 26 Apr 2016 15:24:01 +0000 (08:24 -0700)]
Turn skip recode off temporarily for ref-mv

To fix tests in VP10/AltRefForcedKeyTestLarge.Frame1IsKey/*

Change-Id: I2f4f9fea515c9935d57006b709a9dd524f174b25

9 years agoMerge "Initialize dummy variables." into nextgenv2
Debargha Mukherjee [Wed, 27 Apr 2016 16:36:24 +0000 (16:36 +0000)]
Merge "Initialize dummy variables." into nextgenv2

9 years agoFix compound mv costing for ref-mv.
Geza Lore [Wed, 27 Apr 2016 12:37:29 +0000 (13:37 +0100)]
Fix compound mv costing for ref-mv.

I believe this is necessary for computing the correct rate,
when not doing joint_motion_search.

Change-Id: I7634d6d7a5e6f0a6998edb4d577dd047d80df3c8

9 years agoInitialize dummy variables.
Geza Lore [Wed, 27 Apr 2016 12:31:52 +0000 (13:31 +0100)]
Initialize dummy variables.

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

9 years agoFix ext-tile without ext-partition.
Geza Lore [Wed, 27 Apr 2016 10:08:41 +0000 (11:08 +0100)]
Fix ext-tile without ext-partition.

Default case (when ext-partition was not configured) was incorrect
in encoder tile size initialization.

BUG=https://bugs.chromium.org/p/webm/issues/detail?id=1197

Change-Id: Ibe57cb1dc16b9fa300573816fc16d2d2f6849fc6

9 years agoMerge "Optimization for EXT_INTER + OBMC" into nextgenv2
Yue Chen [Wed, 27 Apr 2016 06:29:38 +0000 (06:29 +0000)]
Merge "Optimization for EXT_INTER + OBMC" into nextgenv2

9 years agoOptimization for EXT_INTER + OBMC
Yue Chen [Tue, 26 Apr 2016 22:47:43 +0000 (15:47 -0700)]
Optimization for EXT_INTER + OBMC

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

9 years agoMerge "Reduce intra transform set" into nextgenv2
Debargha Mukherjee [Tue, 26 Apr 2016 23:32:16 +0000 (23:32 +0000)]
Merge "Reduce intra transform set" into nextgenv2

9 years agoMerge "Remove double counting for mv costs" into nextgenv2
Yue Chen [Tue, 26 Apr 2016 21:40:13 +0000 (21:40 +0000)]
Merge "Remove double counting for mv costs" into nextgenv2

9 years agoMerge "Rework motion vector precision limit" into nextgenv2
Jingning Han [Tue, 26 Apr 2016 21:31:09 +0000 (21:31 +0000)]
Merge "Rework motion vector precision limit" into nextgenv2

9 years agoRemove double counting for mv costs
Yue Chen [Tue, 26 Apr 2016 20:01:52 +0000 (13:01 -0700)]
Remove double counting for mv costs

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

9 years agoMerge "ext-intra: get rid of some floating operations." into nextgenv2
Hui Su [Tue, 26 Apr 2016 18:53:33 +0000 (18:53 +0000)]
Merge "ext-intra: get rid of some floating operations." into nextgenv2

9 years agoRework motion vector precision limit
Jingning Han [Mon, 25 Apr 2016 21:26:53 +0000 (14:26 -0700)]
Rework motion vector precision limit

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

9 years agoReduce intra transform set
Debargha Mukherjee [Mon, 25 Apr 2016 17:43:49 +0000 (10:43 -0700)]
Reduce intra transform set

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

9 years agoMerge "Keep track of zcoeff_blk in tx size/type search" into nextgenv2
Hui Su [Tue, 26 Apr 2016 16:41:49 +0000 (16:41 +0000)]
Merge "Keep track of zcoeff_blk in tx size/type search" into nextgenv2

9 years agoext-intra: get rid of some floating operations.
hui su [Mon, 25 Apr 2016 18:44:24 +0000 (11:44 -0700)]
ext-intra: get rid of some floating operations.

No performance changes.

Change-Id: Idd4043090fec09e57520bc970ed2e39e6f7e1a5e

9 years agoMerge "Clear X87 register state before using double." into nextgenv2
Debargha Mukherjee [Mon, 25 Apr 2016 21:42:23 +0000 (21:42 +0000)]
Merge "Clear X87 register state before using double." into nextgenv2

9 years agoMerge "HBD hybrid transform 4x4 SSE4.1 optimization" into nextgenv2
Yi Luo [Mon, 25 Apr 2016 19:43:35 +0000 (19:43 +0000)]
Merge "HBD hybrid transform 4x4 SSE4.1 optimization" into nextgenv2

9 years agoClear X87 register state before using double.
Geza Lore [Mon, 25 Apr 2016 15:37:44 +0000 (16:37 +0100)]
Clear X87 register state before using double.

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

9 years agoMerge "Raise the probability resolution for rANS tokens to 10-bits per symbol" into...
Alex Converse [Mon, 25 Apr 2016 17:11:16 +0000 (17:11 +0000)]
Merge "Raise the probability resolution for rANS tokens to 10-bits per symbol" into nextgenv2

9 years agoHBD hybrid transform 4x4 SSE4.1 optimization
Yi Luo [Mon, 25 Apr 2016 16:41:11 +0000 (09:41 -0700)]
HBD hybrid transform 4x4 SSE4.1 optimization

- 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

9 years agoMerge "Fix out-of-bound memory access in loop filter" into nextgenv2
Jingning Han [Mon, 25 Apr 2016 16:13:04 +0000 (16:13 +0000)]
Merge "Fix out-of-bound memory access in loop filter" into nextgenv2

9 years agoMerge "Refactor sub-pixel motion search" into nextgenv2
Jingning Han [Mon, 25 Apr 2016 16:12:51 +0000 (16:12 +0000)]
Merge "Refactor sub-pixel motion search" into nextgenv2

9 years agovp10/rdopt: quiet unused variable warning
James Zern [Wed, 20 Apr 2016 19:44:08 +0000 (12:44 -0700)]
vp10/rdopt: quiet unused variable warning

when CONFIG_REF_MV and CONFIG_EXT_INTER are enabled

Change-Id: I17fa2b5fe0e1878333099cc5fa2b1ee36636b4d3

9 years agoMerge "Fix EXT_INTER unit test failure in 32-bit builds" into nextgenv2
Yue Chen [Sat, 23 Apr 2016 16:51:07 +0000 (16:51 +0000)]
Merge "Fix EXT_INTER unit test failure in 32-bit builds" into nextgenv2

9 years agoFix out-of-bound memory access in loop filter
Jingning Han [Sat, 23 Apr 2016 01:10:30 +0000 (18:10 -0700)]
Fix out-of-bound memory access in loop filter

This commit fixes an out-of-bound memory access case in the
loop filter mask setting. This issue was introduced in

10232ed Refactor loopfilter level arrays to 2D.
https://chromium-review.googlesource.com/#/c/336645/

Change-Id: I7101a4a79b9ecfdd8ec5ef13a0b314cc95f48d12

9 years agoFix EXT_INTER unit test failure in 32-bit builds
Yue Chen [Sat, 23 Apr 2016 05:37:13 +0000 (22:37 -0700)]
Fix EXT_INTER unit test failure in 32-bit builds

Align new buffers that are used in interintra and wedgeinterinter prediction.
BUG=https://bugs.chromium.org/p/webm/issues/detail?id=1196

Change-Id: I1ef49fdf13c79a22cf8a1737e3d3052da0a92dfe

9 years agoSilence compiler above-boundary warnings
Jingning Han [Fri, 22 Apr 2016 22:47:03 +0000 (15:47 -0700)]
Silence compiler above-boundary warnings

Change-Id: I6d806f92e8d38d5b0b01bc8e0fd97bd8839c84df

9 years agoRaise the probability resolution for rANS tokens to 10-bits per symbol
Alex Converse [Wed, 6 Jan 2016 20:37:27 +0000 (12:37 -0800)]
Raise the probability resolution for rANS tokens to 10-bits per symbol

Change-Id: I397b5a9371c85d1df401d261143c985623e9def6

9 years agoRefactor sub-pixel motion search
Jingning Han [Fri, 22 Apr 2016 05:22:37 +0000 (22:22 -0700)]
Refactor sub-pixel motion search

Unify the rate cost used in the motion estimation process.

Change-Id: I8e52ca9f29eee3469553433302b62fb02a038919

9 years agoReplace left shift with multiplications
Jingning Han [Fri, 22 Apr 2016 04:44:55 +0000 (21:44 -0700)]
Replace left shift with multiplications

This avoids the potential risk in left shift of negative numbers.

Change-Id: I7aecb499ee6ce7342b172adc4741de5c6c107a24

9 years agoFix an enc/dec mismatch issue in ext-inter experiment
Jingning Han [Fri, 22 Apr 2016 18:33:32 +0000 (11:33 -0700)]
Fix an enc/dec mismatch issue in ext-inter experiment

This commit fixes an encoding decision process issue that could
trigger enc/dec mismatch in the ext-inter experiment.

Change-Id: I6f10d1fd2fd1aa04e51df04c39a65cf72ac66c42

9 years agoChange hybrid transform function argument from TXFM_2D_CFG* to int
Yi Luo [Wed, 20 Apr 2016 01:23:17 +0000 (18:23 -0700)]
Change hybrid transform function argument from TXFM_2D_CFG* to int

  Unit test shows manually developed SSE4.1 code would performs ~30%
  better if TXFM_2D_CFG configuration is set in lower level. This
  change only updates function signature. There is no performance
  impact.

Change-Id: I62692bd50a21ffc8a944bbd6c155c0a2020ad77b

9 years agoUnbreak the non-var_tx build.
Alex Converse [Thu, 21 Apr 2016 20:27:19 +0000 (13:27 -0700)]
Unbreak the non-var_tx build.

Change-Id: I76cc3d88122de42f035fbf6508bdf3fd7c995012

9 years agoMerge "Fix uninitialized blk_skip for VAR TX." into nextgenv2
Debargha Mukherjee [Thu, 21 Apr 2016 19:56:17 +0000 (19:56 +0000)]
Merge "Fix uninitialized blk_skip for VAR TX." into nextgenv2

9 years agoMerge "Move ZERO_TOKEN into the ANS coef tokenset." into nextgenv2
Alex Converse [Thu, 21 Apr 2016 18:08:04 +0000 (18:08 +0000)]
Merge "Move ZERO_TOKEN into the ANS coef tokenset." into nextgenv2

9 years agoMerge "relax txfm test error constraint" into nextgenv2
Angie Chiang [Wed, 20 Apr 2016 02:17:39 +0000 (02:17 +0000)]
Merge "relax txfm test error constraint" into nextgenv2

9 years agoMerge "Store ANS token CDFs in the FRAME_CONTEXT rather than in a global table."...
Alex Converse [Tue, 19 Apr 2016 23:29:14 +0000 (23:29 +0000)]
Merge "Store ANS token CDFs in the FRAME_CONTEXT rather than in a global table." into nextgenv2

9 years agoMove ZERO_TOKEN into the ANS coef tokenset.
Alex Converse [Wed, 13 Apr 2016 18:48:37 +0000 (11:48 -0700)]
Move ZERO_TOKEN into the ANS coef tokenset.

Change-Id: I87943e027437543ab31fa3ae1aa8b2de3a063ae5

9 years agoMerge "Handle zero motion vector residual" into nextgenv2
Jingning Han [Tue, 19 Apr 2016 21:20:08 +0000 (21:20 +0000)]
Merge "Handle zero motion vector residual" into nextgenv2

9 years agoMerge "Adjust optimize_b RD parameters" into nextgenv2
Hui Su [Tue, 19 Apr 2016 21:18:50 +0000 (21:18 +0000)]
Merge "Adjust optimize_b RD parameters" into nextgenv2

9 years agoMerge "Enable optimize_b for intra blocks" into nextgenv2
Hui Su [Tue, 19 Apr 2016 21:18:37 +0000 (21:18 +0000)]
Merge "Enable optimize_b for intra blocks" into nextgenv2

9 years agoMerge "Change the naming of txfm#d_test" into nextgenv2
Angie Chiang [Tue, 19 Apr 2016 19:52:03 +0000 (19:52 +0000)]
Merge "Change the naming of txfm#d_test" into nextgenv2

9 years agoChange the naming of txfm#d_test
Angie Chiang [Tue, 19 Apr 2016 18:59:00 +0000 (11:59 -0700)]
Change the naming of txfm#d_test

Change-Id: I151b18b38f7a000fb6e431cd42675ac4e7e9e3ca

9 years agoKeep track of zcoeff_blk in tx size/type search
hui su [Tue, 19 Apr 2016 17:44:27 +0000 (10:44 -0700)]
Keep track of zcoeff_blk in tx size/type search

Prevent potential problems when per transform block
zero forcing is re-enabled (a To-Do).

Change-Id: I03b0ab2a86d88058441f2ca18994cfd2e6329898

9 years agoMerge "Remove an unsuccessful adaption of overlap sizes in obmc experiment" into...
Yue Chen [Tue, 19 Apr 2016 18:41:01 +0000 (18:41 +0000)]
Merge "Remove an unsuccessful adaption of overlap sizes in obmc experiment" into nextgenv2

9 years agoAdjust optimize_b RD parameters
hui su [Mon, 18 Apr 2016 17:10:58 +0000 (10:10 -0700)]
Adjust optimize_b RD parameters

Coding gain:
lowres  0.44%
midres  0.24%
hdres   0.32%

Change-Id: Ie558203b2b2bf5c16cd49b114df3d696c4f35049

9 years agoEnable optimize_b for intra blocks
hui su [Fri, 15 Apr 2016 17:49:08 +0000 (10:49 -0700)]
Enable optimize_b for intra blocks

Coding gain:
lowres  0.05%
midres  0.10%
hdres   0.18%

Change-Id: I508b150c02588f911a8ddddfe73c770f0819fe10

9 years agoStore ANS token CDFs in the FRAME_CONTEXT rather than in a global table.
Alex Converse [Fri, 19 Feb 2016 20:51:15 +0000 (12:51 -0800)]
Store ANS token CDFs in the FRAME_CONTEXT rather than in a global table.

This will facilitate bringing the zero node into the token set while
allowing its probability to vary independently.

Change-Id: I57b44c0fce44debb8e612021e44713b229d1b3cf

9 years agoMerge "Use an exponential growth approach for the ANS reversal buffer." into nextgenv2
Alex Converse [Tue, 19 Apr 2016 16:39:18 +0000 (16:39 +0000)]
Merge "Use an exponential growth approach for the ANS reversal buffer." into nextgenv2

9 years agoFix uninitialized blk_skip for VAR TX.
Geza Lore [Tue, 19 Apr 2016 13:22:48 +0000 (14:22 +0100)]
Fix uninitialized blk_skip for VAR TX.

x->blk_skip used to be uninitialized (leftover from encoding the
previous block), if cm->tx_mode != TX_MODE_SELECT (which is used with
higher --cpu-used or --rt options). This resulted in degraded coding
performance when using cm->tx_mode != TX_MODE_SELECT.

This fixes the VP10/EndToEndTestLarge.EndtoEndPSNRTest/40 unit test.

Also fixed an edge effect where encode_block in encodemb.c used the
formal width of the block (without cropping at the right edge), to
look up blk_skip, while select_tx_block in rdopt.c used the cropped
width to set blk_skip.

Change-Id: I76d0f49ac5ab3ab54203573e0d7fcfcc1c6aa10d

9 years agoMerge "Merge branch 'master' into nextgenv2" into nextgenv2
Yaowu Xu [Tue, 19 Apr 2016 15:43:58 +0000 (15:43 +0000)]
Merge "Merge branch 'master' into nextgenv2" into nextgenv2

9 years agoRevert "Fix uninitialized blk_skip for VAR TX."
Geza Lore [Tue, 19 Apr 2016 14:41:56 +0000 (15:41 +0100)]
Revert "Fix uninitialized blk_skip for VAR TX."

This reverts commit e7b89d88354708790211ff3949fdc705a4fa1672.

9 years agoFix uninitialized blk_skip for VAR TX.
Geza Lore [Tue, 19 Apr 2016 13:22:48 +0000 (14:22 +0100)]
Fix uninitialized blk_skip for VAR TX.

x->blk_skip used to be uninitialzied (leftover from encoding the
previous block), if cm->tx_mode != TX_MODE_SELECT (which is used with
higher --cpu-used or --rt options). This resulted in degraded coding
performance when uning cm->tx_mode != TX_MODE_SELECT.

This fixes the VP10/EndToEndTestLarge.EndtoEndPSNRTest/40 unit test.

Change-Id: If39062927446798c626fc93694b4e6a4f35fa5da

9 years agoHandle zero motion vector residual
Jingning Han [Thu, 14 Apr 2016 19:37:10 +0000 (12:37 -0700)]
Handle zero motion vector residual

This commit handles the zero motion vector residuals for single
and compound reference modes, respectively. It improves the coding
performance by 0.13% with no additional encoding complexity.

Change-Id: I16075a836025bd2746da2ff4698fb9261e4b08c1

9 years agoMerge "Disable HBD 4x4 DCT_DCT HT test" into nextgenv2
Yi Luo [Mon, 18 Apr 2016 23:07:25 +0000 (23:07 +0000)]
Merge "Disable HBD 4x4 DCT_DCT HT test" into nextgenv2

9 years agoRemove an unsuccessful adaption of overlap sizes in obmc experiment
Yue Chen [Mon, 18 Apr 2016 20:49:03 +0000 (13:49 -0700)]
Remove an unsuccessful adaption of overlap sizes in obmc experiment

We removed this adaption, which intended to reduce the size of
overlapped region if the neighboring block is a non-skip one. Thus,
now the width/height of the overlapping region is fixed as a half of
the current block.

Performance improvement (lowres/midres): 0.111%/0.102%

Change-Id: Ife75dad9d4eb355c78a05178b50cc015c442884f

9 years agoMerge branch 'master' into nextgenv2
Yaowu Xu [Mon, 18 Apr 2016 19:22:56 +0000 (12:22 -0700)]
Merge branch 'master' into nextgenv2

Conflicts:
vp10/common/scan.c
vp9/common/vp9_pred_common.c
vp9/decoder/vp9_decoder.c

Change-Id: Id559d98ea676da15d60ed464ddb6c48d3eed1111

9 years agoRefactor transform selection process
Jingning Han [Fri, 15 Apr 2016 23:51:10 +0000 (16:51 -0700)]
Refactor transform selection process

This commit re-arranges the transform type and size selectio
process. It removes an unnecessary rate-distortion cost computation
step. Local experiments show that this speeds up the encoding
process by 6% for both the baseline and the ext-intra experiment.

Change-Id: Iab3b86a63a1e9e55548466791ed5d29a0575c1e7

9 years agoMerge "Refactor rd_variance_adjustment function" into nextgenv2
Jingning Han [Mon, 18 Apr 2016 19:45:44 +0000 (19:45 +0000)]
Merge "Refactor rd_variance_adjustment function" into nextgenv2

9 years agoMerge changes I67543d36,I763f2924 into nextgenv2
Angie Chiang [Mon, 18 Apr 2016 19:40:33 +0000 (19:40 +0000)]
Merge changes I67543d36,I763f2924 into nextgenv2

* changes:
  Reduce shift in txfm8x8
  Let txfm's constant bit be the same for each stage

9 years agoDisable HBD 4x4 DCT_DCT HT test
Yi Luo [Mon, 18 Apr 2016 19:24:31 +0000 (12:24 -0700)]
Disable HBD 4x4 DCT_DCT HT test

- HBD HT unit tests will be modified to test against new algorithm.

Change-Id: Iba58eeb21a45612685c93c98d7c846dab25e6638

9 years agoMerge "Adjustment to prediction decay."
Paul Wilkins [Mon, 18 Apr 2016 18:47:13 +0000 (18:47 +0000)]
Merge "Adjustment to prediction decay."

9 years agoMerge "Fit adst/dct's stage range into 32-bit in bd12" into nextgenv2
Angie Chiang [Mon, 18 Apr 2016 18:40:28 +0000 (18:40 +0000)]
Merge "Fit adst/dct's stage range into 32-bit in bd12" into nextgenv2

9 years agoMerge "Remove double operation from tx_size selection" into nextgenv2
Angie Chiang [Mon, 18 Apr 2016 18:11:35 +0000 (18:11 +0000)]
Merge "Remove double operation from tx_size selection" into nextgenv2

9 years agoMerge "Improvement on hybrid transform 4x4 DCT_DCT SSE4.1 optimization" into nextgenv2
Yi Luo [Mon, 18 Apr 2016 18:04:05 +0000 (18:04 +0000)]
Merge "Improvement on hybrid transform 4x4 DCT_DCT SSE4.1 optimization" into nextgenv2

9 years agoRemove double operation from tx_size selection
Angie Chiang [Thu, 14 Apr 2016 22:16:08 +0000 (15:16 -0700)]
Remove double operation from tx_size selection

This CL fix the bug
rdopt.c:1687: choose_tx_size_from_rd: Assertion
`mbmi->tx_type == DCT_DCT' failed

It is caused by
1) mms register access before double operation
2) different compiler behaviors
code:
  int64_t a = INT64_MAX;
  double b = 1. * INT64_MAX;
  printf("a < b: %d\n", a < b);
result:
  a < b: 0

code:
  --target=x86-linux-gcc
  int64_t a = INT64_MAX;
  double b = 1. * INT64_MAX;
  printf("a < b: %d\n", a < b);
result:
  a < b: 1

I remove the double operation and test it with EXT_TX experiment.
The psnr change is around 0.05%, which is considered as noise level.

Change-Id: If8935c70c8603617fcfa8571accd30ccdda786a0

9 years agoRefactor rd_variance_adjustment function
Jingning Han [Fri, 15 Apr 2016 22:56:34 +0000 (15:56 -0700)]
Refactor rd_variance_adjustment function

Compute the reconstruction variance in the prediction mode search.

Change-Id: Id9c7635a9c9f5383e61c0e427e95234211834301