]> granicus.if.org Git - libvpx/log
libvpx
8 years agoGeneralize the dynamic reference motion vector coding mode
Jingning Han [Wed, 20 Jan 2016 00:36:25 +0000 (16:36 -0800)]
Generalize the dynamic reference motion vector coding mode

This commit generalizes dynamic reference motion vector coding mode
to support multiple candidate modes in the rate-distortion
optimization scheme and to support the selection in the bit-stream
syntax. The maximum number of modes allowed is currently limited to
4. The syntax elements for the dynamic reference motion vector
modes are using binary codes. The scheme supports single reference
frame.

It improves the compression performance
derf   0.135%
hevcmr 0.098%

Change-Id: Id053d6ce76e8365e52727bd0d12d28ce3de2e0e8

8 years agoMerge "Account for zero-forcing operation in selective ref mv mode" into nextgenv2
Jingning Han [Wed, 3 Feb 2016 19:07:28 +0000 (19:07 +0000)]
Merge "Account for zero-forcing operation in selective ref mv mode" into nextgenv2

8 years agoAccount for zero-forcing operation in selective ref mv mode
Jingning Han [Fri, 15 Jan 2016 19:33:40 +0000 (11:33 -0800)]
Account for zero-forcing operation in selective ref mv mode

It makes the encoder accounts for the block zero-forcing operation
when optimizing the mode decisions.

Change-Id: I2c8e243756080b446b8a53a9679f75c4c47148cf

8 years agoMerge "Supertx fix for 422 colour subsampling" into nextgenv2
Debargha Mukherjee [Wed, 3 Feb 2016 17:19:09 +0000 (17:19 +0000)]
Merge "Supertx fix for 422 colour subsampling" into nextgenv2

8 years agoSupertx fix for 422 colour subsampling
Julia Robson [Mon, 1 Feb 2016 15:44:50 +0000 (15:44 +0000)]
Supertx fix for 422 colour subsampling

Fixes assertion for football_422_4sif.y4m when supertx, var_tx and
ext_tx are all enabled. Problem was after subsampling, the u and v
blocks being encoded were no longer square.

Change-Id: Ie626f30a2e64538d33343a26d5124a79a6f2b985

8 years agoEnable adaptive motion vector referencing mode
Jingning Han [Fri, 15 Jan 2016 17:05:51 +0000 (09:05 -0800)]
Enable adaptive motion vector referencing mode

This commit allows an adaptive motion vector referencing mode
approach. It checks the available reference motion vector candidate
list and decides the amount of motion vector referencing modes. The
current implementation assumes simple binary coding for the syntax.

The compression performance is improved by
derf   0.11%
hevcmr 0.38%
stdhd  0.09%
hevchr 0.23%

The coding gains due to the new reference motion vector system are
derf   1.0%
hevcmr 1.7%
stdhd  1.4%
hevchr 1.3%

Change-Id: Idf932fc373546fe59c8741f1b933ff656e8dbc3f

8 years agoMerge "Fixing a issue of calculating tx cost for SUPERTX+VAR_TX" into nextgenv2
Debargha Mukherjee [Tue, 2 Feb 2016 15:14:39 +0000 (15:14 +0000)]
Merge "Fixing a issue of calculating tx cost for SUPERTX+VAR_TX" into nextgenv2

8 years agoMerge branch 'master' into nextgenv2
Yaowu Xu [Tue, 2 Feb 2016 13:00:05 +0000 (05:00 -0800)]
Merge branch 'master' into nextgenv2

8 years agoMerge "Pass filter type instead of filter array" into nextgenv2
Angie Chiang [Tue, 2 Feb 2016 02:32:16 +0000 (02:32 +0000)]
Merge "Pass filter type instead of filter array" into nextgenv2

8 years agoPass filter type instead of filter array
Angie Chiang [Mon, 1 Feb 2016 20:49:15 +0000 (12:49 -0800)]
Pass filter type instead of filter array

Change-Id: I25f2149ddaa332722f7ab82e8f832a253c4b6ab3

8 years agoMerge "Refactor to separate restoration from loop filter" into nextgenv2
Debargha Mukherjee [Tue, 2 Feb 2016 00:17:14 +0000 (00:17 +0000)]
Merge "Refactor to separate restoration from loop filter" into nextgenv2

8 years agoFix automerge errors
Yaowu Xu [Mon, 1 Feb 2016 20:29:36 +0000 (12:29 -0800)]
Fix automerge errors

