]> granicus.if.org Git - libvpx/log
libvpx
9 years agoPort active map / cyclic refresh fixes to VP10.
Alex Converse [Thu, 10 Mar 2016 23:11:31 +0000 (15:11 -0800)]
Port active map / cyclic refresh fixes to VP10.

Bring commits 575e81f and 3d6b8a6 to VP10. These changes predate
the creation of the active map cyclic refresh test.

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

Change-Id: I3559b6933ffa5649926a4b214e45ed0fae523a25

9 years agoMerge "Take out skip_recode speed feature" into nextgenv2
Jingning Han [Wed, 8 Jun 2016 21:46:54 +0000 (21:46 +0000)]
Merge "Take out skip_recode speed feature" into nextgenv2

9 years agoMerge "Remove swap buffer speed feature" into nextgenv2
Jingning Han [Wed, 8 Jun 2016 19:45:54 +0000 (19:45 +0000)]
Merge "Remove swap buffer speed feature" into nextgenv2

9 years agoTake out skip_recode speed feature
Jingning Han [Wed, 8 Jun 2016 17:04:34 +0000 (10:04 -0700)]
Take out skip_recode speed feature

The assumption doesn't hold true in the current codebase. Remove
this speed feature to simplify the codebase.

Change-Id: I9b69f484c9b7cd612b825047cc5b2fce63ee0af7

9 years agoRemove swap buffer speed feature
Jingning Han [Wed, 8 Jun 2016 16:49:03 +0000 (09:49 -0700)]
Remove swap buffer speed feature

The inter prediction residual can undergo different transform types
during the rate-distortion optimization search. The assumption used
in this speed feature no longer holds true. This commit removes the
related code to clean up the codebase and clear out unit test
failure in higher speed setting.

Change-Id: I7f7cd4df2345ed3e607c9fae75b38cd2dbde0cac

9 years agoMerge "Add tx type speed feature to recursive transform block partitioning" into...
Jingning Han [Tue, 7 Jun 2016 23:44:01 +0000 (23:44 +0000)]
Merge "Add tx type speed feature to recursive transform block partitioning" into nextgenv2

9 years agoMerge "Rework the tx type speed feature" into nextgenv2
Jingning Han [Tue, 7 Jun 2016 23:42:43 +0000 (23:42 +0000)]
Merge "Rework the tx type speed feature" into nextgenv2

9 years agoMerge "Move #if out of TEST_P in vp10_fwd/inv_txfm2d_test.cc" into nextgenv2
Angie Chiang [Tue, 7 Jun 2016 22:02:28 +0000 (22:02 +0000)]
Merge "Move #if out of TEST_P in vp10_fwd/inv_txfm2d_test.cc" into nextgenv2

9 years agoMerge "Fix a RD performance bug in bipredictive frames" into nextgenv2
Zoe Liu [Tue, 7 Jun 2016 21:34:55 +0000 (21:34 +0000)]
Merge "Fix a RD performance bug in bipredictive frames" into nextgenv2

9 years agoMerge "Turn ActiveMapTest back on." into nextgenv2
Alex Converse [Tue, 7 Jun 2016 20:28:25 +0000 (20:28 +0000)]
Merge "Turn ActiveMapTest back on." into nextgenv2

9 years agoMerge "Pick up top left mbmi for supertx decode." into nextgenv2
Debargha Mukherjee [Tue, 7 Jun 2016 20:23:44 +0000 (20:23 +0000)]
Merge "Pick up top left mbmi for supertx decode." into nextgenv2

9 years agoMerge "Zero segment counter before accumulating." into nextgenv2
Debargha Mukherjee [Tue, 7 Jun 2016 20:23:20 +0000 (20:23 +0000)]
Merge "Zero segment counter before accumulating." into nextgenv2

9 years agoTurn ActiveMapTest back on.
Alex Converse [Tue, 7 Jun 2016 16:49:10 +0000 (09:49 -0700)]
Turn ActiveMapTest back on.

If it's creating problems with some experiments, disable it under the
actual conditions where it doesn't work and file a bug.

Change-Id: Iab9f4bfe42ea926d49d371918da25f9a8938a20f

9 years agoAdd tx type speed feature to recursive transform block partitioning
Jingning Han [Tue, 7 Jun 2016 16:40:17 +0000 (09:40 -0700)]
Add tx type speed feature to recursive transform block partitioning

Change-Id: I45440a72b4287d98cbe21b72defc67138a8eb953

