]> granicus.if.org Git - libvpx/log
libvpx
10 years agoMerge "Adds code for corner detection and ransac" into nextgen
Deb Mukherjee [Tue, 10 Feb 2015 16:18:03 +0000 (08:18 -0800)]
Merge "Adds code for corner detection and ransac" into nextgen

10 years agoAdds code for corner detection and ransac
Deb Mukherjee [Sat, 7 Feb 2015 01:44:49 +0000 (17:44 -0800)]
Adds code for corner detection and ransac

This code is to start experiments with global motion models.

The corner detection can be either fast_9 or Harris.
Corner matching is currently based on normalized correlation.
Three flavors of ransac are used to estimate either a
homography (8-param), or an affine model (6-param) or a
rotation-zoom only affine model (4-param).

The highest level API for the library is in vp9_global_motion.h,
where there are two functions - one for computing a single model
and another for computing multiple models up to a maximum number
provided or until a desired inlier probability is achieved.

Change-Id: I3f9788ec2dc0635cbc65f5c66c6ea8853cfcf2dd

10 years agoCleaned up the COMPOUND_MODES code in sub8x8
Zoe Liu [Mon, 9 Feb 2015 19:58:54 +0000 (11:58 -0800)]
Cleaned up the COMPOUND_MODES code in sub8x8

Change-Id: I571ff39799c3257b5c6db82660364ce412c7f6e2

10 years agoEnable tx_skip for inter blocks
hui su [Fri, 30 Jan 2015 19:28:12 +0000 (11:28 -0800)]
Enable tx_skip for inter blocks

Enable tx_skip for inter blocks whose q-index is smaller than 64.

tx_skip experiment alone:
derflr: +0.233% (was +0.038%)

all experiments:
derflr: +5.98% (was +5.94%)

Change-Id: I35245a476ff7039fec8468a92a6aa63feaf74831

10 years agoFix a bug in filterintra experiment
hui su [Thu, 29 Jan 2015 23:51:34 +0000 (15:51 -0800)]
Fix a bug in filterintra experiment

All expts together: +5.946% (up about 0.3%)

Change-Id: If686e5e97209b4cc4a8115f920e1f4f35ded5a1d

10 years agoFix a bug in COPY_MODE + EXT_TX experiment
Yue Chen [Tue, 27 Jan 2015 19:51:02 +0000 (11:51 -0800)]
Fix a bug in COPY_MODE + EXT_TX experiment

Remove the duplicated step counting the overhead for ext_tx, because
it has been counted in super_block_yrd().

Change-Id: I50bc01d8166572bc0847305565cf33c14ee516e6

10 years agoRemoval of legacy zbin_extra / zbin_oq_value.
Jingning Han [Mon, 22 Dec 2014 17:35:29 +0000 (09:35 -0800)]
Removal of legacy zbin_extra / zbin_oq_value.

Change-Id: I07f77a63aa98087626e45c4e87aa5dcafc0b0b07
(cherry picked from commit d0f237702745c4bfc0297d24f9465f960fb988ed)

10 years agoAdds inter-intra combination with wedge partitions
Deb Mukherjee [Wed, 21 Jan 2015 00:32:13 +0000 (16:32 -0800)]
Adds inter-intra combination with wedge partitions

Also fixes some build issues with certain experimental combinations.

Results on derflr with all experiments on: +5.516%

Change-Id: I9b492f3d3556bd1f057005571dc9bee63167dd95

10 years agoSome build fixes
Deb Mukherjee [Wed, 21 Jan 2015 21:37:24 +0000 (13:37 -0800)]
Some build fixes

Related zbin boost removal.

Change-Id: I0f34d31038c29d5cb78bc5d110159df01e41e328

10 years agoRemove mode dependent zbin boost.
Paul Wilkins [Wed, 17 Dec 2014 15:35:23 +0000 (15:35 +0000)]
Remove mode dependent zbin boost.

Initial patch to remove get_zbin_mode_boost() and
cpi->zbin_mode_boost.

For now sets a dummy value of 0 for zbin extra pending
a further clean up patch.

Change-Id: I64a1e1eca2d39baa8ffb0871b515a0be05c9a6af
(cherry picked from commit 60e9b731cf8945403dbcf149a0f6dc745e5cabe1)

10 years agoCreated COMPOUND_MODES experiment.
Spencer Egart [Fri, 14 Nov 2014 19:55:58 +0000 (11:55 -0800)]
Created COMPOUND_MODES experiment.