Change-Id: I24d415bafe617eac894427088d7b2fbe0b7e04d7

8 years agovp9: Add flag to control usage of skin detection.
Marco [Mon, 1 Feb 2016 19:52:49 +0000 (11:52 -0800)]
vp9: Add flag to control usage of skin detection.

Set off as default; on for 1 pass cbr mode, speed >=5, non-screen-content.

Change-Id: I03f2497e4028b354fd83b8a7d0e072c2a6bec878

8 years agoMerge "vp9 non-rd partition: Update condition on force_split for skin area."
Marco Paniconi [Mon, 1 Feb 2016 18:48:46 +0000 (18:48 +0000)]
Merge "vp9 non-rd partition: Update condition on force_split for skin area."

8 years agovp9 non-rd partition: Update condition on force_split for skin area.
Marco [Mon, 1 Feb 2016 17:45:35 +0000 (09:45 -0800)]
vp9 non-rd partition: Update condition on force_split for skin area.

Avoid low resolutions for now.

Change-Id: Ib3a7bb8716a033449b2afb216edd70897a280df9

8 years agovp9-denoiser bugfix: Disable postproc-denoiser under temporal denoising.
Marco [Mon, 1 Feb 2016 17:02:26 +0000 (09:02 -0800)]
vp9-denoiser bugfix: Disable postproc-denoiser under temporal denoising.

The postproc vp9_denoise() is a spatial denoise/blur function.
It was not intended to be used if temporal denoising is enabled.

Change-Id: I97d2dcb941e7cc49bbafce99d9286beb2693249d

8 years agoMerge "vp9-noise estimate: Put check to avoid possible out of bounds."
Marco Paniconi [Mon, 1 Feb 2016 15:18:16 +0000 (15:18 +0000)]
Merge "vp9-noise estimate: Put check to avoid possible out of bounds."

8 years agoMerge branch 'master' into nextgenv2
Yaowu Xu [Mon, 1 Feb 2016 13:00:05 +0000 (05:00 -0800)]
Merge branch 'master' into nextgenv2

8 years agoMerge "VP9: Refactor read_inter_block_mode_info()"
Scott LaVarnway [Mon, 1 Feb 2016 12:52:15 +0000 (12:52 +0000)]
Merge "VP9: Refactor read_inter_block_mode_info()"

8 years agovp9-noise estimate: Put check to avoid possible out of bounds.
Marco [Mon, 1 Feb 2016 06:24:55 +0000 (22:24 -0800)]
vp9-noise estimate: Put check to avoid possible out of bounds.

Put check to avoid possible out of bounds when looping
over the blocks to estimate noise level.
No change in behavior.

Change-Id: I4b7b19b7edee0ae1c35b9dc0700b1bf9b304d7f5

8 years agoMerge branch 'master' into nextgenv2
Yaowu Xu [Sun, 31 Jan 2016 13:00:05 +0000 (05:00 -0800)]
Merge branch 'master' into nextgenv2

8 years agoMerge "Enable sse2 version of inverse wht for hbd build"
Yaowu Xu [Sun, 31 Jan 2016 04:38:39 +0000 (04:38 +0000)]
Merge "Enable sse2 version of inverse wht for hbd build"

8 years agoMerge branch 'master' into nextgenv2
Yaowu Xu [Sat, 30 Jan 2016 13:00:05 +0000 (05:00 -0800)]
Merge branch 'master' into nextgenv2

8 years agoMerge changes I51d42a50,Id8aaf820,I6af91959
James Zern [Sat, 30 Jan 2016 00:27:45 +0000 (00:27 +0000)]
Merge changes I51d42a50,Id8aaf820,I6af91959

* changes:
  configure: extend armv7 hf target autodetect
  configure: remove default CROSS for arm targets
  configure: avoid default when CROSS is set to null

8 years agoMerge changes If13946e4,I61a1814d,I2ca9aa3c,I44d91eaa
James Zern [Sat, 30 Jan 2016 00:17:16 +0000 (00:17 +0000)]
Merge changes If13946e4,I61a1814d,I2ca9aa3c,I44d91eaa

* changes:
  intrapred: protect functions w/CONFIG check
  vp9_noise_estimate: protect copy_frame w/CONFIG check
  vp8_cx_iface: delete 3 unused functions
  vp8: mark intra_prediction_down_copy inline