9 years agoPick up top left mbmi for supertx decode.
Geza Lore [Tue, 7 Jun 2016 18:30:01 +0000 (19:30 +0100)]
Pick up top left mbmi for supertx decode.

This ensures using the correct segment_id downstream in
reconstruct_inter_block.

Change-Id: Ia8b6ec60de51fa2e26c326d3c537abb18aea75ae

9 years agoRework the tx type speed feature
Jingning Han [Mon, 6 Jun 2016 21:58:50 +0000 (14:58 -0700)]
Rework the tx type speed feature

This commit re-works the transform type speed feature. It moves
the transform type selection outside of the coding mode loop. This
avoids repeated motion search if the best prediction mode is
chosen as NEWMV. It improves the speed performance for clips that
contain more motion activities.

For mobile_cif at 1000 kbps, this makes the baseline encoding 7%
faster and makes the encoding with dynamic motion vector referencing
scheme enabled 10% faster.

Change-Id: I93e2714b3e461303372c4b66a4134ee212faffd1

9 years agoFix a RD performance bug in bipredictive frames
Zoe Liu [Fri, 3 Jun 2016 23:03:00 +0000 (16:03 -0700)]
Fix a RD performance bug in bipredictive frames

This patch will make sure the use of the BWDREF_FRAME for the
encoding of both the two types of bipredictive frames, namely
LAST_BIPRED_UPDATE and BIPRED_UPDATE. To realize it, the
updates on the cpi->ref_frame_flags have been moved to before
the encoding of one frame, instread of originally handled after
the encoding of one frame.

RD performance has been improved slightly, approximately by 0.17%
compared to before the applying of this patch:

lowres: Avg -3.474; BDRate -3.324
derflr: Avg -2.097; BDRate -1.353

Change-Id: I0aa19afd752293e345489fbff104c4351ca5498c

9 years agoZero segment counter before accumulating.
Geza Lore [Tue, 7 Jun 2016 16:02:03 +0000 (17:02 +0100)]
Zero segment counter before accumulating.

The segment counts are computed as part of packing the bitstream,
so they might have been computed already in the recode loop. Zero
the accumulator to avoid double counting.

This fixes some encoder/decoder mismatches.

Change-Id: Ib7816034cbbb1db41101116b706302b02fad3a2c

9 years agoMerge "Fix build failure happened in reconinter.c" into nextgenv2
Debargha Mukherjee [Tue, 7 Jun 2016 14:22:25 +0000 (14:22 +0000)]
Merge "Fix build failure happened in reconinter.c" into nextgenv2

9 years agoMerge "Optimize wedge partition selection." into nextgenv2
Debargha Mukherjee [Tue, 7 Jun 2016 09:50:13 +0000 (09:50 +0000)]
Merge "Optimize wedge partition selection." into nextgenv2

9 years agoMerge "Fix decoder crash with supertx" into nextgenv2
Debargha Mukherjee [Tue, 7 Jun 2016 09:46:48 +0000 (09:46 +0000)]
Merge "Fix decoder crash with supertx" into nextgenv2

9 years agoFix build failure happened in reconinter.c
Angie Chiang [Mon, 6 Jun 2016 21:41:14 +0000 (14:41 -0700)]
Fix build failure happened in reconinter.c

Change-Id: Ifd5ed91e4e91238fb53a202c8d76c11fbb9ccf7c

9 years agoMove #if out of TEST_P in vp10_fwd/inv_txfm2d_test.cc
Angie Chiang [Mon, 6 Jun 2016 17:52:25 +0000 (10:52 -0700)]
Move #if out of TEST_P in vp10_fwd/inv_txfm2d_test.cc

Change-Id: I1d5b2408f27a1e277574c2238f1e49e884596309

9 years agoMerge "Make ref-mv experiment support ActiveMap" into nextgenv2
Jingning Han [Mon, 6 Jun 2016 16:06:41 +0000 (16:06 +0000)]
Merge "Make ref-mv experiment support ActiveMap" into nextgenv2

9 years agoOptimize wedge partition selection.
Geza Lore [Wed, 1 Jun 2016 13:19:01 +0000 (14:19 +0100)]
Optimize wedge partition selection.

We can optimize wedge partition selection by pre-computing the
residuals of the 2 underlying predictors, and then blend these
to compute the sse of the compound predictor, without actually
having to compute and subtract the compound predictor.