COMPOUND_MODES experiment encodes separate MV modes for each frame in a compound
reference prediction.  Added modes NEAREST_NEARESTMV, ZERO_ZEROMV,
NEW_NEWMV, NEAREST_NEARMV, NEAR_NEARESTMV, NEW_NEARESTMV, NEAR_NEWMV,
NEW_NEARMV, and NEAREST_NEWMV.

Also enhances the wedge-partition expt to work better with compound
modes.

Results:
derflr +0.227
All experiments on: derflr +5.218

Change-Id: I719e8a34826bf1f1fe3988dac5733a845a89ef2b

10 years agoAdds wedge-partitions for compound prediction
Deb Mukherjee [Tue, 13 Jan 2015 02:09:10 +0000 (18:09 -0800)]
Adds wedge-partitions for compound prediction

Results with this experiment only: +0.642% on derflr.
With other experiments: +4.733%

Change-Id: Ieb2022f8e49ac38a7e7129e261a6bf69ae9666b9

10 years agoMerge "dpcm intra prediction for tx_skip" into nextgen
punksu [Thu, 15 Jan 2015 19:53:06 +0000 (11:53 -0800)]
Merge "dpcm intra prediction for tx_skip" into nextgen

10 years agodpcm intra prediction for tx_skip
punksu [Wed, 17 Dec 2014 05:51:27 +0000 (13:51 +0800)]
dpcm intra prediction for tx_skip

Implements vertical, horizontal, and tm dpcm intra prediction for
blocks in tx_skip mode. Typical coding gain on screen content video
is 2%~5%.

Change-Id: Idd5bd84ac59daa586ec0cd724680cef695981651

10 years agoFixed a bug in the experiment EXT_TX.
Zoe Liu [Wed, 14 Jan 2015 22:27:51 +0000 (14:27 -0800)]
Fixed a bug in the experiment EXT_TX.

Change-Id: I1adf0e916f9414e6dfe1d07cefc0693bc63b7e97

10 years agoMerge "Turn on tx_skip for inter modes" into nextgen
hui su [Wed, 14 Jan 2015 16:57:41 +0000 (08:57 -0800)]
Merge "Turn on tx_skip for inter modes" into nextgen

10 years agoMerge "Some fixes in interintra expt" into nextgen
Deb Mukherjee [Tue, 13 Jan 2015 20:34:24 +0000 (12:34 -0800)]
Merge "Some fixes in interintra expt" into nextgen

10 years agoTurn on tx_skip for inter modes
hui su [Tue, 13 Jan 2015 19:24:07 +0000 (11:24 -0800)]
Turn on tx_skip for inter modes

Fixed the mismatch issue in lossless case

Change-Id: Ia2fd98865b4687e664fdc75f62b402e8289a1968

10 years agoSome fixes in interintra expt
Deb Mukherjee [Tue, 13 Jan 2015 08:52:25 +0000 (00:52 -0800)]
Some fixes in interintra expt

Removes some redundant information when supertx and interintra
both are used.

Change-Id: I40b0fddbc1ba54607c6e8068bde128c21c14d997

10 years agoCleaned up the code a little for the CONFIG_EXT_TX experiment on the
Zoe Liu [Mon, 12 Jan 2015 20:11:37 +0000 (12:11 -0800)]
Cleaned up the code a little for the CONFIG_EXT_TX experiment on the
16x16 and 8x8 transform sizes, both for the regular case and the high
bit depth (CONFIG_VP9_HIGHBITDEPTH) case.

Change-Id: I34a9d3c73c3687f967105194ce4def48c3ec435c

10 years agoMerge "Adds an inter-intra combination mode" into nextgen
Deb Mukherjee [Mon, 12 Jan 2015 17:22:21 +0000 (09:22 -0800)]
Merge "Adds an inter-intra combination mode" into nextgen

10 years agoAdds an inter-intra combination mode
Deb Mukherjee [Thu, 8 Jan 2015 08:24:37 +0000 (00:24 -0800)]
Adds an inter-intra combination mode

A smooth weighting scheme is used to put more weight
on the intra predictor samples near the left/top boundaries
and decaying it to favor the inter predictor samples more as
we move away from these boundaries in the direction of
prediction.

Results:
derflr: +0.609% with only this experiment
derflr: +3.901% with all experiments

Change-Id: Ic9dbe599ad6162fb05900059cbd6fc88b203a09c

10 years agoMerge "Fixed a bug in the CONFIG_EXT_TX experiment for the forward 16x16 transform...
Zoe Liu [Fri, 9 Jan 2015 21:32:53 +0000 (13:32 -0800)]
Merge "Fixed a bug in the CONFIG_EXT_TX experiment for the forward 16x16 transform size when CONFIG_VP9_HIGHBITDEPTH is enabled." into nextgen