8 years agoMerge "Refactor prob_diff_update_savings_search_model"
Hui Su [Fri, 29 Jan 2016 23:58:49 +0000 (23:58 +0000)]
Merge "Refactor prob_diff_update_savings_search_model"

8 years agoRefactor to separate restoration from loop filter
Debargha Mukherjee [Fri, 29 Jan 2016 23:30:19 +0000 (15:30 -0800)]
Refactor to separate restoration from loop filter

Change-Id: Iab517862d957f3aa2a664e9349d57bbf424febb3

8 years agoVP9: Refactor read_inter_block_mode_info()
Scott LaVarnway [Fri, 29 Jan 2016 23:30:27 +0000 (15:30 -0800)]
VP9: Refactor read_inter_block_mode_info()

Change-Id: I8e6a1a1b6eec17d0076660b559f6fc120a78c538

8 years agoEnable sse2 version of inverse wht for hbd build
Yaowu Xu [Fri, 29 Jan 2016 22:47:56 +0000 (14:47 -0800)]
Enable sse2 version of inverse wht for hbd build

Change-Id: If8f5efd701a11c8a7ad3078d10ec3cd0fe27667e

8 years agoMerge "Cosmetic changes to loop restoration" into nextgenv2
Debargha Mukherjee [Fri, 29 Jan 2016 20:57:04 +0000 (20:57 +0000)]
Merge "Cosmetic changes to loop restoration" into nextgenv2

8 years agoRefactor prob_diff_update_savings_search_model
hui su [Fri, 29 Jan 2016 20:49:19 +0000 (12:49 -0800)]
Refactor prob_diff_update_savings_search_model

Change-Id: Icfab58e880285d5af00985dc20db2174a67d1fe8

8 years agoSSSE3 idct8x8 functions for highbitdpeth build
Yaowu Xu [Fri, 29 Jan 2016 00:29:29 +0000 (16:29 -0800)]
SSSE3 idct8x8 functions for highbitdpeth build

This commit changes SSSE3 optimized idct8x8 functions to work with
highbitdepth build.

With this commit and the previous one that enabled SSSE3 idct32x32
functions, tests showed virtually no difference on decoding speed for
file fdJc1_IBKJA.248.webm for the build with -enable-vp9-highbitdpeth
option and the build without the option.

Change-Id: Ibe0634149ec70e8b921e6b30171664b8690a9c45

8 years agoMerge "Fix failure with libvpx__unit_tests-multi-target"
Marco Paniconi [Fri, 29 Jan 2016 18:55:13 +0000 (18:55 +0000)]
Merge "Fix failure with libvpx__unit_tests-multi-target"

8 years agoMerge "vp9-denoiser: Force increase_denoising = 0 for skin block."
Marco Paniconi [Fri, 29 Jan 2016 18:43:27 +0000 (18:43 +0000)]
Merge "vp9-denoiser: Force increase_denoising = 0 for skin block."

8 years agoFix failure with libvpx__unit_tests-multi-target
Marco [Fri, 29 Jan 2016 18:00:21 +0000 (10:00 -0800)]
Fix failure with libvpx__unit_tests-multi-target

Introduced in: https://chromium-review.googlesource.com/#/c/323215/
For now exclude the computation of vp_compute_skin_block for highbitdepth.

Change-Id: I18107a862c17ba869438ec3616a787bf173736c4

8 years agovp9-denoiser: Force increase_denoising = 0 for skin block.
Marco [Fri, 29 Jan 2016 16:36:03 +0000 (08:36 -0800)]
vp9-denoiser: Force increase_denoising = 0 for skin block.

Change-Id: Ic5af41db58a3daad4103175b4b4b9300675020c0

8 years agoMerge "Cleaned code in firstpass related to altref frame"
Zoe Liu [Fri, 29 Jan 2016 16:31:41 +0000 (16:31 +0000)]
Merge "Cleaned code in firstpass related to altref frame"

8 years agoFixing a issue of calculating tx cost for SUPERTX+VAR_TX
Yue Chen [Wed, 27 Jan 2016 22:37:17 +0000 (14:37 -0800)]
Fixing a issue of calculating tx cost for SUPERTX+VAR_TX

Update blk_skip in update_state_supertx() and rd_supertx_sb().
Performance (SUPERTX+VAR_TX): TBD
(Eventually will merge update_state() and update_state_supertx())

Change-Id: I34ef982b80151ba2dfba745859cb2ca7b90dc888