Similarly we can pre-compute a proxy array which we can use to
cheaply check which mask sign would have lower sse.

Details are in wedge_utils.c.

Mathematically these are equivalence transformations, but due to the
finite precision the encoder output will be perturbed, though on
average this should make 0% difference.

ext-inter gains about ~4.5% speedup.

Change-Id: Ib2657c3209ae161b4090b58b4b6c392641bf2792

9 years agoFix decoder crash with supertx
Geza Lore [Fri, 3 Jun 2016 09:54:49 +0000 (10:54 +0100)]
Fix decoder crash with supertx

xd->plane[0].n4_h and xd->plane[0].n4_w are not set at that point
when using supertx.

While this fixes the immediate crash described in the referenced
bug report, there are still issues in the ref-mv experiment that
causes these tests to fail, so they are kept disabled.

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

Change-Id: Ibf8ef02847a903f8d10e6be28e16694db10c75af

9 years agoMerge "Always include the cost of tx size in rate for Y." into nextgenv2
Debargha Mukherjee [Fri, 3 Jun 2016 22:57:17 +0000 (22:57 +0000)]
Merge "Always include the cost of tx size in rate for Y." into nextgenv2

9 years agoMerge "Check if sub8x8 rd stats are valid before reusing them." into nextgenv2
Debargha Mukherjee [Fri, 3 Jun 2016 22:38:55 +0000 (22:38 +0000)]
Merge "Check if sub8x8 rd stats are valid before reusing them." into nextgenv2

9 years agoMerge "Compute rate of partition type accurately for edge blocks." into nextgenv2
Debargha Mukherjee [Fri, 3 Jun 2016 22:37:33 +0000 (22:37 +0000)]
Merge "Compute rate of partition type accurately for edge blocks." into nextgenv2

9 years agoMake ref-mv experiment support ActiveMap
Jingning Han [Fri, 3 Jun 2016 22:03:07 +0000 (15:03 -0700)]
Make ref-mv experiment support ActiveMap

Reset the ref_mv_idx and predicted motion vector when the coding
block belongs to skip segment.

Change-Id: I5746ab315a436b829b64a1a25121989d3c11c995

9 years agoAlways include the cost of tx size in rate for Y.
Geza Lore [Thu, 12 May 2016 13:03:28 +0000 (14:03 +0100)]
Always include the cost of tx size in rate for Y.

The transform can only be skipped if both Y and U/V can be skipped, so
we always include the cost of tx size in the rate for Y. This will
get later subtracted if the transform is actually skipped.

Change-Id: I136a223e5596f18b69bb9f743e7e08438183a215

9 years agoCheck if sub8x8 rd stats are valid before reusing them.
Geza Lore [Fri, 13 May 2016 13:39:44 +0000 (14:39 +0100)]
Check if sub8x8 rd stats are valid before reusing them.

Change-Id: I5d49f15a07de58c226d4003b4691e001abf1f3f8

9 years agoCompute cost of UV mode accurately for intra blocks.
Geza Lore [Thu, 12 May 2016 13:55:56 +0000 (14:55 +0100)]
Compute cost of UV mode accurately for intra blocks.

We used to cache the cost of the UV mode from the search with a
different previously tried Y mode, but the UV mode is contexted
on the Y mode, so caching the cost is inaccurate.

Change-Id: Ib003510afb6fc9befb7808b67b0be64f1c0a0804

9 years agoCompute rate of partition type accurately for edge blocks.
Geza Lore [Thu, 12 May 2016 14:51:34 +0000 (15:51 +0100)]
Compute rate of partition type accurately for edge blocks.

This patch factors in the different partition coding syntax used for
right and bottom edge blocks when doing RD search.

Change-Id: I2f31650512b6a4a7a2c03352414693aff6fbf87b

9 years agoMerge "Add 1D version of vpx_sum_squares_i16" into nextgenv2
Debargha Mukherjee [Fri, 3 Jun 2016 13:27:50 +0000 (13:27 +0000)]
Merge "Add 1D version of vpx_sum_squares_i16" into nextgenv2

9 years agoMerge "Move template specializations into .cc from .h" into nextgenv2
Debargha Mukherjee [Fri, 3 Jun 2016 13:27:43 +0000 (13:27 +0000)]
Merge "Move template specializations into .cc from .h" into nextgenv2

