]> granicus.if.org Git - libvpx/log
libvpx
9 years agoMerge "Remove magic number from traversal (CYCLIC_REFRESH_AQ)." into nextgenv2
Debargha Mukherjee [Wed, 15 Jun 2016 16:50:15 +0000 (16:50 +0000)]
Merge "Remove magic number from traversal (CYCLIC_REFRESH_AQ)." into nextgenv2

9 years agoMerge "Select segment based loopfilter strength for supertx blocks." into nextgenv2
Debargha Mukherjee [Wed, 15 Jun 2016 16:49:33 +0000 (16:49 +0000)]
Merge "Select segment based loopfilter strength for supertx blocks." into nextgenv2

9 years agoMerge "Remove now superfluous argument from predict_b_extend." into nextgenv2
Debargha Mukherjee [Wed, 15 Jun 2016 16:48:13 +0000 (16:48 +0000)]
Merge "Remove now superfluous argument from predict_b_extend." into nextgenv2

9 years agoMerge "Rework supertx segment handling and adaptive quantization." into nextgenv2
Debargha Mukherjee [Wed, 15 Jun 2016 16:47:58 +0000 (16:47 +0000)]
Merge "Rework supertx segment handling and adaptive quantization." into nextgenv2

9 years agoMerge "Minor refactor of decode_block for supertx." into nextgenv2
Debargha Mukherjee [Wed, 15 Jun 2016 16:47:28 +0000 (16:47 +0000)]
Merge "Minor refactor of decode_block for supertx." into nextgenv2

9 years agoMerge "Re-initialise quantiser after changing segment." into nextgenv2
Debargha Mukherjee [Wed, 15 Jun 2016 16:45:57 +0000 (16:45 +0000)]
Merge "Re-initialise quantiser after changing segment." into nextgenv2

9 years agoMerge "Refactor variance aq." into nextgenv2
Debargha Mukherjee [Wed, 15 Jun 2016 16:45:21 +0000 (16:45 +0000)]
Merge "Refactor variance aq." into nextgenv2

9 years agoMerge "Pass segment id explicitly to quantizer init." into nextgenv2
Debargha Mukherjee [Wed, 15 Jun 2016 16:44:37 +0000 (16:44 +0000)]
Merge "Pass segment id explicitly to quantizer init." into nextgenv2

9 years agoMerge "Fix estimate_wedge_sign with high bit-depth." into nextgenv2
Debargha Mukherjee [Wed, 15 Jun 2016 16:43:51 +0000 (16:43 +0000)]
Merge "Fix estimate_wedge_sign with high bit-depth." into nextgenv2

9 years agoMerge "Rework transform quantization pipeline" into nextgenv2
Jingning Han [Wed, 15 Jun 2016 16:07:10 +0000 (16:07 +0000)]
Merge "Rework transform quantization pipeline" into nextgenv2

9 years agoMerge "Refactor the trellis optimization process" into nextgenv2
Jingning Han [Wed, 15 Jun 2016 16:07:03 +0000 (16:07 +0000)]
Merge "Refactor the trellis optimization process" into nextgenv2

9 years agoFix estimate_wedge_sign with high bit-depth.
Geza Lore [Wed, 15 Jun 2016 09:49:37 +0000 (10:49 +0100)]
Fix estimate_wedge_sign with high bit-depth.

This fixes some crashes in
VP10/EndToEndTestLarge.EndtoEndPSNRTest/ with high bit-depth and
ext-inter.

Change-Id: I10f0f08e1be4bd5c388616074d4aa3f91a2fda7a

9 years agoMerge "Speed up ext-intra inter frame encoding" into nextgenv2
Hui Su [Wed, 15 Jun 2016 02:46:06 +0000 (02:46 +0000)]
Merge "Speed up ext-intra inter frame encoding" into nextgenv2

9 years agoMerge "ext-intra: refactor rd loop in interframe" into nextgenv2
Hui Su [Wed, 15 Jun 2016 02:45:59 +0000 (02:45 +0000)]
Merge "ext-intra: refactor rd loop in interframe" into nextgenv2

9 years agoRework transform quantization pipeline
Jingning Han [Thu, 9 Jun 2016 18:20:26 +0000 (11:20 -0700)]
Rework transform quantization pipeline

This commit reworks the transform and quantization unit. It enables
the use of adaptive quantization for intra modes. This further
improves the compression performance:
lowres 0.36%
midres 0.79%
hdres  0.73%

The key frame coding performance is improved:
lowres 1.7%
midres 1.9%
hdres  3.3%

The overall coding gains are:
lowres 1.1%
midres 1.8%
hdres  2.3%

Change-Id: Iaec1a3a4c1d5eac883ab526ed076d957060479dd

