]> granicus.if.org Git - libvpx/log
libvpx
9 years agoSelect segment based loopfilter strength for supertx blocks.
Geza Lore [Fri, 10 Jun 2016 08:32:21 +0000 (09:32 +0100)]
Select segment based loopfilter strength for supertx blocks.

Segment based loopfilter strength for supertx coded blocks is now
selected based on the minimum of all segment IDs within a supertx
coded block (same as the quantiser settings).

Change-Id: Ib056bd0d05f6a1d3b512a76deb4e2ad4db0f7dc4

9 years agoRemove now superfluous argument from predict_b_extend.
Geza Lore [Thu, 9 Jun 2016 15:56:04 +0000 (16:56 +0100)]
Remove now superfluous argument from predict_b_extend.

Change-Id: I7a76756842af9ce806c6e0e1f98f294af748e8bd

9 years agoRework supertx segment handling and adaptive quantization.
Geza Lore [Thu, 9 Jun 2016 16:06:02 +0000 (17:06 +0100)]
Rework supertx segment handling and adaptive quantization.

Segment level quantizer settings for supertx coded blocks are now
selected based on the minimum of all segment IDs within a supertx
coded block.

This also fixes the 3 adaptive quantization modes with supertx.

Change-Id: Ib5db099539d4f82f240e1d745d6e5264f8b34cde

9 years agoMinor refactor of decode_block for supertx.
Geza Lore [Thu, 9 Jun 2016 16:02:10 +0000 (17:02 +0100)]
Minor refactor of decode_block for supertx.

Exit early from function when supertx is used, rather than putting
the bulk of the function body in a single conditional.

Change-Id: I41f388a45bd46e4a6ee1c51f26782ed9bddff4e5

9 years agoRe-initialise quantiser after changing segment.
Geza Lore [Thu, 9 Jun 2016 14:29:29 +0000 (15:29 +0100)]
Re-initialise quantiser after changing segment.

When using VARIANCE_AQ, we can change the segment assignment after
initialising the quantiser in set_offsets, so re-initialise it when
we do so.

Change-Id: I1f168553aaf0ade419f0d4bf05820cd591b87659

9 years agoRefactor variance aq.
Geza Lore [Thu, 9 Jun 2016 14:12:27 +0000 (15:12 +0100)]
Refactor variance aq.

Explicitly signal when the segment map is being refreshed when
using VARIANE_AQ. This simplifies decisions about when the segment id
needs to be set from the previous segment map vs based on the current
variance.

Change-Id: Ieb12c950e9cfbc3f53f4d184880071dea805563c

9 years agoPass segment id explicitly to quantizer init.
Geza Lore [Thu, 9 Jun 2016 12:31:37 +0000 (13:31 +0100)]
Pass segment id explicitly to quantizer init.

This is purely refactoring in preparation of fixing supertx segment
handling

Change-Id: I74bcae34241fdf2b592e1cd45b67af77b9e16c9a

9 years agoMerge "Revert "Add 1D version of vpx_sum_squares_i16"" into nextgenv2
James Zern [Tue, 14 Jun 2016 00:04:56 +0000 (00:04 +0000)]
Merge "Revert "Add 1D version of vpx_sum_squares_i16"" into nextgenv2

9 years agoMerge "active_map_refresh_test: fix missing file w/vp10-only" into nextgenv2
James Zern [Mon, 13 Jun 2016 19:08:04 +0000 (19:08 +0000)]
Merge "active_map_refresh_test: fix missing file w/vp10-only" into nextgenv2

9 years agoMerge "Trellis based adaptive quantization" into nextgenv2
Jingning Han [Mon, 13 Jun 2016 17:36:19 +0000 (17:36 +0000)]
Merge "Trellis based adaptive quantization" into nextgenv2

9 years agoactive_map_refresh_test: fix missing file w/vp10-only
James Zern [Sat, 11 Jun 2016 16:49:02 +0000 (09:49 -0700)]
active_map_refresh_test: fix missing file w/vp10-only

Change-Id: I6413b7622a3c8524ec0409e087cf7c92f79e4f2d

9 years agoMerge "Some refactoring to support warped motion mode" into nextgenv2
Debargha Mukherjee [Fri, 10 Jun 2016 23:18:38 +0000 (23:18 +0000)]
Merge "Some refactoring to support warped motion mode" into nextgenv2

9 years agoFix one typo in the comment
Zoe Liu [Fri, 10 Jun 2016 22:58:30 +0000 (15:58 -0700)]
Fix one typo in the comment

Change-Id: Ie98fd60426b18980ec85572f3cfc9ce0b97a5361

9 years agoMerge "Turn on ActiveMapTest speeds [0,5) with all experiments." into nextgenv2
Alex Converse [Fri, 10 Jun 2016 21:52:56 +0000 (21:52 +0000)]
Merge "Turn on ActiveMapTest speeds [0,5) with all experiments." into nextgenv2

9 years agoTrellis based adaptive quantization
Jingning Han [Wed, 8 Jun 2016 00:54:20 +0000 (17:54 -0700)]
Trellis based adaptive quantization

This commit combines uniform quantizer with trellis based coefficient
level optimization. It improves the codebase compression performance:

lowres 0.8%
midres 1.0%
hdres  1.6%

Note that the current trellis optimization unit is using C code. This
will make the cost of the overall quantization process slower. A number
of optimizations will come up next.

Change-Id: Id441dd238e4844409d0f08f82604be777f3f5282