9 years agoMerge "Factor out x86 SIMD intrinsic synonyms" into nextgenv2
Debargha Mukherjee [Fri, 3 Jun 2016 13:27:29 +0000 (13:27 +0000)]
Merge "Factor out x86 SIMD intrinsic synonyms" into nextgenv2

9 years agoMerge "Factor out model_rd_from_sse" into nextgenv2
Debargha Mukherjee [Fri, 3 Jun 2016 13:27:22 +0000 (13:27 +0000)]
Merge "Factor out model_rd_from_sse" into nextgenv2

9 years agoMerge "Pre-compute and use contiguous wedge masks." into nextgenv2
Debargha Mukherjee [Fri, 3 Jun 2016 13:27:02 +0000 (13:27 +0000)]
Merge "Pre-compute and use contiguous wedge masks." into nextgenv2

9 years agoAdd 1D version of vpx_sum_squares_i16
Geza Lore [Wed, 1 Jun 2016 12:57:47 +0000 (13:57 +0100)]
Add 1D version of vpx_sum_squares_i16

Change-Id: I0d7bda2fe6f995a9e88a9f66540b4979b3f7fab1

9 years agoMove template specializations into .cc from .h
Geza Lore [Wed, 1 Jun 2016 12:54:54 +0000 (13:54 +0100)]
Move template specializations into .cc from .h

Change-Id: I6d8775c1fa228fde25016a401e3c22a8e3da42f9

9 years agoFactor out x86 SIMD intrinsic synonyms
Geza Lore [Wed, 1 Jun 2016 12:53:16 +0000 (13:53 +0100)]
Factor out x86 SIMD intrinsic synonyms

Change-Id: Idc4ac3ccd2ba19087cdb74a3e4a6774ac50386aa

9 years agoFactor out model_rd_from_sse
Geza Lore [Tue, 31 May 2016 15:20:57 +0000 (16:20 +0100)]
Factor out model_rd_from_sse

Change-Id: Ia60ff0ecc8d083870fadbfe07d494d1e2c080489

9 years agoPre-compute and use contiguous wedge masks.
Geza Lore [Mon, 30 May 2016 00:35:35 +0000 (01:35 +0100)]
Pre-compute and use contiguous wedge masks.

This is purely a refactoring patch and has no functional effect.

Uses of these masks can be arranged such that all input blocks are
contiguous in memory (stride == block width). In this case 1D versions
of  operations can be used. 1D vector operations have superior performance
over 2D block equivalents as they are more processor cache friendly and
they can do away with a second loop overhead.

Change-Id: I2b76c9888aea2c857cc497e8a4b2841fd3dad54e

9 years agoMerge "Use standard rounding in combine_interintra." into nextgenv2
Debargha Mukherjee [Thu, 2 Jun 2016 19:29:16 +0000 (19:29 +0000)]
Merge "Use standard rounding in combine_interintra." into nextgenv2

9 years agoMerge "Warped motion functions added" into nextgenv2
Debargha Mukherjee [Thu, 2 Jun 2016 19:28:02 +0000 (19:28 +0000)]
Merge "Warped motion functions added" into nextgenv2

9 years agoUse standard rounding in combine_interintra.
Geza Lore [Thu, 2 Jun 2016 15:26:05 +0000 (16:26 +0100)]
Use standard rounding in combine_interintra.

Use the same rounding method that is used throughout the codebase,
where the halfway value is rounded up rather than down.

Change-Id: I04e92850bc69a7d7a07b06e3d2ce97f6f2ada321

9 years agoMerge "segmentation: Don't use uninitialized probability data." into nextgenv2
Alex Converse [Wed, 1 Jun 2016 17:50:37 +0000 (17:50 +0000)]
Merge "segmentation: Don't use uninitialized probability data." into nextgenv2

9 years agoMerge "Replace some vpxbool calls with entropy coder agnostic calls." into nextgenv2
Alex Converse [Tue, 31 May 2016 23:57:59 +0000 (23:57 +0000)]
Merge "Replace some vpxbool calls with entropy coder agnostic calls." into nextgenv2

9 years agosegmentation: Don't use uninitialized probability data.
Alex Converse [Tue, 24 May 2016 17:58:00 +0000 (10:58 -0700)]
segmentation: Don't use uninitialized probability data.

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

Change-Id: I17b76fcf0d8c191850350d5aa50dcc007b8b0cdc

9 years agoMerge "ext-intra: speed up keyframe encoding" into nextgenv2
Hui Su [Tue, 31 May 2016 23:21:03 +0000 (23:21 +0000)]
Merge "ext-intra: speed up keyframe encoding" into nextgenv2