8 years agoEnable hbd_build to use SSSE3optimized functions
Yaowu Xu [Wed, 27 Jan 2016 23:25:42 +0000 (15:25 -0800)]
Enable hbd_build to use SSSE3optimized functions

This commit changes the SSSE3 assembly functions for idct32x32 to
support highbitdepth build.

On test clip fdJc1_IBKJA.248.webm, this cuts the speed difference
between hbd and lbd build from between 3-4% to 1-2%.

Change-Id: Ic3390e0113bc1ca5bba8ec80d1795ad31b484fca

8 years agoMerge "Add a vp9 test vector"
Yaowu Xu [Fri, 29 Jan 2016 01:28:43 +0000 (01:28 +0000)]
Merge "Add a vp9 test vector"

8 years agoMerge "vp9: encoder-breakout: Modify UV thresholds."
Marco Paniconi [Fri, 29 Jan 2016 01:19:30 +0000 (01:19 +0000)]
Merge "vp9: encoder-breakout: Modify UV thresholds."

8 years agoCleaned code in firstpass related to altref frame
Zoe Liu [Fri, 29 Jan 2016 00:36:22 +0000 (16:36 -0800)]
Cleaned code in firstpass related to altref frame

Change-Id: I6dbddf500fd4f64216774685700efea972165470

8 years agoAdd a vp9 test vector
Yaowu Xu [Thu, 28 Jan 2016 16:50:50 +0000 (08:50 -0800)]
Add a vp9 test vector

This test vector exercises various idct32x32 functions in decoder.

Change-Id: Ic9453f50ef4723bdaace9bd80f32540d061ef2a1

8 years agovp9/10: fix encoder crash on flush
James Zern [Thu, 28 Jan 2016 20:53:41 +0000 (12:53 -0800)]
vp9/10: fix encoder crash on flush

the lookahead buffer allocation is deferred to receipt of the first
frame to allow profile changes. if the encoder was flushed before
supplying any frames the encoder would crash trying to dereference the
NULL buffer. vp8 is unaffected.

fixes mozilla bug:
https://bugzilla.mozilla.org/show_bug.cgi?id=1237848

Change-Id: Icee4b64de760476eee0d33b568f0a1010335ff13

8 years agovp9: encoder-breakout: Modify UV thresholds.
Marco [Thu, 28 Jan 2016 20:10:38 +0000 (12:10 -0800)]
vp9: encoder-breakout: Modify UV thresholds.

Set UV thresholds to 0 for encoder breakout if
block is detected as skin.

Change-Id: Iaaa30b5cc8bae4cf611f8ea8eba693b730e32a3f

8 years agoVPX skin map improvement.
JackyChen [Tue, 26 Jan 2016 10:01:10 +0000 (18:01 +0800)]
VPX skin map improvement.

Use multiple clusters instead of one and decrease
the distance thresholds.

Add a define to switch between models.
Default is set to existing (1 cluster) model.

Change-Id: I802cd9bb565437ae8983ef39453939f5d5073bb1

8 years agoMerge "vp9 non-rd mode: Modification for detected skin areas."
Marco Paniconi [Thu, 28 Jan 2016 17:01:19 +0000 (17:01 +0000)]
Merge "vp9 non-rd mode: Modification for detected skin areas."

8 years agoMerge branch 'master' into nextgenv2
Yaowu Xu [Thu, 28 Jan 2016 15:32:05 +0000 (07:32 -0800)]
Merge branch 'master' into nextgenv2

8 years agoMerge "VP9: Refactor dec_build_inter_predictors_sb()"
Scott LaVarnway [Thu, 28 Jan 2016 12:31:22 +0000 (12:31 +0000)]
Merge "VP9: Refactor dec_build_inter_predictors_sb()"

8 years agovp9 non-rd mode: Modification for detected skin areas.
Marco [Fri, 22 Jan 2016 19:45:31 +0000 (11:45 -0800)]
vp9 non-rd mode: Modification for detected skin areas.

If a superblock contains alot of "skin" then force split
of 64x64 partition, and make some adjustments in mode selection.

This helps to reduce artifacts on moving face/skin areas at low bitrates.

Little/no change in metrics: avgPSNR/SSIM down by ~0.12%.
Small encoding time increase < 1%.

Change-Id: Ic57f52148c3716f391419fab0530d916e4c1d186

8 years agoCosmetic changes to loop restoration
Debargha Mukherjee [Wed, 27 Jan 2016 21:01:27 +0000 (13:01 -0800)]
Cosmetic changes to loop restoration