10 years agoMerge "Segment id fix in tx-skip/supertx experiment" into nextgen
Deb Mukherjee [Fri, 9 Jan 2015 18:37:59 +0000 (10:37 -0800)]
Merge "Segment id fix in tx-skip/supertx experiment" into nextgen

10 years agoMerge "Fix conflict b/w tx_skip and copy_mode in lossless mode" into nextgen
punksu [Fri, 9 Jan 2015 01:06:41 +0000 (17:06 -0800)]
Merge "Fix conflict b/w tx_skip and copy_mode in lossless mode" into nextgen

10 years agoFixed a bug in the CONFIG_EXT_TX experiment for the forward 16x16
Zoe Liu [Thu, 8 Jan 2015 17:03:53 +0000 (09:03 -0800)]
Fixed a bug in the CONFIG_EXT_TX experiment for the forward 16x16
transform size when CONFIG_VP9_HIGHBITDEPTH is enabled.

Change-Id: I475f64eac2c31094a47bc0d557968940cad01c86

10 years agoSegment id fix in tx-skip/supertx experiment
Deb Mukherjee [Mon, 29 Dec 2014 09:17:32 +0000 (01:17 -0800)]
Segment id fix in tx-skip/supertx experiment

Change-Id: Ice9e833ad7f60e943acc011260dc3121ad3b136f

10 years agoTurn off tx-skip for intermodes temporarily
Deb Mukherjee [Wed, 7 Jan 2015 02:12:56 +0000 (18:12 -0800)]
Turn off tx-skip for intermodes temporarily

Will be re-enabled when a mismatch issue is resolved.

Change-Id: I303d80effa69eeb0ebf1921bbb4eaeeb34497e4b

10 years agoFix conflict b/w tx_skip and copy_mode in lossless mode
punksu [Fri, 2 Jan 2015 12:36:06 +0000 (20:36 +0800)]
Fix conflict b/w tx_skip and copy_mode in lossless mode

Change-Id: Idb12344adda99dddde8d2cd010ffffe6425aca62

10 years agoFix mismatch in SUPERTX experiment
Yue Chen [Sun, 28 Dec 2014 04:26:26 +0000 (20:26 -0800)]
Fix mismatch in SUPERTX experiment

Disable SUPERTX mode when lossless mode is enabled because the largest
lossless transform size is 4X4.

Change-Id: I4167959a282728d62354119ced99ca29febabfd1

10 years agoMerge "Allow large tx_size in lossless coding with transform skipping" into nextgen
punksu [Sun, 28 Dec 2014 04:52:36 +0000 (20:52 -0800)]
Merge "Allow large tx_size in lossless coding with transform skipping" into nextgen

10 years agoFix frame-parallel modes
Deb Mukherjee [Sat, 27 Dec 2014 09:55:27 +0000 (01:55 -0800)]
Fix frame-parallel modes

This fix is already incorporated in master.

Change-Id: I7b0c048ebef4d92f041cc8727bc276843f17d50d

10 years agoAdds a copy mode experiment
Deb Mukherjee [Tue, 16 Dec 2014 00:39:52 +0000 (16:39 -0800)]
Adds a copy mode experiment

Experiment to copy motion and mode from block neighbors.

Results:
--------
--enable-experimental --enable-copy-mode:
derflr: +0.727%

With other expts:
--enable-experimental --enable-copy-mode --enable-supertx
--enable-ext-tx --enable-filterintra --enable-tx-skip --enable-tx64x64
derflr: +3.43%

Change-Id: Iae74b9a855a1a690bf76131b42d247bbc54dec17

10 years agoAllow large tx_size in lossless coding with transform skipping
punksu [Sat, 20 Dec 2014 06:49:44 +0000 (14:49 +0800)]
Allow large tx_size in lossless coding with transform skipping

In lossless coding, tx_size can be larger than 4x4 when transform
skipping is activated. Compared to regular vp9 lossless coding,
performance improvement for derf is about 5%; gain is larger
for screen content videos.

Change-Id: Ib20ece7e117f29fb91543612757302a2400110b4

10 years agoBug fix in rdopt
Debargha Mukherjee [Thu, 18 Dec 2014 10:43:27 +0000 (02:43 -0800)]
Bug fix in rdopt

Change-Id: Ieab80902755456e97583636f13d1417269b332b5

10 years agoAdds forward prob updates for supertx expt
Deb Mukherjee [Fri, 12 Dec 2014 22:07:02 +0000 (14:07 -0800)]
Adds forward prob updates for supertx expt

Also refactors the supertx prob models, and includes other
cleanups.

Change-Id: I74de6c01d872ae09bf6d43a31f53d43283b6b226