9 years agoMerge "Add a speed feature for inter tx type search" into nextgenv2
Hui Su [Tue, 31 May 2016 23:20:57 +0000 (23:20 +0000)]
Merge "Add a speed feature for inter tx type search" into nextgenv2

9 years agoMerge "Add a speed feature for intra tx type search" into nextgenv2
Hui Su [Tue, 31 May 2016 23:20:51 +0000 (23:20 +0000)]
Merge "Add a speed feature for intra tx type search" into nextgenv2

9 years agoMerge "vp10_inv_txfm2d_test: fix memory leak" into nextgenv2
James Zern [Tue, 31 May 2016 23:19:47 +0000 (23:19 +0000)]
Merge "vp10_inv_txfm2d_test: fix memory leak" into nextgenv2

9 years agoReplace some vpxbool calls with entropy coder agnostic calls.
Alex Converse [Tue, 31 May 2016 22:42:19 +0000 (15:42 -0700)]
Replace some vpxbool calls with entropy coder agnostic calls.

Change-Id: Ifbcd0714fcf994c43b69255185456c7a255df66c

9 years agoWarped motion functions added
Debargha Mukherjee [Fri, 20 May 2016 23:51:36 +0000 (16:51 -0700)]
Warped motion functions added

Change-Id: I5064ef1421e17c3ecafe70e7ff1fc7db0c16cc8f

9 years agoext-intra: speed up keyframe encoding
hui su [Sat, 28 May 2016 21:26:28 +0000 (14:26 -0700)]
ext-intra: speed up keyframe encoding

130% speed increase for keyframe encoding, with 0.4%
compression loss.

When kf-max-dist=150, 1.5% speed increase with 0.03%
compression loss.

Change-Id: I4cf7314ab95b9eb6dd17f314aca8955522c82676

9 years agoAdd a speed feature for inter tx type search
hui su [Sat, 28 May 2016 17:51:05 +0000 (10:51 -0700)]
Add a speed feature for inter tx type search

Seperate prediction mode and tx type search for inter
modes. Enabled for speed >=1.

baseline:
speed increase     40%
compression drop   0.30%/0.29% on lowres/midres

ext-tx:
speed increase    160%
compression drop  1.08%/0.95% on lowres/midres

Change-Id: Ieb34b1ee80df6980d16e26a5783e08cc0deae55b

9 years agoAdd a speed feature for intra tx type search
hui su [Sat, 21 May 2016 00:40:00 +0000 (17:40 -0700)]
Add a speed feature for intra tx type search

Add a speed feature to seperate prediction mode and tx type search
for intra modes: search for best intra prediction mode with fixed
default tx type first, then choose the best tx type for the
selected mode.

Coding performance drop:
baseline
  lowres 0.10% midres 0.08% hdres 0.14%
with ext-tx
  lowres 0.14% midres 0.25% hdres 0.20%

Speed improvement is 20% for baseline and 17% for ext-tx.

It is turned on for speed >= 1.

Change-Id: Ia5e8d39e8a4e2e42c521bfde938f8b6a98ab24f9

9 years agoMake the bi-predictive frame group interval adjustable
Zoe Liu [Wed, 25 May 2016 18:57:15 +0000 (11:57 -0700)]
Make the bi-predictive frame group interval adjustable

This is for the bidir-pred experiment. Previously the length of the
bi-predictive frame group interval is fixed at 2, i.e. one
bi-predictive frame may be inserted every other frame. This patch
makes the length adjustable, i.e. any positive number may be
specified, but the use of the backward ref will be turned off if the
bi-predictive frame group interval is larger than the golden frame
group.

Further, an additional rate factor level has been added:
INTER_LOW
, which applies to LAST_BIPRED_UPDATE frames that are not used as
references.

Change-Id: I5514d34a64dd486bbb5756c2d0612946f598a789

9 years agoMerge "ext-intra: refactor mode info. writing and reading" into nextgenv2
Hui Su [Sat, 28 May 2016 04:34:58 +0000 (04:34 +0000)]
Merge "ext-intra: refactor mode info. writing and reading" into nextgenv2

9 years agovp10_inv_txfm2d_test: fix memory leak
James Zern [Fri, 27 May 2016 03:04:59 +0000 (20:04 -0700)]
vp10_inv_txfm2d_test: fix memory leak