Also adds a normalized filtering function to be used later.

Change-Id: I30e2140e664db635602f26a73b81ce8e008dff5e

8 years agoMerge "Fix some typos."
Hui Su [Thu, 28 Jan 2016 01:04:50 +0000 (01:04 +0000)]
Merge "Fix some typos."

8 years agoFix some typos.
hui su [Mon, 25 Jan 2016 18:19:16 +0000 (10:19 -0800)]
Fix some typos.

Change-Id: I32aacd014df6c927cf2893dc096cbe6ec7604b9b

8 years agoMerge "vp9-aqmode=3: Limit on period for golden update."
Marco Paniconi [Wed, 27 Jan 2016 21:38:35 +0000 (21:38 +0000)]
Merge "vp9-aqmode=3: Limit on period for golden update."

8 years agoMerge "Switch to 9-bit rate cost constants built on a 256 probability denominator."
Alex Converse [Wed, 27 Jan 2016 20:54:07 +0000 (20:54 +0000)]
Merge "Switch to 9-bit rate cost constants built on a 256 probability denominator."

8 years agovp9-aqmode=3: Limit on period for golden update.
Marco [Wed, 27 Jan 2016 20:01:58 +0000 (12:01 -0800)]
vp9-aqmode=3: Limit on period for golden update.

For aqmode=3, golden period update is set based on period of cyclic refresh.
Put a limit on max golden period update, for now set to 40.
And fix comment.

Change-Id: Icb61dd87c796cce2a5f5f7331c6a129540994696

8 years agoSwitch to 9-bit rate cost constants built on a 256 probability denominator.
Alex Converse [Wed, 13 Jan 2016 22:21:30 +0000 (14:21 -0800)]
Switch to 9-bit rate cost constants built on a 256 probability denominator.

-.220 BDRATE derf: https://x20web.corp.google.com/~aconverse/results/cost256_derf.html
-.675 BDRATE hevcmr: https://x20web.corp.google.com/~aconverse/results/cost256_hevcmr.html

Change-Id: Ifb1646d8ce65ffe0eff9953a911b1b88735b335f

8 years agoMerge "Fixes ext-interp experiment" into nextgenv2
Debargha Mukherjee [Wed, 27 Jan 2016 19:16:55 +0000 (19:16 +0000)]
Merge "Fixes ext-interp experiment" into nextgenv2

8 years agoFixes ext-interp experiment
Debargha Mukherjee [Wed, 27 Jan 2016 16:09:39 +0000 (08:09 -0800)]
Fixes ext-interp experiment

Fixes integer pel MV usage for the sub8x8 case, which fixes a
rare mismatch issue.

Also adds some other minor missing code related to filter threshes.

Change-Id: I6b07e6cf9b287ba4b5bd6599af4a7412e50b3bdc

8 years agoVP9: Refactor dec_build_inter_predictors_sb()
Scott LaVarnway [Wed, 27 Jan 2016 15:37:59 +0000 (07:37 -0800)]
VP9: Refactor dec_build_inter_predictors_sb()

Change-Id: I336fe2006288214977b5ee854124ee7b5bba5796

8 years agoMerge branch 'master' into nextgenv2
Yaowu Xu [Wed, 27 Jan 2016 13:00:06 +0000 (05:00 -0800)]
Merge branch 'master' into nextgenv2

8 years agointrapred: protect functions w/CONFIG check
James Zern [Wed, 27 Jan 2016 04:13:57 +0000 (20:13 -0800)]
intrapred: protect functions w/CONFIG check

d207e, d63e, d45e are only used with CONFIG_MISC_FIXES

Change-Id: If13946e483c4d0ccaa3e1d60dc14216c06d5a219

8 years agovp9_noise_estimate: protect copy_frame w/CONFIG check
James Zern [Wed, 27 Jan 2016 04:09:36 +0000 (20:09 -0800)]
vp9_noise_estimate: protect copy_frame w/CONFIG check

This is only used with CONFIG_VP9_TEMPORAL_DENOISING

Change-Id: I61a1814d43d71235077a2426f7bfce141677a79a

8 years agovp8_cx_iface: delete 3 unused functions
James Zern [Wed, 27 Jan 2016 04:08:37 +0000 (20:08 -0800)]
vp8_cx_iface: delete 3 unused functions