10 years agotx_skip mode for lossy coding
hui su [Sun, 23 Nov 2014 19:35:54 +0000 (11:35 -0800)]
tx_skip mode for lossy coding

This patch improves the non-transform coding mode. At this
point, the coding gain on screen content videos is about
12% for lossless, an 15% for lossy case.

1. Encode tx_skip flags with context. Y tx_skip flag context is
whether the prediction mode is inter or intra. UV flag context
is Y flag.

2. Transform skipping is less helpful when the Q-index is high.
So it is enabled only when the Q-index is smaller than a
threshold. Currently the threshold is set as 255 for intra blocks,
and 0 for inter blocks.

3. The shift of the prediction residue, when copying them to the
coeff buffer, is set as 3 when the Q-index is larger than a
threshold (currently set as 0), and 2 otherwise.

Change-Id: I372973c7518cf385f6e542b22d0f803016e693b0

10 years agoAdds supertx experiment adopted from playground
Deb Mukherjee [Wed, 3 Dec 2014 00:57:49 +0000 (16:57 -0800)]
Adds supertx experiment adopted from playground

Reimplements the supertx experiment from the playground branch.
Makes it work with other experiments.

Results:
With --enable-superttx
derflr: +0.958

With --enable-supertx --enable-ext-tx
derflr: +2.25%

With --enable-supertx --enable-ext-tx --enable-filterintra
derflr: +2.73%

Change-Id: I5012418ef2556bf2758146d90c4e2fb8a14610c7

10 years agoExtends ext_tx expt to include all hybrid variants
Deb Mukherjee [Sat, 15 Nov 2014 01:11:45 +0000 (17:11 -0800)]
Extends ext_tx expt to include all hybrid variants

Extends the ext-tx experiment to include all 9 DST/DCT
variants.

Results with ext_tx experiment:
derflr: +1.338 derflr (improved from 1.12)

Change-Id: I24b5564f96bce6ccaa13d88ca6cb9d0c57000597

10 years agoExtending ext_tx expt to include dst variants
Deb Mukherjee [Sat, 15 Nov 2014 01:11:45 +0000 (17:11 -0800)]
Extending ext_tx expt to include dst variants

Extends the ext-tx experiment to include regular and flipped
DST variants. A total of 9 transforms are thus possible for
each inter block with transform size <= 16x16.

In this patch currently only the four ADST_ADST variants
(flipped or non-flipped in both dimensions) are enabled
for inter blocks.

The gain with the ext-tx experiment grows to +1.12 on derflr.
Further experiments are underway.

Change-Id: Ia2ed19a334face6135b064748f727fdc9db278ec

10 years agoNon transform coding experiment
hui su [Wed, 12 Nov 2014 22:59:30 +0000 (14:59 -0800)]
Non transform coding experiment

Non-transform option is enabled in both intra and inter modes.
In lossless case, the average coding gain on screen content
clips is 11.3% in my test.

Change-Id: I2e8de515fb39e74c61bb86ce0f682d5f79e15188

10 years agoMisc cleanups on ext_tx expt.
Deb Mukherjee [Sat, 15 Nov 2014 01:11:45 +0000 (17:11 -0800)]
Misc cleanups on ext_tx expt.

Change-Id: I599d9fb00a2accdf24def65df52bef56d014a0b6

10 years agoMerge "Adds missing EXT_TX checks" into nextgen
Deb Mukherjee [Fri, 14 Nov 2014 04:13:40 +0000 (20:13 -0800)]
Merge "Adds missing EXT_TX checks" into nextgen

10 years agoAdds missing EXT_TX checks
Deb Mukherjee [Thu, 13 Nov 2014 12:03:04 +0000 (04:03 -0800)]
Adds missing EXT_TX checks

Change-Id: Ia0ca39c9041f17da0b7f522e55868498f31de848

10 years agoRefactoring in nonrd_ methods in vp9_encodeframe
Spencer Egart [Thu, 13 Nov 2014 20:56:04 +0000 (12:56 -0800)]
Refactoring in nonrd_ methods in vp9_encodeframe

Refactored some of the more repetitive code in the nonrd methods in
vp9_encodeframe.c.

Change-Id: Ib71dcd14f74fb6e5fd123b3ffea8f253aaa04b1a

10 years agoFix lossless mismatch in EXT_TX
hui su [Thu, 13 Nov 2014 00:26:16 +0000 (16:26 -0800)]
Fix lossless mismatch in EXT_TX

In lossless mode, transform should not be altered.

Change-Id: I216d1700963b4d1c35e059cd7ff7b0cefaf46133

10 years agoMigrate EXT_TX from playground to nextgen.
Spencer Egart [Fri, 7 Nov 2014 22:24:31 +0000 (14:24 -0800)]
Migrate EXT_TX from playground to nextgen.

