]> granicus.if.org Git - libvpx/log
libvpx
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 "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 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

9 years agoMerge "Optimization for EXT_INTER + OBMC combination" into nextgenv2
Yue Chen [Sun, 17 Apr 2016 18:54:33 +0000 (18:54 +0000)]
Merge "Optimization for EXT_INTER + OBMC combination" into nextgenv2

9 years agoOptimization for EXT_INTER + OBMC combination
Yue Chen [Sat, 9 Apr 2016 00:28:26 +0000 (17:28 -0700)]
Optimization for EXT_INTER + OBMC combination

In the rd loop, check the perf of obmc, whose mv is copied from regular
inter predictor, when wedge interinter is better than regular inter
(previously it will force allow_obmc = 0). The condition of the early
termination before this step is relaxed to avoid skipping too many obmc
predictions. The rates of the overhead are properly calculated for these tools.

The logic of the bitstream syntax:
(a single ref) the interintra flag is sent first, only if it is 0, we
send the obmc flag;
(compound refs) the obmc flag is sent first, only if it is 0, we send
the wedge interinter flag

Coding gain
lowres: 0.428% (2.287%->2.715%)

Change-Id: I5f3a34640b398e313cbf84235c9fe2073eb2173f

9 years agoMerge "Fix an unaligned memory allocation in HT 4x4 speed test" into nextgenv2
Yi Luo [Fri, 15 Apr 2016 23:56:21 +0000 (23:56 +0000)]
Merge "Fix an unaligned memory allocation in HT 4x4 speed test" into nextgenv2

9 years agoMerge "remove redundant header" into nextgenv2
Angie Chiang [Fri, 15 Apr 2016 22:44:33 +0000 (22:44 +0000)]
Merge "remove redundant header" into nextgenv2

9 years agoremove redundant header
Angie Chiang [Fri, 15 Apr 2016 22:34:05 +0000 (15:34 -0700)]
remove redundant header

Change-Id: Ib0e880c341adebb238f43a6caeb661e2094e7a93

9 years agorelax txfm test error constraint
Angie Chiang [Fri, 15 Apr 2016 02:26:42 +0000 (19:26 -0700)]
relax txfm test error constraint

The error is increases because we reduce the const bit
of txfm

Change-Id: I0235a3fdb7dc6a4c0cd1c8cebb369df2a5071b94

9 years agoFix an unaligned memory allocation in HT 4x4 speed test
Yi Luo [Fri, 15 Apr 2016 21:59:31 +0000 (14:59 -0700)]
Fix an unaligned memory allocation in HT 4x4 speed test

- Allocate 16-byte aligned memory.
- Disable speed test in unit tests.

Change-Id: Ibef734f4b9d39ad50e9b2e8e0a5d74565d57b409

9 years agoImprovement on hybrid transform 4x4 DCT_DCT SSE4.1 optimization
Yi Luo [Fri, 15 Apr 2016 19:26:27 +0000 (12:26 -0700)]
Improvement on hybrid transform 4x4 DCT_DCT SSE4.1 optimization

- Implemented Angie's new fwd txfm algorithm.
- Improve ~100% than last 64-bit version; 3 times faster than
  original C code.
- Passed bit-exact unit test.

Change-Id: Ica30b9768706604a6d69fe42da778441f0f5f02e

9 years agoMerge "VP9: inline vp9_get_intra_inter_context()"
Scott LaVarnway [Fri, 15 Apr 2016 19:06:33 +0000 (19:06 +0000)]
Merge "VP9: inline vp9_get_intra_inter_context()"

9 years agoRemove duplicated TxfmFunc declarations
Jingning Han [Fri, 15 Apr 2016 19:02:41 +0000 (12:02 -0700)]
Remove duplicated TxfmFunc declarations

Change-Id: If3876610a1fbce0988cc21ea917596bbb467df93

9 years agoMerge "Fix segfault with --cpu-used >= 3 and ext-refs." into nextgenv2
Zoe Liu [Fri, 15 Apr 2016 16:41:15 +0000 (16:41 +0000)]
Merge "Fix segfault with --cpu-used >= 3 and ext-refs." into nextgenv2

9 years agoMerge "Enable vpx_idct32x32_1024_add_neon for neon as well, not only for neon_asm"
Johann Koenig [Fri, 15 Apr 2016 16:00:51 +0000 (16:00 +0000)]
Merge "Enable vpx_idct32x32_1024_add_neon for neon as well, not only for neon_asm"

9 years agoVP9: inline vp9_get_intra_inter_context()
Scott LaVarnway [Fri, 15 Apr 2016 11:58:37 +0000 (04:58 -0700)]
VP9: inline vp9_get_intra_inter_context()

Change-Id: I71366140799b9b39474b9b459082cdb250bd1905

9 years agoFix segfault with --cpu-used >= 3 and ext-refs.
Geza Lore [Thu, 14 Apr 2016 13:26:03 +0000 (14:26 +0100)]
Fix segfault with --cpu-used >= 3 and ext-refs.