vp8e_update_entropy, vp8e_update_reference, vp8e_use_reference have been
unused since:
a046f56 vp8cx: remove deprecated reference/entropy controls

Change-Id: I2ca9aa3c3f1a209a534a1492432b16852e3d8629

8 years agovp8: mark intra_prediction_down_copy inline
James Zern [Wed, 27 Jan 2016 04:07:42 +0000 (20:07 -0800)]
vp8: mark intra_prediction_down_copy inline

avoids -Wunused-function warnings when INLINE is set

Change-Id: I44d91eaa7efba7bc2427501fb9f63a93f32aaa7f

8 years agoMerge "Fix a clang/win build error"
Yunqing Wang [Tue, 26 Jan 2016 19:00:06 +0000 (19:00 +0000)]
Merge "Fix a clang/win build error"

8 years agoFix a clang/win build error
Yunqing Wang [Tue, 26 Jan 2016 18:10:07 +0000 (10:10 -0800)]
Fix a clang/win build error

Made the definition of THREAD_FUNCTION consistent.

Change-Id: I1ac099484e201e359298ed16de0b81ec781075ce

8 years agoMerge "vp9: Be more responsive to massive overshoot."
Alex Converse [Tue, 26 Jan 2016 17:59:59 +0000 (17:59 +0000)]
Merge "vp9: Be more responsive to massive overshoot."

8 years agoReintroduce VAR_TX fix
Geza Lore [Tue, 26 Jan 2016 15:27:43 +0000 (15:27 +0000)]
Reintroduce VAR_TX fix

Reintroduce part of
Iaf2b717e6b8626b2b6a03226127221b776b49884
Which was later reverted in
I4c5b40ec63a6f19521191d3c730af87db3c4bc00

Change-Id: If3e5610ba3985ae7b4d952d8e616982465ac667a

8 years agoAlways recode SUPERTX blocks.
Geza Lore [Tue, 26 Jan 2016 14:40:32 +0000 (14:40 +0000)]
Always recode SUPERTX blocks.

There is still an assertion failure when tokenizing transform
coefficients for a supertx block, due to the eob not being set
consistently with the coefficients, so we always recode supertx blocks
for now. Also added further PICK_MODE_CONTEXT instances to avoid
potential clash between horizontal/vertical/split partition SUPERTX
trials.

Change-Id: I5f3da1fa0d8d20fc21face170487e1a285fd1cc6

8 years agoMerge "Update VAR_TX related context when using SUPERTX." into nextgenv2
Geza Lore [Tue, 26 Jan 2016 15:20:32 +0000 (15:20 +0000)]
Merge "Update VAR_TX related context when using SUPERTX." into nextgenv2

8 years agoMerge branch 'master' into nextgenv2
Yaowu Xu [Tue, 26 Jan 2016 13:00:05 +0000 (05:00 -0800)]
Merge branch 'master' into nextgenv2

8 years agoUpdate VAR_TX related context when using SUPERTX.
Geza Lore [Tue, 19 Jan 2016 18:15:40 +0000 (18:15 +0000)]
Update VAR_TX related context when using SUPERTX.

The encoder did not update left_txfm_context and above_txfm_context in
MACROBLOCKD (used for choosing the probability context for the vartx
split bits) when the supertx bit was set for a block. The deoder on the
other hand did update these for supertx blocks. The encoder used these
to compute the context counts, which the packer then uses to adapt it's
probabilities. This results in the packer and the decoder using
different probabilities.

This patch harmonizes the encoder and the decoder by making the encoder
update the mentioned context for supertx coded blocks.

Change-Id: I3a22132124b1bce2ee501d640ceab374b19e3ca1

8 years agoInitalize mbmi->tx_size during rdopt.
Geza Lore [Mon, 25 Jan 2016 15:46:59 +0000 (15:46 +0000)]
Initalize mbmi->tx_size during rdopt.

This is necessary when using SUPERTX, as the bitstream packer relies on
tx_size being set correctly to decide whether to output the block using
supertx or not.

Change-Id: I79e776b3b810f4a15b9dbc6afdd6fc90c73c8934

8 years agoSet inter_tx_size for supertx coded blocks.
Geza Lore [Thu, 21 Jan 2016 10:46:33 +0000 (10:46 +0000)]
Set inter_tx_size for supertx coded blocks.

The loop filter relies on inter_tx_size in MB_MODE_INFO being set
properly when VAR_TX is enabled. Supertx coded blocks did not set this
previously at all, and the differing garbage values eventually resulted
in in a YUV mismatch between encoder and decoder after loop filtering.