Change-Id: I1cb0584104323fb3781e66bb65d44ebbe853c9c8

10 years agoMigrated FILTERINTRA from playground to nextgen
Spencer Egart [Fri, 7 Nov 2014 18:52:16 +0000 (10:52 -0800)]
Migrated FILTERINTRA from playground to nextgen

derf +0.385
derflr +0.411
with --enable-tx64x64, derflr +0.433

Added fix for integration with TX64X64

Change-Id: Ie24825de06021d007ba215ac7f6de40638c57e12

10 years agoTx64x64 bug fixes
Deb Mukherjee [Thu, 6 Nov 2014 00:16:49 +0000 (16:16 -0800)]
Tx64x64 bug fixes

Change-Id: Iac595a3ae8f1466d8485c3627219b4b623efc8ad

10 years agoFixes in 64x64 transform
Deb Mukherjee [Mon, 3 Nov 2014 18:07:22 +0000 (10:07 -0800)]
Fixes in 64x64 transform

Extends quantizer range and some other fixes.

Change-Id: Ia9adf7848e772783365d6501efd07585bff80c15
stdhd: +0.166%, turns positive a little
derf: -0.036% (very few blocks use the 64x64 mode)

10 years agoMerge "Adding a 64x64 transform mode" into nextgen
Deb Mukherjee [Thu, 30 Oct 2014 07:51:35 +0000 (00:51 -0700)]
Merge "Adding a 64x64 transform mode" into nextgen

10 years agoAdding a 64x64 transform mode
Deb Mukherjee [Thu, 23 Oct 2014 23:31:21 +0000 (16:31 -0700)]
Adding a 64x64 transform mode

Preliminary 64x64 transform implementation.
Includes all code changes.
All mismatches resolved.

Coding results for derf and stdhd are within noise. stdhd is slightly
higher, derf is slightly lower.

To be further refined.

Change-Id: I091c183f62b156d23ed6f648202eb96c82e69b4b

10 years agoMerge "Refactor rate distortion cost structure in non-RD coding mode"
Jingning Han [Wed, 22 Oct 2014 15:41:36 +0000 (08:41 -0700)]
Merge "Refactor rate distortion cost structure in non-RD coding mode"

10 years agoMerge "Change speed features for good quality(cpu-used=5)"
Yaowu Xu [Wed, 22 Oct 2014 15:40:15 +0000 (08:40 -0700)]
Merge "Change speed features for good quality(cpu-used=5)"

10 years agoRefactor rate distortion cost structure in non-RD coding mode
Jingning Han [Tue, 21 Oct 2014 23:31:37 +0000 (16:31 -0700)]
Refactor rate distortion cost structure in non-RD coding mode

This commit refactors the rate distortion structure used in the
non-RD coding mode and saves a few RDCOST calculations.

Change-Id: I62c3416c300d2c5372f21b96d93a6b633a34ab3a

10 years agoChange speed features for good quality(cpu-used=5)
Yaowu Xu [Mon, 20 Oct 2014 21:41:20 +0000 (14:41 -0700)]
Change speed features for good quality(cpu-used=5)

The existing speed features produce horrible encoding results, almost
30% worse than cpu-used=4, this commit adjust the speed features to
produce relatively resonable results to be within 3%-5% of cpu-used=4.

Change-Id: I0ca6ebafb33024d4a0cbcf04c78a4a00b8dd1ecf

10 years agoRemove unused copy_partitioning
Jingning Han [Tue, 21 Oct 2014 16:47:58 +0000 (09:47 -0700)]
Remove unused copy_partitioning

Change-Id: I75a2a3772ed17e73180eb4f263cc838cae4927b0

10 years agoMerge "Adding test vectors for profile 2 and 3"
Deb Mukherjee [Tue, 21 Oct 2014 16:44:46 +0000 (09:44 -0700)]
Merge "Adding test vectors for profile 2 and 3"

10 years agoMerge "Remove deprecated constrain_copy_partitioning function"
Jingning Han [Tue, 21 Oct 2014 16:44:11 +0000 (09:44 -0700)]
Merge "Remove deprecated constrain_copy_partitioning function"

10 years agoMerge "Remove unused sb_has_motion function in vp9_encodeframe.c"
Jingning Han [Tue, 21 Oct 2014 16:43:55 +0000 (09:43 -0700)]
Merge "Remove unused sb_has_motion function in vp9_encodeframe.c"

10 years agoMerge "Remove deprecated use_lastframe_partitioning feature"
Jingning Han [Tue, 21 Oct 2014 16:43:45 +0000 (09:43 -0700)]
Merge "Remove deprecated use_lastframe_partitioning feature"