With ext-ref enabled, it is possible that when trying to encode the
first true ALTREF frame after a keyframe, the previous ALTREF frame
(alias for the keyframe) is the same as one of the new LAST{2,3,4}
reference frames, and hence cpi->ref_frame_flags will have the ALTREF
bit clear, as computed by get_ref_frame_flags in encoder.c.

sf->alt_ref_search_fp forces the previous ALTREF frame to
be used as the only possible  reference when encoding a new ALTREF
frame, but due to cpi->ref_frame_flags, some buffers will not be
initialized (see rdopt.c:7689 yv12_mb), leading to a segfault.

get_ref_frame_flags in encoder.c has been changed to prefer to keep
the  LAST frame, then the ALTREF frame, then any of the LAST{2,3,4}
frames and then the GOLDEN frame in that order of preference in case
any of them are the same. This avoids the segfault and behaves the
same for the baseline.

Change-Id: I4da1991667614009da5d3061a6316c0d5dbc6c0c

9 years agoEnable vpx_idct32x32_1024_add_neon for neon as well, not only for neon_asm
Martin Storsjo [Thu, 3 Mar 2016 09:55:08 +0000 (11:55 +0200)]
Enable vpx_idct32x32_1024_add_neon for neon as well, not only for neon_asm

This was never hooked up for the 32x32_34 case as the neon_asm version
in 3f7c12da, when the intrinsics version was added.

Change-Id: Ic7db4ce5850c637315f9fe9e2de93a4f8cf9e320

9 years agoReduce shift in txfm8x8
Angie Chiang [Fri, 15 Apr 2016 02:12:22 +0000 (19:12 -0700)]
Reduce shift in txfm8x8

Change-Id: I67543d365cbef3c3e113f01660ae8cb744cc556d

9 years agoLet txfm's constant bit be the same for each stage
Angie Chiang [Thu, 14 Apr 2016 22:35:14 +0000 (15:35 -0700)]
Let txfm's constant bit be the same for each stage

Change-Id: I763f2924afca526db371231bca18b38879bdf793

9 years agoFit adst/dct's stage range into 32-bit in bd12
Angie Chiang [Mon, 4 Apr 2016 21:58:25 +0000 (14:58 -0700)]
Fit adst/dct's stage range into 32-bit in bd12

Change-Id: Ie428c6f0655873de3e77e844a2f2e4203cf47dff

9 years agoApply 'const' to data not pointer
Johann [Thu, 14 Apr 2016 21:47:16 +0000 (14:47 -0700)]
Apply 'const' to data not pointer

Change-Id: Ic6b695442e319f7582a7ee8e52a47ae3e38c7298

9 years agoMerge "Clean up motion vector precision check in the encoding process" into nextgenv2
Jingning Han [Thu, 14 Apr 2016 20:55:51 +0000 (20:55 +0000)]
Merge "Clean up motion vector precision check in the encoding process" into nextgenv2

9 years agoMerge "Apply motion vector precision check to candidate mv" into nextgenv2
Jingning Han [Thu, 14 Apr 2016 20:55:45 +0000 (20:55 +0000)]
Merge "Apply motion vector precision check to candidate mv" into nextgenv2

9 years agoMerge "Enable mode conversion in sub8x8 block" into nextgenv2
Jingning Han [Thu, 14 Apr 2016 19:01:15 +0000 (19:01 +0000)]
Merge "Enable mode conversion in sub8x8 block" into nextgenv2

9 years agoMerge "Disable the TestSuperframeIndexIsOptional test with ANS." into nextgenv2
Alex Converse [Thu, 14 Apr 2016 18:57:28 +0000 (18:57 +0000)]
Merge "Disable the TestSuperframeIndexIsOptional test with ANS." into nextgenv2

9 years agoClean up motion vector precision check in the encoding process
Jingning Han [Thu, 14 Apr 2016 16:43:17 +0000 (09:43 -0700)]
Clean up motion vector precision check in the encoding process

Remove unnecessary motion vector precision check in the encoding
process.

Change-Id: Ica32933c7d138f499f36b1dedec14c894b27d85a

9 years agoApply motion vector precision check to candidate mv
Jingning Han [Thu, 14 Apr 2016 01:05:45 +0000 (18:05 -0700)]
Apply motion vector precision check to candidate mv

This avoids repeatedly checking the candidate motion vector
precision level at the decoder end. The compression performance
varies at 0.01% level.

Change-Id: I4a88e95decd900d0cac9a0c2e70ba43ef7ecac38

9 years agoMerge "Speed up dynamic motion vector referencing system" into nextgenv2
Jingning Han [Thu, 14 Apr 2016 16:16:43 +0000 (16:16 +0000)]
Merge "Speed up dynamic motion vector referencing system" into nextgenv2