This patch fixes this by setting inter_tx_size to the proper supertx
size in both the encoder and the decoder. This should also mean that
loop filtering is done at the proper transform boundaries, even when
supertx or vartx is being used.

Change-Id: I41a564cd6d34ce4a8313ad4efa89d905f5ead731

8 years agoA minor assert fix for supertx
Debargha Mukherjee [Tue, 26 Jan 2016 01:13:26 +0000 (17:13 -0800)]
A minor assert fix for supertx

Change-Id: I532fff64ccaa1f38240ba7ca5ce2f7e1eb531771

8 years agoMerge "Some supertx fixes" into nextgenv2
Debargha Mukherjee [Mon, 25 Jan 2016 22:21:53 +0000 (22:21 +0000)]
Merge "Some supertx fixes" into nextgenv2

8 years agoMerge "Code clean of sad4xNx4D_sse"
James Zern [Mon, 25 Jan 2016 20:57:15 +0000 (20:57 +0000)]
Merge "Code clean of sad4xNx4D_sse"

8 years agovp9: Be more responsive to massive overshoot.
Alex Converse [Mon, 25 Jan 2016 20:03:50 +0000 (12:03 -0800)]
vp9: Be more responsive to massive overshoot.

Limit oscilation detection in the case where overshoot is very very
large.

This keeps the 9-bit cost patch from breaking the DownUp reisze test.
The patch pushed us to an 11% undershoot right before a scene cut
causing a 1200% overshoot. (Whereas before we were undershooting by
only 6% before overshooting by 1200%).

Change-Id: Id90ccfab8aba872ccadc45b73b3bb097b895677f

8 years agoSome supertx fixes
Debargha Mukherjee [Fri, 22 Jan 2016 22:52:38 +0000 (14:52 -0800)]
Some supertx fixes

Fixes some of the issues introduced by a merge from master.

derflr: -0.893% BDRATE
hevcmr: -1.667% BDRATE

Change-Id: I4c5b40ec63a6f19521191d3c730af87db3c4bc00

8 years agoCleaned a code in define_gf_group() for firstpass
Zoe Liu [Sat, 23 Jan 2016 01:13:03 +0000 (17:13 -0800)]
Cleaned a code in define_gf_group() for firstpass

Change-Id: I0b8eff9e74e3446024482d011ec4fb28b19136d3

8 years agoMerge branch 'master' into nextgenv2
Yaowu Xu [Sun, 24 Jan 2016 13:00:05 +0000 (05:00 -0800)]
Merge branch 'master' into nextgenv2

8 years agoMerge "Short circuit flat blocks when coding screen content at realtime speed."
Alex Converse [Sat, 23 Jan 2016 02:04:37 +0000 (02:04 +0000)]
Merge "Short circuit flat blocks when coding screen content at realtime speed."

8 years agoMerge "VP9: Do not set up/left available in vp9_first_pass()"
Scott LaVarnway [Fri, 22 Jan 2016 21:53:26 +0000 (21:53 +0000)]
Merge "VP9: Do not set up/left available in vp9_first_pass()"

8 years agoAdding new compound modes to EXT_INTER experiment
Yue Chen [Wed, 20 Jan 2016 00:45:45 +0000 (16:45 -0800)]
Adding new compound modes to EXT_INTER experiment

Combinations of different mv modes for two reference frames
are allowed in compound inter modes. 9 options are enabled,
including NEAREST_NEARESTMV, NEAREST_NEARMV, NEAR_NEARESTMV,
NEAREST_NEWMV, NEW_NEARESTMV, NEAR_NEWMV, NEW_NEARMV, ZERO_ZEROMV,
and NEW_NEWMV.
This experiment is mostly deported from the nextgen branch.
It is made compatible with other experiments

Coding gain of EXT_INTER(derflr/hevcmr/hevchd): 0.533%/0.728%/0.639%

Change-Id: Id47e97284e6481b186870afbad33204b7a33dbb0

8 years agoShort circuit flat blocks when coding screen content at realtime speed.
Alex Converse [Wed, 20 Jan 2016 22:28:09 +0000 (14:28 -0800)]
Short circuit flat blocks when coding screen content at realtime speed.

In inter mode search skip all modes except NEARESTMV and DC_PRED.

10% less encode latency for large frames using the chromium remoting_perftests.