10 years agoMerge "Hybrid partition search for rtc coding mode"
Jingning Han [Tue, 21 Oct 2014 16:43:35 +0000 (09:43 -0700)]
Merge "Hybrid partition search for rtc coding mode"

10 years agoMerge "Extend --auto-alt-ref so it can enable multi-alt ref."
Paul Wilkins [Tue, 21 Oct 2014 14:02:24 +0000 (07:02 -0700)]
Merge "Extend --auto-alt-ref so it can enable multi-alt ref."

10 years agoMerge "Resolve compiler warning."
Paul Wilkins [Tue, 21 Oct 2014 14:02:13 +0000 (07:02 -0700)]
Merge "Resolve compiler warning."

10 years agoAdding test vectors for profile 2 and 3
Deb Mukherjee [Tue, 21 Oct 2014 06:51:58 +0000 (23:51 -0700)]
Adding test vectors for profile 2 and 3

Also adds mising test vectors for profile 1.

Change-Id: I5269af8b9e6b708ce50a0d9c69b6cae4bb2870dc

10 years agoRemove deprecated constrain_copy_partitioning function
Jingning Han [Mon, 20 Oct 2014 22:34:19 +0000 (15:34 -0700)]
Remove deprecated constrain_copy_partitioning function

Its functionality has been replaced with choose_partitioning and
threshold based control on split mode check.

Change-Id: Ic9bb321df06b524f5c38ea5874dc6f6a8f93c5e3

10 years agoRemove unused sb_has_motion function in vp9_encodeframe.c
Jingning Han [Mon, 20 Oct 2014 22:29:58 +0000 (15:29 -0700)]
Remove unused sb_has_motion function in vp9_encodeframe.c

Change-Id: I035fb6aa5c10741b065e27befb097d8087e3c62f

10 years agoRemove deprecated use_lastframe_partitioning feature
Jingning Han [Mon, 20 Oct 2014 22:00:24 +0000 (15:00 -0700)]
Remove deprecated use_lastframe_partitioning feature

This speed feature has been deprecated in both yt and rtc coding
modes. This commit removes the related operations.

Change-Id: I079c79c6adafe45581af2ebf8b98faebcface1ce

10 years agoHybrid partition search for rtc coding mode
Jingning Han [Fri, 17 Oct 2014 15:58:28 +0000 (08:58 -0700)]
Hybrid partition search for rtc coding mode

This commit re-designs the recursive partition search scheme in
rtc speed -5. It first checks if the current block is under cyclic
refresh mode. If so, apply recursive partition search. Otherwise,
perform sub-sampled pixel based partition selection. When the
pre-selection finds the partition size should be 32x32 or above,
use the partition size directly. Otherwise, apply partition search
at nearby levels around the preset partition size.

It is enabled in speed -5. The compression performance of rtc
speed -5 is improved by 9.4%. Speed wise, the run-time goes slower
from 1% to 10%.

nik_720p, 1000 kbps
33220 b/f, 38.977 dB, 10109 ms -> 33200 b/f, 39.119 dB, 10210 ms

vidyo1_720p, 1000 kbps
16536 b/f, 40.495 dB, 10119 ms -> 16536 b/f, 40.827 dB, 11287 ms

Change-Id: I65adba352e3adc03bae50854ddaea1b421653c6c

10 years agoMerge "SAD32xh and SAD64xh for AVX2"
Yunqing Wang [Mon, 20 Oct 2014 19:37:55 +0000 (12:37 -0700)]
Merge "SAD32xh and SAD64xh for AVX2"

10 years agoMerge "Remove the dependency in token storing locations"
Yunqing Wang [Mon, 20 Oct 2014 15:26:46 +0000 (08:26 -0700)]
Merge "Remove the dependency in token storing locations"

10 years agoExtend --auto-alt-ref so it can enable multi-alt ref.
Paul Wilkins [Mon, 20 Oct 2014 11:05:17 +0000 (12:05 +0100)]
Extend --auto-alt-ref so it can enable multi-alt ref.

Extend --auto-alt-ref from parameter so we can use it to
turn multi-arf on and off from the command line.

For now the range is 0-off, 1-on, 2-multi-arf on.

Rename play_alternate to enable_auto_arf

Change-Id: Id7b64407cfbe76ba0090a83b588a03e22a240386

10 years agoResolve compiler warning.
Paul Wilkins [Mon, 20 Oct 2014 11:08:33 +0000 (12:08 +0100)]
Resolve compiler warning.

conversion from 'const int64_t' to 'int', possible loss of data.