9 years agoMerge "dct32x32_test: s/HAVE_NEON_ASM/HAVE_NEON/"
James Zern [Thu, 14 Apr 2016 02:35:45 +0000 (02:35 +0000)]
Merge "dct32x32_test: s/HAVE_NEON_ASM/HAVE_NEON/"

9 years agoMerge "ext-tx: use raster scan order for identity transform" into nextgenv2
Hui Su [Wed, 13 Apr 2016 23:52:35 +0000 (23:52 +0000)]
Merge "ext-tx: use raster scan order for identity transform" into nextgenv2

9 years agoMerge "Fix a few mis-use cases of MAX_MV_REF_CANDIDATES" into nextgenv2
Jingning Han [Wed, 13 Apr 2016 23:44:25 +0000 (23:44 +0000)]
Merge "Fix a few mis-use cases of MAX_MV_REF_CANDIDATES" into nextgenv2

9 years agoMerge changes I92819356,I50b5a313,I807e60c6,I8a8df9fd into nextgenv2
Angie Chiang [Wed, 13 Apr 2016 23:24:41 +0000 (23:24 +0000)]
Merge changes I92819356,I50b5a313,I807e60c6,I8a8df9fd into nextgenv2

* changes:
  Branch dct to new implementation for bd12
  Change dct32x32's range
  Fit dct's stage range into 32-bit when bitdepth is 12
  Pass tx_type into get_tx_scale

9 years agoMerge "Convert some vpx boolcoder calls back to vp10 generic calls." into nextgenv2
Alex Converse [Wed, 13 Apr 2016 23:04:17 +0000 (23:04 +0000)]
Merge "Convert some vpx boolcoder calls back to vp10 generic calls." into nextgenv2

9 years agoMerge "Speed-up in tx_size search" into nextgenv2
Hui Su [Wed, 13 Apr 2016 23:02:20 +0000 (23:02 +0000)]
Merge "Speed-up in tx_size search" into nextgenv2

9 years agoSpeed up dynamic motion vector referencing system
Jingning Han [Wed, 13 Apr 2016 22:48:54 +0000 (15:48 -0700)]
Speed up dynamic motion vector referencing system

Skip transform type search in modes with ref_mv_idx > 0. This
brings down the additional encoding time cost due to the DMR system
from 32% to 17%, at minimal coding performance regression.

Change-Id: Ie82e1d2831a313c6f1e47f7da221b51345023eb3

9 years agoMerge "vp9: Adjustment to scene-cut detection."
Marco Paniconi [Wed, 13 Apr 2016 22:36:28 +0000 (22:36 +0000)]
Merge "vp9: Adjustment to scene-cut detection."

9 years agoFix a few mis-use cases of MAX_MV_REF_CANDIDATES
Jingning Han [Wed, 13 Apr 2016 22:14:30 +0000 (15:14 -0700)]
Fix a few mis-use cases of MAX_MV_REF_CANDIDATES

Fix several use cases where MAX_MV_REF_CANDIDATES is mixed up with
is_compound flag to avoid potential coding interruption.

Change-Id: Ifdee1ef8a81ef6d1c155315c6c6a3074aa7a8b5e

9 years agoUse an exponential growth approach for the ANS reversal buffer.
Alex Converse [Wed, 13 Apr 2016 21:53:34 +0000 (14:53 -0700)]
Use an exponential growth approach for the ANS reversal buffer.

Memory constrained hardware can window the data via our standard windowing
mechanism, tiles.

Change-Id: Ib1cfd157604a8c9d9f9a9f2b0ba3bc2fd0643082

9 years agoDisable the TestSuperframeIndexIsOptional test with ANS.
Alex Converse [Wed, 13 Apr 2016 01:33:07 +0000 (18:33 -0700)]
Disable the TestSuperframeIndexIsOptional test with ANS.

Change-Id: Id55a741e2015c4e01d156d3fe5319498b016b9cf

9 years agovp9: Adjustment to scene-cut detection.
Marco [Wed, 13 Apr 2016 18:18:16 +0000 (11:18 -0700)]
vp9: Adjustment to scene-cut detection.

Change recursive weight for average_source_sad and
put some constraint on spacing between detected scene-cuts.

Change only affects 1 pass real-time mode.

Change-Id: I1917e748d845e244812d11aec2a9d755372ec182

9 years agoEnable mode conversion in sub8x8 block
Jingning Han [Tue, 29 Mar 2016 16:44:28 +0000 (09:44 -0700)]
Enable mode conversion in sub8x8 block

Convert the newmv mode into reference motion vector modes.

Change-Id: I51bd2543dafb70345c1340fba700b44f67f20853

9 years agoMerge "Make ext-refs respect encoding flags." into nextgenv2
Zoe Liu [Wed, 13 Apr 2016 19:31:30 +0000 (19:31 +0000)]
Merge "Make ext-refs respect encoding flags." into nextgenv2