input_, ref_input_ and output_ were being allocated with new[] followed
by vpx_memalign, remove the former

Change-Id: Ia16d0f9b9317042a24445095ad3c284f4e7bb481

9 years agoMerge "Add a quick path in build_intra_predictors" into nextgenv2
Hui Su [Thu, 26 May 2016 22:12:53 +0000 (22:12 +0000)]
Merge "Add a quick path in build_intra_predictors" into nextgenv2

9 years agoext-intra: refactor mode info. writing and reading
hui su [Thu, 26 May 2016 18:42:44 +0000 (11:42 -0700)]
ext-intra: refactor mode info. writing and reading

No performance changes.

Change-Id: I001068330ea217a993aee9b79d7ffead0d23100e

9 years agoMerge "Skip unnecessary calculations in ext-intra" into nextgenv2
Hui Su [Thu, 26 May 2016 18:03:02 +0000 (18:03 +0000)]
Merge "Skip unnecessary calculations in ext-intra" into nextgenv2

9 years agoAdd a quick path in build_intra_predictors
hui su [Wed, 25 May 2016 21:51:02 +0000 (14:51 -0700)]
Add a quick path in build_intra_predictors

For the cases where no reference data is available.

Change-Id: Ibf1ac9b7073acc2c7fc44da893f3d608dc74bc1e

9 years agoMerge "Integrate HBD inverse HT flip types sse4.1 optimization" into nextgenv2
Yi Luo [Wed, 25 May 2016 21:35:14 +0000 (21:35 +0000)]
Merge "Integrate HBD inverse HT flip types sse4.1 optimization" into nextgenv2

9 years agoIntegrate HBD inverse HT flip types sse4.1 optimization
Yi Luo [Thu, 19 May 2016 21:13:07 +0000 (14:13 -0700)]
Integrate HBD inverse HT flip types sse4.1 optimization

- tx_size: 4x4, 8x8, 16x16.
- tx_type: FLIPADST_DCT, DCT_FLIPADST, FLIPADST_FLIPADST,
  ADST_FLIPADST, FLIPADST_ADST.
- Encoder speed improvement:
  park_joy_1080p_12: ~11%, crowd_run_1080p_12: ~7%.
- Add unit test cases for bit-exact against C.

Change-Id: Ia69d069031fa76c4625e845bfbfe7e6f6ed6e841

9 years agoMerge "add vp10 ActiveMap/ActiveMapRefreshTest" into nextgenv2
James Zern [Wed, 25 May 2016 19:05:02 +0000 (19:05 +0000)]
Merge "add vp10 ActiveMap/ActiveMapRefreshTest" into nextgenv2

9 years agoMerge "HBD inverse HT 8x8 and 16x16 sse4.1 optimization" into nextgenv2
Yi Luo [Tue, 24 May 2016 22:06:07 +0000 (22:06 +0000)]
Merge "HBD inverse HT 8x8 and 16x16 sse4.1 optimization" into nextgenv2

9 years agoAdded an experiment "bidir_pred" for backward prediction
Zoe Liu [Thu, 4 Feb 2016 17:47:46 +0000 (09:47 -0800)]
Added an experiment "bidir_pred" for backward prediction

Major parts have been implemented as follows:
(1) Added BRF_UPDATE, LASTNRF_UPDATE, and NRF_UPDATE in firstpass.c;
(2) Added the handling for the scenario of
"cpi->common.show_existing_frame == 1" at the encoder;
(3) Added a new reference frame of BWDREF_FRAME;
(4) Have bwd-ref work with upsampled references.

Note that when the experiment of "ext_refs" turned on, this experiment
will be turned off automatically currently.

RD performance in Overall PSNR has been improved, compared against the
VP10 baseline:

lowres: Avg -3.312; BDRate -3.154
derflr: Avg -1.927; BDRate -1.176
midres: Avg -2.149; BDRate -2.001
hdres : Avg -0.567; BDRate -0.588

Change-Id: I4c06ff51cc20194bffbd4d2346e57ba3dcf6b62c

9 years agoHBD inverse HT 8x8 and 16x16 sse4.1 optimization
Yi Luo [Thu, 19 May 2016 21:13:07 +0000 (14:13 -0700)]
HBD inverse HT 8x8 and 16x16 sse4.1 optimization

- Covers tx_type: DCT_DCT, DCT_ADST, ADST_DCT, ADST_ADST.
- Encoding speed improves ~27% on crowd_run_1080p_12.
- Merge 4x4, 8x8, 16x16 unit tests in one test file.