Change-Id: I471a73bba5d448d9be0ef9cbf1590fa73aa74be1

10 years agoMerge "Alter adjustment of two pass GF/ARF boost with Q."
Paul Wilkins [Mon, 20 Oct 2014 10:12:06 +0000 (03:12 -0700)]
Merge "Alter adjustment of two pass GF/ARF boost with Q."

10 years agoSAD32xh and SAD64xh for AVX2
levytamar82 [Thu, 2 Oct 2014 06:47:31 +0000 (23:47 -0700)]
SAD32xh and SAD64xh for AVX2

All sad function that process above 32 consecutive elements are optimized
for AVX2:
vp9_sad64x64
vp9_sad64x32
vp9_sad32x64
vp9_sad32x32
vp9_sad32x16
vp9_sad64x64_avg
vp9_sad64x32_avg
vp9_sad32x64_avg
vp9_sad32x32_avg
vp9_sad32x16_avg
The functions that appeared as a hotspot is vp9_sad32x32 and vp9_sad64x64
vp9_sad32x32 was optimized by 68% and vp9_sad64x64 was optimized by 90%
both of them gave and overall ~2.3% user level gain

Change-Id: Iccf86b375a2b54c5fbbe685902ead0c9a561b9fd

10 years agoMerge "Add highbitdepth function for vp9_avg_8x8"
Debargha Mukherjee [Sat, 18 Oct 2014 21:37:10 +0000 (14:37 -0700)]
Merge "Add highbitdepth function for vp9_avg_8x8"

10 years agoMerge "Remove unused VAR_BASED_FIXED_PARTITION flag"
Yaowu Xu [Sat, 18 Oct 2014 20:31:47 +0000 (13:31 -0700)]
Merge "Remove unused VAR_BASED_FIXED_PARTITION flag"

10 years agoMerge "Use rate/distortion thresholds to control non-RD partition search"
Yaowu Xu [Sat, 18 Oct 2014 20:31:41 +0000 (13:31 -0700)]
Merge "Use rate/distortion thresholds to control non-RD partition search"

10 years agoAdd highbitdepth function for vp9_avg_8x8
Peter de Rivaz [Thu, 16 Oct 2014 13:36:07 +0000 (14:36 +0100)]
Add highbitdepth function for vp9_avg_8x8

Cherry-picked from https://gerrit.chromium.org/gerrit/#/c/71914/
(a92f987a6b7819ae5c62a429e126e1c26bdb1b71) on highbitdepth branch.

Change-Id: I6903e4e4cb57d90590725c8a1c64c23da7ae65e8

10 years agoUpdates to aggressive denoising mode.
Marco [Fri, 17 Oct 2014 22:55:30 +0000 (15:55 -0700)]
Updates to aggressive denoising mode.

Fix to the noise level and bitrate threshold settings per resolution.

Change-Id: I25524b7f78afa1aeb76edef7be13c17bc8976508

10 years agoRemove the dependency in token storing locations
Yunqing Wang [Thu, 16 Oct 2014 19:29:48 +0000 (12:29 -0700)]
Remove the dependency in token storing locations

Currently, the tokens for a tile are stored immediately after its
preceding tile, which causes a dependency. This is unnecessary
since we always allocate enough memory for tokens. Removing
the dependency allows token writing done in parallel. This patch
doesn't change encoding result.

Change-Id: I7365a6e5e2c2833eb14377c37e1503c9d0f26543

10 years agoMerge "Correct the logic of ready_for_new_data."
hkuang [Fri, 17 Oct 2014 21:13:44 +0000 (14:13 -0700)]
Merge "Correct the logic of ready_for_new_data."

10 years agoMerge "vp9_denoiser_sse2.c: solve windows build error."
JackyChen [Fri, 17 Oct 2014 18:16:22 +0000 (11:16 -0700)]
Merge "vp9_denoiser_sse2.c: solve windows build error."

10 years agoMerge "Add init and reset functions for RD_COST struct"
Jingning Han [Fri, 17 Oct 2014 18:15:19 +0000 (11:15 -0700)]
Merge "Add init and reset functions for RD_COST struct"

10 years agoMerge "Reset rate cost value in rd mode search"
Jingning Han [Fri, 17 Oct 2014 18:15:03 +0000 (11:15 -0700)]
Merge "Reset rate cost value in rd mode search"

10 years agoCorrect the logic of ready_for_new_data.
hkuang [Fri, 17 Oct 2014 17:09:56 +0000 (10:09 -0700)]
Correct the logic of ready_for_new_data.

This should be set right after decoder really start to decode frame
instead setting at the end.

Even decoder does not have a displayable frame to show and return NULL
to application, this should be set too.