9 years agoMerge "Fix rate cost calculation for ext-intra" into nextgenv2
Hui Su [Tue, 14 Jun 2016 23:11:25 +0000 (23:11 +0000)]
Merge "Fix rate cost calculation for ext-intra" into nextgenv2

9 years agoMerge "Handle intra modes when tx type speed feature is enabled" into nextgenv2
Hui Su [Tue, 14 Jun 2016 22:37:19 +0000 (22:37 +0000)]
Merge "Handle intra modes when tx type speed feature is enabled" into nextgenv2

9 years agoMerge "Fix enc/dec mismatch in non-420 settings" into nextgenv2
Jingning Han [Tue, 14 Jun 2016 21:54:08 +0000 (21:54 +0000)]
Merge "Fix enc/dec mismatch in non-420 settings" into nextgenv2

9 years agoHandle intra modes when tx type speed feature is enabled
hui su [Mon, 13 Jun 2016 17:52:19 +0000 (10:52 -0700)]
Handle intra modes when tx type speed feature is enabled

Change-Id: I9dc156214f3b3ded33ab30d558124b3151548161

9 years agoSpeed up ext-intra inter frame encoding
hui su [Thu, 2 Jun 2016 18:53:00 +0000 (11:53 -0700)]
Speed up ext-intra inter frame encoding

Skip filter intra mode search when regular intra modes have large
rd cost.

Encoding speed improvement:  8%.

Compression performance drop: 0.02%  / 0.09%  / 0.03% on
                              lowres / midres / hdres

Change-Id: I94d3e48781bff6ae6895a54f271dd65c959bb976

9 years agoext-intra: refactor rd loop in interframe
hui su [Tue, 31 May 2016 21:40:04 +0000 (14:40 -0700)]
ext-intra: refactor rd loop in interframe

Move filter intra modes search to the end, after regular
mode search.

On average no performance changes.

Change-Id: I9293c8fdf706ebf831fbd61c6bb81959790f4848

9 years agoFix rate cost calculation for ext-intra
hui su [Fri, 10 Jun 2016 17:37:24 +0000 (10:37 -0700)]
Fix rate cost calculation for ext-intra

It was broken by commit 8ee640f979.

Change-Id: I26b9eba810c74849b0805e64da2d269ab0685cb9

9 years agoMerge "Make tx_type speed feature default" into nextgenv2
Jingning Han [Tue, 14 Jun 2016 20:45:02 +0000 (20:45 +0000)]
Merge "Make tx_type speed feature default" into nextgenv2

9 years agoRemove magic number from traversal (CYCLIC_REFRESH_AQ).
Geza Lore [Tue, 14 Jun 2016 12:12:45 +0000 (13:12 +0100)]
Remove magic number from traversal (CYCLIC_REFRESH_AQ).

mi->stride now depends on the maximum superblock size, and hence
the constant 8 padding is no longer appropriate. Traverse the array
using mi->stride instead.

Change-Id: I8e84b9fe1728f6663f8c10765fe32206375f1e71

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 "A crash fix for supertx / ext-inter combination." into nextgenv2
Debargha Mukherjee [Tue, 14 Jun 2016 14:44:55 +0000 (14:44 +0000)]
Merge "A crash fix for supertx / ext-inter combination." into nextgenv2

9 years agoFix enc/dec mismatch in non-420 settings
Jingning Han [Mon, 13 Jun 2016 17:30:52 +0000 (10:30 -0700)]
Fix enc/dec mismatch in non-420 settings

This commit makes the dual filter experiment work with non-420
settings. It fixes unit test failure in EndToEndTestLarge.

Change-Id: I04f7afdee78f91389d9ff72947efa152098af930

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 agoA crash fix for supertx / ext-inter combination.
Debargha Mukherjee [Mon, 13 Jun 2016 20:14:54 +0000 (13:14 -0700)]
A crash fix for supertx / ext-inter combination.

Change-Id: I9860376c98aa3b25f5bf86ed13d4a7631fa6b153

9 years agoRefactor the trellis optimization process
Jingning Han [Wed, 8 Jun 2016 22:43:53 +0000 (15:43 -0700)]
Refactor the trellis optimization process

Speed up the trellis optimization unit by 10%.

Change-Id: If055f6c0589a405c008d2900bb8fbc11b1246f66

9 years agoMake tx_type speed feature default
Jingning Han [Mon, 13 Jun 2016 19:08:14 +0000 (12:08 -0700)]
Make tx_type speed feature default

Revisit the compression performance and complexity trade-off after
making the SIMD version of trellis optimizations. Before that,
reduce the transform-quantization function calls temporarily. This
would cause about 0.3% performance drop for lowres set.

Change-Id: I16917a6bd5c44ec6cd8cd0b59f3c336c4fd96dd2

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