9 years agoSome refactoring to support warped motion mode
Debargha Mukherjee [Thu, 9 Jun 2016 07:57:09 +0000 (00:57 -0700)]
Some refactoring to support warped motion mode

Change-Id: I15d54a3ae48b2b33082668116792c6595bdb3ddb

9 years agoMerge "Adds higher precision for homography model 3rd row" into nextgenv2
Debargha Mukherjee [Fri, 10 Jun 2016 18:47:17 +0000 (18:47 +0000)]
Merge "Adds higher precision for homography model 3rd row" into nextgenv2

9 years agoMerge "Move new quant experiment from nextgen" into nextgenv2
Sarah Parker [Fri, 10 Jun 2016 17:26:33 +0000 (17:26 +0000)]
Merge "Move new quant experiment from nextgen" into nextgenv2

9 years agoMerge "Add MIN_TX_SIZE definition" into nextgenv2
Jingning Han [Fri, 10 Jun 2016 16:04:38 +0000 (16:04 +0000)]
Merge "Add MIN_TX_SIZE definition" into nextgenv2

9 years agoMove new quant experiment from nextgen
Sarah Parker [Tue, 10 May 2016 22:32:42 +0000 (15:32 -0700)]
Move new quant experiment from nextgen

This experiment implements non-uniform quantization where
the width of the bins increases gradually to more closely
match a laplacian distribution of the coeficcients.

Performance Gain:
derflr: 0.15%
hevcmr: 0.675%

Change-Id: I25234244e3bcd94b87c1f77cf682190b61c8ef94

9 years agoRevert "Add 1D version of vpx_sum_squares_i16"
James Zern [Fri, 10 Jun 2016 06:38:31 +0000 (23:38 -0700)]
Revert "Add 1D version of vpx_sum_squares_i16"

This reverts commit f19700fe52850d051e505ec1b085f25060f7d054.

This crashes in SSE2/SumSquares2DTest.RandomValues/0 under x86 due to
alignment issues

Change-Id: I135d83ba6a7894c09d7c7a139b7eaf876416b40c

9 years agoMerge "Revert "Optimize wedge partition selection."" into nextgenv2
James Zern [Fri, 10 Jun 2016 03:49:28 +0000 (03:49 +0000)]
Merge "Revert "Optimize wedge partition selection."" into nextgenv2

9 years agoRevert "Optimize wedge partition selection."
Angie Chiang [Fri, 10 Jun 2016 02:15:06 +0000 (19:15 -0700)]
Revert "Optimize wedge partition selection."

This reverts commit efda2831e5f758b4f350679b5c55c0b9282449b0.

This commit causes segmentation fault at SSE2/SumSquares2DTest.RandomValues/0

Change-Id: I171937e4daf6f15323e8206418773deb03bd8c53

9 years agoFix vp9_end_to_end_test for vp10 HBD
Sarah Parker [Thu, 9 Jun 2016 23:29:53 +0000 (16:29 -0700)]
Fix vp9_end_to_end_test for vp10 HBD

This test is failing when no experiments are turned on. PSNR is
31.96 when the threshold is 32.

broken since:
0d6980d Remove swap buffer speed feature

Change-Id: I3c29815b40d5282c37f52f4345b56992f8558b2e

9 years agoMerge "Add warped motion config flag" into nextgenv2
Debargha Mukherjee [Thu, 9 Jun 2016 22:36:07 +0000 (22:36 +0000)]
Merge "Add warped motion config flag" into nextgenv2

9 years agoAdd warped motion config flag
Debargha Mukherjee [Thu, 9 Jun 2016 09:22:48 +0000 (02:22 -0700)]
Add warped motion config flag

Change-Id: I4b5e1251dc215073384e168a6f845ae059d6c4f2

9 years agoMerge "Updated loop restoration" into nextgenv2
Aamir Anis [Thu, 9 Jun 2016 20:57:09 +0000 (20:57 +0000)]
Merge "Updated loop restoration" into nextgenv2

9 years agoTurn on ActiveMapTest speeds [0,5) with all experiments.
Alex Converse [Thu, 9 Jun 2016 20:50:05 +0000 (13:50 -0700)]
Turn on ActiveMapTest speeds [0,5) with all experiments.

Change-Id: I7da9e6a85648aa69e5e20d825b717d51e3c6809c

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 agoAdds higher precision for homography model 3rd row
Debargha Mukherjee [Thu, 9 Jun 2016 11:05:26 +0000 (04:05 -0700)]
Adds higher precision for homography model 3rd row

Also adds a function to integerize a double model.

Change-Id: Ie09b3e165492cf66ab81fe25d4bc2422a5e6defd

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 agoAdd MIN_TX_SIZE definition
Jingning Han [Wed, 8 Jun 2016 17:22:52 +0000 (10:22 -0700)]
Add MIN_TX_SIZE definition

Change-Id: I399d601d40827ac383a6687cbeaec59e9a9c63e4

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 agoUpdated loop restoration
Aamir Anis [Wed, 1 Jun 2016 05:50:24 +0000 (22:50 -0700)]
Updated loop restoration

1. Wiener restoration filter now has normalization and evaluation of
quantization procedure.
2. Corrected scaling of bits in RD cost computation.
3. Changed dynamic range and number of bits for Wiener filter.
Observed gains: Overall 0.58% for low_res, 0.7% for mid_res sequences.

Change-Id: I8928b3ea493bfe1790926b00388d6c4bafc08e19

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