Change-Id: If0313a834bc64e3b0f05a84f4459d444d9eab0d8

10 years agoReset rate cost value in rd mode search
Jingning Han [Fri, 17 Oct 2014 16:31:42 +0000 (09:31 -0700)]
Reset rate cost value in rd mode search

When early termination is triggered, properly reset the rate cost
to invalid value to avoid potential ioc issue.

Change-Id: I3444390be2e49a34bb02cf8a74c33d5dbd96d88d

10 years agovp9_denoiser_sse2.c: solve windows build error.
JackyChen [Fri, 17 Oct 2014 16:28:22 +0000 (09:28 -0700)]
vp9_denoiser_sse2.c: solve windows build error.

Change-Id: Ib5df91c8580d5dbeb0b3554edc9c2ca906ba4c4d

10 years agoRemove unused VAR_BASED_FIXED_PARTITION flag
Jingning Han [Wed, 15 Oct 2014 22:45:27 +0000 (15:45 -0700)]
Remove unused VAR_BASED_FIXED_PARTITION flag

Change-Id: I4ce19b7cb1c45fed86e81ee785e787630020fb4f

10 years agoAlter adjustment of two pass GF/ARF boost with Q.
Paul Wilkins [Thu, 16 Oct 2014 15:24:25 +0000 (16:24 +0100)]
Alter adjustment of two pass GF/ARF boost with Q.

Delete gfboost_qadjust() and move Q based adjustment
into calc_frame_boost(). Also remove clamping. Making
the adjustment here means that it influences not just the
boost level but also the selection of the GF/ARF interval.

This change gives a small average gain in PSNR but
larger gains in SSIM, especially for harder std-hd set (1.5%)

Change-Id: I3aa81b8feccaeff93d915e19fb9cf5cd64c86327

10 years agoMerge "vp9_denoiser_sse2.c: eliminate gcc warnings"
James Zern [Fri, 17 Oct 2014 10:26:06 +0000 (03:26 -0700)]
Merge "vp9_denoiser_sse2.c: eliminate gcc warnings"

10 years agovp9_denoiser_sse2.c: eliminate gcc warnings
JackyChen [Mon, 13 Oct 2014 06:29:10 +0000 (23:29 -0700)]
vp9_denoiser_sse2.c: eliminate gcc warnings

Change-Id: I5f63f48e11e31ea9951223c5b18f42a2471e4560

10 years agoMerge "Adds a set of end-to-end encode tests"
Deb Mukherjee [Thu, 16 Oct 2014 21:27:26 +0000 (14:27 -0700)]
Merge "Adds a set of end-to-end encode tests"

10 years agoMerge "Fix an ioc issue in super_block_uvrd"
Jingning Han [Thu, 16 Oct 2014 19:35:11 +0000 (12:35 -0700)]
Merge "Fix an ioc issue in super_block_uvrd"

10 years agoAdds a set of end-to-end encode tests
Deb Mukherjee [Wed, 15 Oct 2014 23:40:12 +0000 (16:40 -0700)]
Adds a set of end-to-end encode tests

Covers all profiles and input formats. The tests check if the
encode succeeds and if the psnr is sane.

Change-Id: I195a5330debf92562846121819b6eaf961e27c01

10 years agoFix an ioc issue in super_block_uvrd
Jingning Han [Thu, 16 Oct 2014 16:19:42 +0000 (09:19 -0700)]
Fix an ioc issue in super_block_uvrd

This commit fixes an ioc issue that will happen when the cumulative
variables are not in effective use. The fix discards these
redundant additions.

Change-Id: Idbac5bfb989c0cedc5f8a323effce938519b2457

10 years agoMerge "Change initialization of static_scene_max_gf_interval."
Paul Wilkins [Thu, 16 Oct 2014 17:46:20 +0000 (10:46 -0700)]
Merge "Change initialization of static_scene_max_gf_interval."

10 years agoMerge "[spatial svc]Another workaround to avoid using prev_mi"
Paul Wilkins [Thu, 16 Oct 2014 17:46:08 +0000 (10:46 -0700)]
Merge "[spatial svc]Another workaround to avoid using prev_mi"

10 years agoMerge "Revert "Move input frame scaling into the recode loop""
Paul Wilkins [Thu, 16 Oct 2014 17:44:58 +0000 (10:44 -0700)]
Merge "Revert "Move input frame scaling into the recode loop""

10 years agoMerge "Revert "[spatial svc]Another workaround to avoid using prev_mi""
Paul Wilkins [Thu, 16 Oct 2014 17:44:47 +0000 (10:44 -0700)]
Merge "Revert "[spatial svc]Another workaround to avoid using prev_mi""