Change-Id: I058ef5254d068a9523a826480c78ebbdd231824c

9 years agoMerge "Remove redundant memcpy from wedge predictor." into nextgenv2
Debargha Mukherjee [Tue, 24 May 2016 17:33:54 +0000 (17:33 +0000)]
Merge "Remove redundant memcpy from wedge predictor." into nextgenv2

9 years agoMerge "Pick up bit-depth from the right place" into nextgenv2
Debargha Mukherjee [Tue, 24 May 2016 17:33:22 +0000 (17:33 +0000)]
Merge "Pick up bit-depth from the right place" into nextgenv2

9 years agoRemove redundant memcpy from wedge predictor.
Geza Lore [Tue, 24 May 2016 10:26:18 +0000 (11:26 +0100)]
Remove redundant memcpy from wedge predictor.

Removing redundant calls to memcpy from
build_wedge_inter_predictor_from_buf yields a net 4% encoder speedup
with ext-inter only. The output is identical.

Change-Id: If97d4e323a5c8aca90c84a25a72085e006b05446

9 years agoPick up bit-depth from the right place
Geza Lore [Tue, 24 May 2016 10:08:23 +0000 (11:08 +0100)]
Pick up bit-depth from the right place

Change-Id: Icbdb036d7927b77b84bd78e8348ec8b5be88df08

9 years agoSkip unnecessary calculations in ext-intra
hui su [Mon, 23 May 2016 19:21:50 +0000 (12:21 -0700)]
Skip unnecessary calculations in ext-intra

Around 5% speedup.

Change-Id: I1c552e4e58fbf5637c0b5a97dd2cc4f83a1ca201

9 years agoFix --test-decode=warn to test mismatch
Zoe Liu [Thu, 19 May 2016 23:46:10 +0000 (16:46 -0700)]
Fix --test-decode=warn to test mismatch

This patch always compares the most recent show frames between
the encoder and the decoder to test the mismatch.

Change-Id: I68a91ad0996a598231450debfd616e24992419b5

9 years agoMerge "Add optimized vpx_blend_mask6" into nextgenv2
Debargha Mukherjee [Mon, 23 May 2016 23:43:52 +0000 (23:43 +0000)]
Merge "Add optimized vpx_blend_mask6" into nextgenv2

9 years agoAdd optimized vpx_blend_mask6
Geza Lore [Fri, 20 May 2016 15:33:12 +0000 (16:33 +0100)]
Add optimized vpx_blend_mask6

This is to replace vp10/common/reconinter.c:build_masked_compound.
Functionality is equivalent, but the interface is slightly more
generic.

Total encoder speedup with ext-inter: ~7.5%

Change-Id: Iee18b83ae324ffc9c7f7dc16d4b2b06adb4d4305

9 years agoMerge "Wedge refactoring to handle signs better" into nextgenv2
Debargha Mukherjee [Fri, 20 May 2016 23:19:39 +0000 (23:19 +0000)]
Merge "Wedge refactoring to handle signs better" into nextgenv2

9 years agoMerge "Clear redundant condition check from vp10_ext_tile_test.cc" into nextgenv2
Jingning Han [Fri, 20 May 2016 22:10:41 +0000 (22:10 +0000)]
Merge "Clear redundant condition check from vp10_ext_tile_test.cc" into nextgenv2

9 years agoWedge refactoring to handle signs better
Debargha Mukherjee [Tue, 17 May 2016 14:10:39 +0000 (07:10 -0700)]
Wedge refactoring to handle signs better

Mostly refactoring. Handles signs better though results are
more or less neutral.

Change-Id: If499537c8f8da4f34d104ebfda072eb4c85fb12f

9 years agoMerge "Properly handle the filter extension in highbd setting" into nextgenv2
Yaowu Xu [Fri, 20 May 2016 20:00:51 +0000 (20:00 +0000)]
Merge "Properly handle the filter extension in highbd setting" into nextgenv2

9 years agoMerge "Fix build when vp8 is disabled" into nextgenv2
Yaowu Xu [Fri, 20 May 2016 19:59:47 +0000 (19:59 +0000)]
Merge "Fix build when vp8 is disabled" into nextgenv2

9 years agoMerge "Port change to highbitdepth code path" into nextgenv2
Yaowu Xu [Fri, 20 May 2016 19:59:41 +0000 (19:59 +0000)]
Merge "Port change to highbitdepth code path" into nextgenv2