+0.313% BDRATE on the screencast set at speed -6.

Change-Id: Ib97a39dd8bcdeab545509e0e02d78ce7033f8c63

8 years agoVP9: Do not set up/left available in vp9_first_pass()
Scott LaVarnway [Fri, 22 Jan 2016 17:22:53 +0000 (09:22 -0800)]
VP9: Do not set up/left available in vp9_first_pass()

These values are set in set_mi_row_col()

Change-Id: Ie44c9d2dcb79797a8473b5fc29394277a7117547

8 years agoFix a minor typo
Yaowu Xu [Fri, 22 Jan 2016 18:57:16 +0000 (10:57 -0800)]
Fix a minor typo

a wrong variable.

Change-Id: I9fa02621dbdc508a12ba1ef9c8f98dbeab68e958

8 years agoFix a merge mistake
Yaowu Xu [Fri, 22 Jan 2016 18:48:10 +0000 (10:48 -0800)]
Fix a merge mistake

Change-Id: I0769ca1abd42521a24078dc9ba7093ccb5e362ee

8 years agoMerge "A fix for a missing tx_type" into nextgenv2
Debargha Mukherjee [Fri, 22 Jan 2016 18:36:46 +0000 (18:36 +0000)]
Merge "A fix for a missing tx_type" into nextgenv2

8 years agoMerge "Properly set segmentation for error-resilient mode"
Yaowu Xu [Fri, 22 Jan 2016 16:52:41 +0000 (16:52 +0000)]
Merge "Properly set segmentation for error-resilient mode"

8 years agoMerge branch 'master' into nextgenv2
Yaowu Xu [Fri, 22 Jan 2016 16:45:37 +0000 (08:45 -0800)]
Merge branch 'master' into nextgenv2

Change-Id: I0a82fa1cbe4ee7c7831d2d174f140a40d09a06c5

8 years agoA fix for a missing tx_type
Debargha Mukherjee [Fri, 22 Jan 2016 11:29:39 +0000 (03:29 -0800)]
A fix for a missing tx_type

Change-Id: I165cd06256175edb7739020379ba3098251f4a7c

8 years agoMerge "Fixes for var_tx when ext_tx is not enabled" into nextgenv2
Debargha Mukherjee [Fri, 22 Jan 2016 06:09:36 +0000 (06:09 +0000)]
Merge "Fixes for var_tx when ext_tx is not enabled" into nextgenv2

8 years agoMerge "Some fixes on tx size/type selection" into nextgenv2
Debargha Mukherjee [Fri, 22 Jan 2016 04:02:11 +0000 (04:02 +0000)]
Merge "Some fixes on tx size/type selection" into nextgenv2

8 years agoMerge "Relocate supertx prob update" into nextgenv2
Yue Chen [Fri, 22 Jan 2016 03:45:38 +0000 (03:45 +0000)]
Merge "Relocate supertx prob update" into nextgenv2

8 years agoFixes for var_tx when ext_tx is not enabled
Julia Robson [Thu, 21 Jan 2016 17:14:29 +0000 (17:14 +0000)]
Fixes for var_tx when ext_tx is not enabled

This patch fixes a couple of issues caused by change-id:
I15d20ce5292b70f0c2b4ba55c1f1318181481596
Changes to the code for when the ext_tx experiment is not enabled
were merged from master but as var_tx does not exist on master
the changes had not been applied to the case when var_tx experiment
is enabled

Change-Id: Iaf2b717e6b8626b2b6a03226127221b776b49884

8 years agoSome fixes on tx size/type selection
Debargha Mukherjee [Wed, 6 Jan 2016 22:36:13 +0000 (14:36 -0800)]
Some fixes on tx size/type selection

For ext_tx experiment.

Change-Id: Ie37b9b456b09bde8b606fb978fee4cca8d0326b7

8 years agoBuild fix for vp9
Debargha Mukherjee [Fri, 22 Jan 2016 01:41:36 +0000 (17:41 -0800)]
Build fix for vp9

Change-Id: I1b93ea826487f9033de70fc4563ade410fe07d74

8 years agoRelocate supertx prob update
Yue Chen [Fri, 22 Jan 2016 01:08:52 +0000 (17:08 -0800)]
Relocate supertx prob update

Move it from vp10_adapt_intra_frame_probs() to
vp10_adapt_inter_frame_probs() because intra frames do not use
supertx.

Change-Id: I28c7391944848666054d4b990ac17a8ae08aaaee