9 years agoFix build when vp8 is disabled
Yaowu Xu [Fri, 20 May 2016 18:33:07 +0000 (11:33 -0700)]
Fix build when vp8 is disabled

Change-Id: Ie1765f086b10d0f7c4d72961d238dfe0d6056dc2

9 years agoPort change to highbitdepth code path
Yaowu Xu [Fri, 20 May 2016 18:30:37 +0000 (11:30 -0700)]
Port change to highbitdepth code path

This fixes the crash in encoder when configure with both  highbitdepth
and dual-filter.

Change-Id: Ie06cc528094f4b31b7fc0ba75e7b15cae031d707

9 years agoMerge "Use standard rounding in intra filters." into nextgenv2
Hui Su [Fri, 20 May 2016 16:36:04 +0000 (16:36 +0000)]
Merge "Use standard rounding in intra filters." into nextgenv2

9 years agoMerge "Rework sub8x8 chroma component inter predictor" into nextgenv2
Jingning Han [Fri, 20 May 2016 15:50:32 +0000 (15:50 +0000)]
Merge "Rework sub8x8 chroma component inter predictor" into nextgenv2

9 years agoMerge "Remove unused private variables from vp10_inv_txfm2d_test.cc" into nextgenv2
Jingning Han [Fri, 20 May 2016 01:23:25 +0000 (01:23 +0000)]
Merge "Remove unused private variables from vp10_inv_txfm2d_test.cc" into nextgenv2

9 years agoFix a build issue
Yaowu Xu [Thu, 19 May 2016 21:24:41 +0000 (14:24 -0700)]
Fix a build issue

When both obmc and dual_filter is enabled.

Change-Id: I56b127573a6cca31469bb357cf7a6a9c3df64071

9 years agoMerge "Fix obmc + ext-interp interference" into nextgenv2
Yue Chen [Thu, 19 May 2016 18:08:52 +0000 (18:08 +0000)]
Merge "Fix obmc + ext-interp interference" into nextgenv2

9 years agoProperly handle the filter extension in highbd setting
Jingning Han [Thu, 19 May 2016 16:57:23 +0000 (09:57 -0700)]
Properly handle the filter extension in highbd setting

This commit makes the filter extension in highbd aware of the
dual filter and ext-interp experiments to prevent enc/dec mismatch
when both experiments are turned on.

Change-Id: I11ac1f041bd5f73d61e839d6386d9c5d008da3f7

9 years agoClear redundant condition check from vp10_ext_tile_test.cc
Jingning Han [Thu, 19 May 2016 16:25:38 +0000 (09:25 -0700)]
Clear redundant condition check from vp10_ext_tile_test.cc

Change-Id: I74e9df9e314e49b931c23a81d14f5a9e143b0b7d

9 years agoRemove unused private variables from vp10_inv_txfm2d_test.cc
Jingning Han [Thu, 19 May 2016 16:20:28 +0000 (09:20 -0700)]
Remove unused private variables from vp10_inv_txfm2d_test.cc

Change-Id: Ie933d754aca649bdf17cd679b9a31239bf413b63

9 years agoMerge "Fix to conform Google's coding convention" into nextgenv2
Yi Luo [Thu, 19 May 2016 16:07:01 +0000 (16:07 +0000)]
Merge "Fix to conform Google's coding convention" into nextgenv2

9 years agoRework sub8x8 chroma component inter predictor
Jingning Han [Tue, 17 May 2016 01:27:20 +0000 (18:27 -0700)]
Rework sub8x8 chroma component inter predictor

This commit makes the sub8x8 chroma component inter predictor
operate at 2x2 block level. This allows one to use the actual motion
vector associated with each individal pixel block. It improves the
compression performance

lowres  0.40%
midres  0.25%
hdres   0.15%

Change-Id: Ia40e07cc7fde463dbf660018850e024932136c4f

9 years agoMerge "Account sub8x8 block reference filter type for prob context" into nextgenv2
Jingning Han [Thu, 19 May 2016 15:04:31 +0000 (15:04 +0000)]
Merge "Account sub8x8 block reference filter type for prob context" into nextgenv2

9 years agoMerge "Re-structure probability model context for prediction filter type" into nextgenv2
Jingning Han [Thu, 19 May 2016 15:04:17 +0000 (15:04 +0000)]
Merge "Re-structure probability model context for prediction filter type" into nextgenv2