]> granicus.if.org Git - libvpx/log
libvpx
8 years agoMerge "Reset txfm context condition for skip coded blocks" into nextgenv2
Jingning Han [Fri, 30 Oct 2015 02:15:34 +0000 (02:15 +0000)]
Merge "Reset txfm context condition for skip coded blocks" into nextgenv2

8 years agoReset txfm context condition for skip coded blocks
Jingning Han [Fri, 16 Oct 2015 00:50:13 +0000 (17:50 -0700)]
Reset txfm context condition for skip coded blocks

If a block has all coefficients quantized to zero, the codec will
assume that it uses largest transform block size.

Change-Id: Icd4e8e7cdc4b6af6974f87169e50b040ebfe9020

8 years agoTurn off fixed tx size in frame header
Jingning Han [Thu, 15 Oct 2015 19:47:22 +0000 (12:47 -0700)]
Turn off fixed tx size in frame header

Temporarily turn off the fixed transform size at frame level.

Change-Id: I94a6a3b18893909d33fb7fa91e73ee3568b537b2

8 years agoEnable entropy coding of recursive transform block partition
Jingning Han [Wed, 14 Oct 2015 16:38:17 +0000 (09:38 -0700)]
Enable entropy coding of recursive transform block partition

This commit enables the entropy coding of the recursive transform
block partition syntax.

Change-Id: I0c2509fb7b9822d12a721f9ebf9327fac83c777e

8 years agoMerge "Refactoring tx-types to add more flexibility" into nextgenv2
Debargha Mukherjee [Thu, 29 Oct 2015 16:51:14 +0000 (16:51 +0000)]
Merge "Refactoring tx-types to add more flexibility" into nextgenv2

8 years agoMerge branch 'master' into nextgenv2
Yaowu Xu [Thu, 29 Oct 2015 12:00:05 +0000 (05:00 -0700)]
Merge branch 'master' into nextgenv2

8 years agoRefactoring tx-types to add more flexibility
Debargha Mukherjee [Mon, 12 Oct 2015 19:30:55 +0000 (12:30 -0700)]
Refactoring tx-types to add more flexibility

Allows inter and intra tx_types to have different sets of
transforms for different tx_size/sb_type combinations.

Change-Id: Ic0ac1daef7a9fb15c4210271e4d04cd36e5cec8e

8 years agoMerge "VP9-SVC: Allow frame dropping due to overshoot for spatial layers."
Marco Paniconi [Wed, 28 Oct 2015 21:59:17 +0000 (21:59 +0000)]
Merge "VP9-SVC: Allow frame dropping due to overshoot for spatial layers."

8 years agoMerge "Revert "Replace the zero handling in extend_to_full_distribution.""
Alex Converse [Wed, 28 Oct 2015 20:48:52 +0000 (20:48 +0000)]
Merge "Revert "Replace the zero handling in extend_to_full_distribution.""

8 years agoMerge "Skip AS detection when using --enable-external-build"
Johann Koenig [Wed, 28 Oct 2015 19:18:49 +0000 (19:18 +0000)]
Merge "Skip AS detection when using --enable-external-build"

8 years agoMerge "Only set sysroot when alt_libc finds a directory"
Johann Koenig [Wed, 28 Oct 2015 19:16:42 +0000 (19:16 +0000)]
Merge "Only set sysroot when alt_libc finds a directory"

8 years agoRevert "Replace the zero handling in extend_to_full_distribution."
Alex Converse [Wed, 28 Oct 2015 18:48:44 +0000 (11:48 -0700)]
Revert "Replace the zero handling in extend_to_full_distribution."

This reverts commit 7f56cb29787b187c8cb1b778918ca3b80184c804.

It causes uninitialized reads in the first pass setting up later cost tables.

Change-Id: I2df498df3f5c03eff359f79edf045aed0c618dc9

8 years agoUse precise distortion metric
Jingning Han [Tue, 13 Oct 2015 19:40:39 +0000 (12:40 -0700)]
Use precise distortion metric

Rework the rate distortion optimization pipeline. Use precise
distortion metric that accounts for the forward and inverse
transform rounding effect.

Change-Id: Ibe19ce9791ec3547739294cc3012dd9e11f4ea49

8 years agoAccount for variable txfm sizes in coeff token packing
Jingning Han [Wed, 28 Oct 2015 18:34:45 +0000 (11:34 -0700)]
Account for variable txfm sizes in coeff token packing

This commit makes the coefficient token packtization process account
for variable transform block sizes supported in a single processing
block. It fixes an enc/dec mismatch issue when var-tx, ext-tx, and
misc-fixes experiments are all turned on.

Change-Id: I2e8946e6f72de567603a568debbadad11196430c

8 years agoAdd more resize test videos that with larger resolution change intervals.
Hangyu Kuang [Mon, 26 Oct 2015 23:02:23 +0000 (16:02 -0700)]
Add more resize test videos that with larger resolution change intervals.

These videos change resolution every 10 frames versus every 3 frames in current
test sets.

Change-Id: Ic33f449fc9b6d2f480825d4715b8f63e70801232

8 years agoMerge branch 'master' into nextgenv2
Yaowu Xu [Wed, 28 Oct 2015 14:49:11 +0000 (07:49 -0700)]
Merge branch 'master' into nextgenv2

Change-Id: I63dc39d1ec9ad2e2454da6f5956dcd4367b87190

8 years agoMerge "Add several new test vectors with small resolution."
Hangyu Kuang [Wed, 28 Oct 2015 15:04:25 +0000 (15:04 +0000)]
Merge "Add several new test vectors with small resolution."

8 years agoAdd several new test vectors with small resolution.
Hangyu Kuang [Thu, 22 Oct 2015 23:31:13 +0000 (16:31 -0700)]
Add several new test vectors with small resolution.

Change-Id: I70b1b8162a0c9b8501358ba7d32fecd1dc020ab5

8 years agoAdd tx_type counts in key frame
Jingning Han [Tue, 27 Oct 2015 23:50:27 +0000 (16:50 -0700)]
Add tx_type counts in key frame

Properly update the transform type counts in key frame coding at
decoder. It fixes an enc/dec mismatch issue when both ext-tx and
misc-fixes are turned on.

Change-Id: I1e40a77c8d8157d5ff254b072ce474d8dfbaa3ae

8 years agoUpdate to vp9-denoising.
Marco [Tue, 27 Oct 2015 22:50:06 +0000 (15:50 -0700)]
Update to vp9-denoising.

Set increase_denoising parameter for temporal filter.

Change-Id: Id98bf160db98dfa9aedf76e20b43e6f7c783fb1c

8 years agoOnly set sysroot when alt_libc finds a directory
Johann [Tue, 27 Oct 2015 22:38:47 +0000 (15:38 -0700)]
Only set sysroot when alt_libc finds a directory

Change-Id: Idc0a9adb4fb371272d6c8c98737f66c6cf209e37

8 years agoVP9-SVC: Allow frame dropping due to overshoot for spatial layers.
Marco [Tue, 27 Oct 2015 20:02:02 +0000 (13:02 -0700)]
VP9-SVC: Allow frame dropping due to overshoot for spatial layers.

For 1 pass CBR mode.

Change-Id: I8bceb489a850ec26f05382eecb5c0c32a1bb8883

8 years agoMerge "Adjustments to vp9-denoising."
Marco Paniconi [Tue, 27 Oct 2015 19:10:01 +0000 (19:10 +0000)]
Merge "Adjustments to vp9-denoising."

8 years agoMerge "Accumulate EXT_TX counts for multithread" into nextgenv2
Debargha Mukherjee [Tue, 27 Oct 2015 18:48:25 +0000 (18:48 +0000)]
Merge "Accumulate EXT_TX counts for multithread" into nextgenv2

8 years agoAdjustments to vp9-denoising.
Marco [Mon, 26 Oct 2015 21:56:46 +0000 (14:56 -0700)]
Adjustments to vp9-denoising.

Adjust variance threshold, delta-qp, and intra penalty cost,
based on estimated noise level in source.

Replace denoising_on with a level value=L/M/H.

Change-Id: I0c017dae75a5d897367d2c42dec26f2f37e447c1

8 years agoMerge "Reorder code to be consistent accross branches"
Yaowu Xu [Tue, 27 Oct 2015 17:07:50 +0000 (17:07 +0000)]
Merge "Reorder code to be consistent accross branches"

8 years agoMerge "Replace the zero handling in extend_to_full_distribution."
Alex Converse [Tue, 27 Oct 2015 16:54:49 +0000 (16:54 +0000)]
Merge "Replace the zero handling in extend_to_full_distribution."

8 years agoAccumulate EXT_TX counts for multithread
Peter de Rivaz [Tue, 27 Oct 2015 10:50:00 +0000 (10:50 +0000)]
Accumulate EXT_TX counts for multithread

EXT_TX introduces some new symbols to be decoded.
The encoder counts how many times these are used.
In multithreaded mode, the counts from the worker threads
need to be accumulated into the main thread.

This change means that VP10/VPxEncoderThreadTest now works
with more choices of cpu-used and number of passes.

Change-Id: Ibe7e6a3c58145265f4ead155ff98fb4cb37c3513

8 years agoReorder code to be consistent accross branches
Yaowu Xu [Tue, 27 Oct 2015 16:04:40 +0000 (09:04 -0700)]
Reorder code to be consistent accross branches

This is to make future merge a bit easier.

Change-Id: I1039de381d8fe7b9988b57c23d15d0cb5f2fcd32

8 years agoMerge branch 'master' into nextgenv2
Yaowu Xu [Tue, 27 Oct 2015 15:24:32 +0000 (08:24 -0700)]
Merge branch 'master' into nextgenv2

Change-Id: I0e4030a37354bb23b3aa8be5cc1473770b9e7b06

8 years agoFix VS build.
Alex Converse [Tue, 27 Oct 2015 06:13:03 +0000 (23:13 -0700)]
Fix VS build.

Add a cast on a double to unsigned assignment.

Change-Id: I4abce7cfa13e145ed0c71469844ac9b274aa1411

8 years agoFix early termination flag in recursive transform block search
Jingning Han [Tue, 27 Oct 2015 02:39:30 +0000 (19:39 -0700)]
Fix early termination flag in recursive transform block search

Properly reset the early termination flag in the recursive transform
block partitioning rate-distortion optimization scheme.

Change-Id: Ibfe918f21f11dcb1ec267c09f954c635305cc95a

8 years agoSkip AS detection when using --enable-external-build
Johann [Mon, 26 Oct 2015 23:40:17 +0000 (16:40 -0700)]
Skip AS detection when using --enable-external-build

The option exists specifically to allow for configurations
where the build environment is different from the configure
environment.

Change-Id: I95196fa3c49700251d10ff5d256dc7380e39d0c4

8 years agoFix lossless coding
Jingning Han [Mon, 26 Oct 2015 19:32:30 +0000 (12:32 -0700)]
Fix lossless coding

Use inter_block_yrd as rate-distortion optimization for lossless
coding. This fixes transform coefficient buffer swap use case and
resolves the unit test failure related to lossless coding.

Change-Id: I1512dab5ed5760c31f7de21a06e8d9ed1eb081fa

8 years agoTest fix for VP10
Debargha Mukherjee [Mon, 26 Oct 2015 18:56:13 +0000 (11:56 -0700)]
Test fix for VP10

Disbales threading test for speeds > 0 and all modes other than
2-pass temporarily.

Change-Id: I098ef2b16f575c039a7f6a21244dd87eee6960ce

8 years agoMerge "Code cleanup for vp9-denoiser."
Marco Paniconi [Mon, 26 Oct 2015 20:52:16 +0000 (20:52 +0000)]
Merge "Code cleanup for vp9-denoiser."

8 years agoMerge "Make transform block partition scheme support use largest txfm setting" into...
Jingning Han [Mon, 26 Oct 2015 19:37:57 +0000 (19:37 +0000)]
Merge "Make transform block partition scheme support use largest txfm setting" into nextgenv2

8 years agoMerge "Incorrect frame used in KF boost loop."
Paul Wilkins [Mon, 26 Oct 2015 19:12:34 +0000 (19:12 +0000)]
Merge "Incorrect frame used in KF boost loop."

8 years agoMerge "Bug in clamping of base_frame_target."
Paul Wilkins [Mon, 26 Oct 2015 19:12:08 +0000 (19:12 +0000)]
Merge "Bug in clamping of base_frame_target."

8 years agoCode cleanup for vp9-denoiser.
Marco [Mon, 26 Oct 2015 19:01:52 +0000 (12:01 -0700)]
Code cleanup for vp9-denoiser.

Change-Id: Ibb573f50c4bf2cfb382b589803f3363db0ac1285

8 years agoReplace the zero handling in extend_to_full_distribution.
Alex Converse [Thu, 8 Oct 2015 23:01:42 +0000 (16:01 -0700)]
Replace the zero handling in extend_to_full_distribution.

The old workaround "p = 0 ? 0 : p -1" is misleading.

?: happens before =
assigning back to p truncates to one byte.

Therefore it is equivalent to (p - 1) & 0xFF, but the check just exists
to work around a first pass bug, so let's make the work around more
clear.

https://code.google.com/p/webm/issues/detail?id=1089

Change-Id: Ia6dcc8922e1acbac0eeca23a4d564a355c489572

8 years agoMake transform block partition scheme support use largest txfm setting
Jingning Han [Mon, 26 Oct 2015 18:09:55 +0000 (11:09 -0700)]
Make transform block partition scheme support use largest txfm setting

This commit properly resets the recursive transform block partition
array in the settings of using largest transform block size at frame
header level. It fixes one of the unit test failure related to the use
of frame level fixed transform block size with 440 color format.

Change-Id: I6750f323e2c2510c080ffc3af82ce2041f4f60b8

8 years agoMerge "Optimize vpx_quantize_{b,b_32x32} assembler."
Debargha Mukherjee [Mon, 26 Oct 2015 18:04:49 +0000 (18:04 +0000)]
Merge "Optimize vpx_quantize_{b,b_32x32} assembler."

8 years agoMerge "Optimize vp9_highbd_block_error_8bit assembly."
Debargha Mukherjee [Mon, 26 Oct 2015 18:03:46 +0000 (18:03 +0000)]
Merge "Optimize vp9_highbd_block_error_8bit assembly."

8 years agoMerge "palette: Replace rand() call with custom LCG."
Alex Converse [Mon, 26 Oct 2015 17:05:00 +0000 (17:05 +0000)]
Merge "palette: Replace rand() call with custom LCG."

8 years agoMerge "Use explicit block position in foreach_transformed_block"
Jingning Han [Mon, 26 Oct 2015 16:25:56 +0000 (16:25 +0000)]
Merge "Use explicit block position in foreach_transformed_block"

8 years agoMerge branch 'master' into nextgenv2
Yaowu Xu [Mon, 26 Oct 2015 15:57:30 +0000 (08:57 -0700)]
Merge branch 'master' into nextgenv2

8 years agopalette: Replace rand() call with custom LCG.
Alex Converse [Wed, 14 Oct 2015 18:03:14 +0000 (11:03 -0700)]
palette: Replace rand() call with custom LCG.

The custom LCG is based on the POSIX recommend constants for a 16-bit
rand(). This implementation uses less computation than typical standard
library procedures which have been extended for 32-bit support, is
guaranteed to be reentrant, and identical everywhere.

Change-Id: I3140bbd566f44ab820d131c584a5d4ec6134c5a0
Ref: http://pubs.opengroup.org/onlinepubs/9699919799/functions/rand.html

8 years agoSilence compiler warnings when high bit-depth is turned on
Jingning Han [Fri, 23 Oct 2015 21:49:25 +0000 (14:49 -0700)]
Silence compiler warnings when high bit-depth is turned on

Clear the compiler warnings when both ext-tx and high bit-depth
are turned on.

Change-Id: I2e02f1f29043f2952fe215f8183b5bfd80e16f58

8 years agoBug in clamping of base_frame_target.
Paul Wilkins [Wed, 21 Oct 2015 16:20:13 +0000 (17:20 +0100)]
Bug in clamping of base_frame_target.

Bug relating to issue:- http://b/25090786

base_frame_target is supposed to track the idealized bit
allocation based on error score and not the actual bits
allocated to each frame.

The clamping of this value based on the VBR min and max pct values
was causing a bug where in some cases the loop that adjusts the
active max quantizer for each GF group was running out of bits at
the end of a KF group. This caused a spike in Q and some ugly artifacts.

A second change makes sure that the calculation of the active
Q range for a group DOES, however, take account of clamping.

Change-Id: I31035e97d18853530b0874b433c1da7703f607d1

8 years agoProperly handle non-420 color format in recursive transform scheme
Jingning Han [Fri, 23 Oct 2015 21:27:21 +0000 (14:27 -0700)]
Properly handle non-420 color format in recursive transform scheme

This commit makes the recursive transform block partitioning properly
handle the non-420 color format. It resolves an enc/dec mismatch
issue in that setting when var-tx experiment is turned on.

Change-Id: I48a91de02c11b3153f897d1cca0ae948eec15605

8 years agoBuild fix for ext-tx
Debargha Mukherjee [Fri, 23 Oct 2015 19:01:41 +0000 (12:01 -0700)]
Build fix for ext-tx

Change-Id: Ifab43f85f6ae1be6b9f95521f79ba49055353b5f

8 years agoFix enc/dec mismatch in var-tx experiment
Jingning Han [Fri, 23 Oct 2015 19:02:56 +0000 (12:02 -0700)]
Fix enc/dec mismatch in var-tx experiment

This commit fixes an enc/dec mismatch issue in recursive transform
partitioning experiment due to merge conflict.

Change-Id: I66146ef806c008902c91d54f4f8c7ccf47996b78

8 years agoVP9: Estimate noise level for denoiser.
Marco [Fri, 16 Oct 2015 23:14:22 +0000 (16:14 -0700)]
VP9: Estimate noise level for denoiser.

Periodically estiamte noise level in source, and only denoise
if estimated noise level is above threshold.

Change-Id: I54f967b3003b0c14d0b1d3dc83cb82ce8cc2d381

8 years agoUse explicit block position in foreach_transformed_block
Jingning Han [Fri, 23 Oct 2015 00:25:00 +0000 (17:25 -0700)]
Use explicit block position in foreach_transformed_block

Add the row and column index to the argument list of unit functions
called by foreach_transformed_block wrapper. This avoids the
repeated internal parsing according to the block index.

Change-Id: Ie7508acdac0b498487564639bc5cc6378a8a0df7

8 years agoMerge "Merge branch 'masterbase' into nextgenv2" into nextgenv2
Yaowu Xu [Fri, 23 Oct 2015 01:32:19 +0000 (01:32 +0000)]
Merge "Merge branch 'masterbase' into nextgenv2" into nextgenv2

8 years agoMerge branch 'masterbase' into nextgenv2
Yaowu Xu [Fri, 23 Oct 2015 01:31:26 +0000 (18:31 -0700)]
Merge branch 'masterbase' into nextgenv2

Conflicts:
configure

Change-Id: I7f331981e19338451d16030f0ac1179db2e08c4d

8 years agoMerge "Fix merge defects" into nextgenv2
Yaowu Xu [Fri, 23 Oct 2015 01:28:32 +0000 (01:28 +0000)]
Merge "Fix merge defects" into nextgenv2

8 years agoFix merge defects
Yaowu Xu [Thu, 22 Oct 2015 19:18:52 +0000 (12:18 -0700)]
Fix merge defects

This commit fixes the merge conflicts between master and nextgenv2 and
disable early termination in choose_tx_size() to avoid failure in test.

The test failures are pre-existing, some of the issue were fixed in
masterbase already, so will have another merge to introduce the fixes.

Change-Id: Ib71889661955e73aedbb4db49d8be70425281dcb

8 years agoMerge "Reset tx_type in recursive transform block partitioning" into nextgenv2
Jingning Han [Thu, 22 Oct 2015 21:34:32 +0000 (21:34 +0000)]
Merge "Reset tx_type in recursive transform block partitioning" into nextgenv2

8 years agoReset tx_type in recursive transform block partitioning
Jingning Han [Thu, 22 Oct 2015 19:06:32 +0000 (12:06 -0700)]
Reset tx_type in recursive transform block partitioning

Temporarily reset the transform type in the inter modes when
recursive transform block partitioning is used. This resolves an
enc/dec mismatch issue in nextgenv2 codebase when both var-tx and
ext-tx experiments are turned on.

Change-Id: I2543f0a567243da95b237752d46964b07b669ad9

8 years agoMerge "vp10: merge ext_ipred_bltr experiment into misc_fixes."
Ronald S. Bultje [Thu, 22 Oct 2015 21:14:20 +0000 (21:14 +0000)]
Merge "vp10: merge ext_ipred_bltr experiment into misc_fixes."

8 years agoMerge "vp10: merge universal_hp experiment into misc_fixes."
Ronald S. Bultje [Thu, 22 Oct 2015 21:14:13 +0000 (21:14 +0000)]
Merge "vp10: merge universal_hp experiment into misc_fixes."

8 years agoMerge "Adjust superframe-is-optional unit test for vp10 superframe syntax."
Ronald S. Bultje [Thu, 22 Oct 2015 21:14:06 +0000 (21:14 +0000)]
Merge "Adjust superframe-is-optional unit test for vp10 superframe syntax."

8 years agoMerge "vp10: don't allow comp_inter_inter on keyframes."
Ronald S. Bultje [Thu, 22 Oct 2015 21:14:00 +0000 (21:14 +0000)]
Merge "vp10: don't allow comp_inter_inter on keyframes."

8 years agoMerge "vp10: fix tile size in remuxing step."
Ronald S. Bultje [Thu, 22 Oct 2015 21:12:44 +0000 (21:12 +0000)]
Merge "vp10: fix tile size in remuxing step."

8 years agoMerge "vp10: use correct constant for bw adaptation of seg pred probs."
Ronald S. Bultje [Thu, 22 Oct 2015 21:12:35 +0000 (21:12 +0000)]
Merge "vp10: use correct constant for bw adaptation of seg pred probs."

8 years agoMerge "vp10: don't make right edge available across tile boundaries."
Ronald S. Bultje [Thu, 22 Oct 2015 21:12:25 +0000 (21:12 +0000)]
Merge "vp10: don't make right edge available across tile boundaries."

8 years agoMerge "vp10: clip MVs before adding to find_ref_mvs() list."
Ronald S. Bultje [Thu, 22 Oct 2015 21:12:09 +0000 (21:12 +0000)]
Merge "vp10: clip MVs before adding to find_ref_mvs() list."

8 years agoMerge branch 'masterbase' into nextgenv2
Yaowu Xu [Thu, 22 Oct 2015 16:37:05 +0000 (09:37 -0700)]
Merge branch 'masterbase' into nextgenv2

Conflicts:
configure
test/vp9_encoder_parms_get_to_decoder.cc
vp10/common/blockd.h
vp10/common/entropymode.c
vp10/common/entropymode.h
vp10/common/idct.c
vp10/decoder/decodeframe.c
vp10/decoder/decodemv.c
vp10/encoder/bitstream.c
vp10/encoder/encodeframe.c
vp10/encoder/encodemb.c
vp10/encoder/encoder.c
vp10/encoder/encoder.h
vp10/encoder/rd.c
vp10/encoder/rdopt.c
vp10/encoder/tokenize.c
vp10/encoder/tokenize.h
vp9/decoder/vp9_decodeframe.c
vp9/decoder/vp9_decoder.h
vp9/encoder/vp9_aq_cyclicrefresh.c
vp9/encoder/vp9_encoder.h
vp9/vp9_cx_iface.c
vpx/vp8cx.h
vpx_dsp/x86/vpx_subpixel_8t_intrin_ssse3.c
vpx_scale/yv12config.h

Change-Id: I604a329d38badec7a11e8ede16ca1404476e9b93

8 years agovp10: merge ext_ipred_bltr experiment into misc_fixes.
Ronald S. Bultje [Wed, 21 Oct 2015 19:23:16 +0000 (15:23 -0400)]
vp10: merge ext_ipred_bltr experiment into misc_fixes.

Change-Id: I2f2deb700748408b8278b7f5c29ee1f2e39785ec

8 years agovp10: merge universal_hp experiment into misc_fixes.
Ronald S. Bultje [Wed, 21 Oct 2015 19:20:22 +0000 (15:20 -0400)]
vp10: merge universal_hp experiment into misc_fixes.

Change-Id: I79fc3c0594535adc0056339c929cff69b8188760

8 years agoAdjust superframe-is-optional unit test for vp10 superframe syntax.
Ronald S. Bultje [Wed, 21 Oct 2015 14:24:49 +0000 (10:24 -0400)]
Adjust superframe-is-optional unit test for vp10 superframe syntax.

Change-Id: Ic64b6928af7ae8ecc987f845b0bf0faecdacb072

8 years agoFix compiler error with high bit-depth and var-tx
Jingning Han [Thu, 22 Oct 2015 00:38:00 +0000 (17:38 -0700)]
Fix compiler error with high bit-depth and var-tx

Clear the compiler errors when both high bit-depth and recursive
transform block partition experiments are enabled.

Change-Id: If0b6396851f10c28b4f26350322ccd1ba2fc9aff

8 years agoIncorrect frame used in KF boost loop.
Paul Wilkins [Wed, 21 Oct 2015 17:48:15 +0000 (18:48 +0100)]
Incorrect frame used in KF boost loop.

Fixes a bug in the calculation of the boost for key frames.

Change-Id: I75e9c96a9e86379239fbbbecb56ccd529783dc7c

8 years agovp10: don't allow comp_inter_inter on keyframes.
Ronald S. Bultje [Wed, 21 Oct 2015 13:13:59 +0000 (09:13 -0400)]
vp10: don't allow comp_inter_inter on keyframes.

Change-Id: Ibd0e13721a2bb71c532d20b36c42f4cccf5c5de2

8 years agovp10: fix tile size in remuxing step.
Ronald S. Bultje [Tue, 20 Oct 2015 23:40:36 +0000 (19:40 -0400)]
vp10: fix tile size in remuxing step.

Change-Id: Id48fb193bbdb3afed1d0db26c4ddded65a293b1b

8 years agovp10: use correct constant for bw adaptation of seg pred probs.
Ronald S. Bultje [Tue, 20 Oct 2015 23:40:14 +0000 (19:40 -0400)]
vp10: use correct constant for bw adaptation of seg pred probs.

Change-Id: Idb869a77a126982814b8e7e288f952a65340e6be

8 years agovp10: don't make right edge available across tile boundaries.
Ronald S. Bultje [Tue, 20 Oct 2015 23:13:10 +0000 (19:13 -0400)]
vp10: don't make right edge available across tile boundaries.

Change-Id: Ia81cf3858ef6c8d1fd4b1fb2dd9627906081129d

8 years agoOptimize vp9_highbd_block_error_8bit assembly.
Geza Lore [Thu, 15 Oct 2015 17:28:31 +0000 (18:28 +0100)]
Optimize vp9_highbd_block_error_8bit assembly.

A new version of vp9_highbd_error_8bit is now available which is
optimized with AVX assembly. AVX itself does not buy us too much, but
the non-destructive 3 operand format encoding of the 128bit SSEn integer
instructions helps to eliminate move instructions. The Sandy Bridge
micro-architecture cannot eliminate move instructions in the processor
front end, so AVX will help on these machines.

Further 2 optimizations are applied:

1. The common case of computing block error on 4x4 blocks is optimized
as a special case.
2. All arithmetic is speculatively done on 32 bits only. At the end of
the loop, the code detects if overflow might have happened and if so,
the whole computation is re-executed using higher precision arithmetic.
This case however is extremely rare in real use, so we can achieve a
large net gain here.

The optimizations rely on the fact that the coefficients are in the
range [-(2^15-1), 2^15-1], and that the quantized coefficients always
have the same sign as the input coefficients (in the worst case they are
0). These are the same assumptions that the old SSE2 assembly code for
the non high bitdepth configuration relied on. The unit tests have been
updated to take this constraint into consideration when generating test
input data.

Change-Id: I57d9888a74715e7145a5d9987d67891ef68f39b7

8 years agoMerge "vp10: disallow coding zero-sized tiles-in-frame/frames-in-superframe."
Ronald S. Bultje [Tue, 20 Oct 2015 19:58:00 +0000 (19:58 +0000)]
Merge "vp10: disallow coding zero-sized tiles-in-frame/frames-in-superframe."

8 years agovp10: clip MVs before adding to find_ref_mvs() list.
Ronald S. Bultje [Tue, 20 Oct 2015 17:31:40 +0000 (13:31 -0400)]
vp10: clip MVs before adding to find_ref_mvs() list.

This causes the output of find_ref_mvs() to always be unique or zero.
A nice side-effect of this is that it also causes the output of
find_ref_mvs_sub8x8() to be unique-or-zero, and it will not ignore
available candidate MVs under certain conditions.

See issue 1012.

Change-Id: If4792789cb7885dbc9db420001d95f9b91b63bfa

8 years agovp10: disallow coding zero-sized tiles-in-frame/frames-in-superframe.
Ronald S. Bultje [Tue, 20 Oct 2015 16:13:03 +0000 (12:13 -0400)]
vp10: disallow coding zero-sized tiles-in-frame/frames-in-superframe.

See issue 1088.

Change-Id: Icb15d33b4e316add848f210b50cbccd7c7847207

8 years agoSetting change in sample encoder: vpx_temporal_svc_encoder.c
Marco [Tue, 20 Oct 2015 17:38:09 +0000 (10:38 -0700)]
Setting change in sample encoder: vpx_temporal_svc_encoder.c

Change-Id: Ifb384fa571eb08b516ed08fe05b8bca0c94b1edf

8 years agoMerge "VP10: some changes to palette mode"
Hui Su [Tue, 20 Oct 2015 16:37:31 +0000 (16:37 +0000)]
Merge "VP10: some changes to palette mode"

8 years agoMerge "vp10: write colorspace info for profile 0 intraonly frames."
Ronald S. Bultje [Tue, 20 Oct 2015 15:57:21 +0000 (15:57 +0000)]
Merge "vp10: write colorspace info for profile 0 intraonly frames."

8 years agoMerge "vp10: per-segment lossless coding."
Ronald S. Bultje [Tue, 20 Oct 2015 15:57:12 +0000 (15:57 +0000)]
Merge "vp10: per-segment lossless coding."

8 years agoMerge "vp10: add extended-intra prediction edges experiment."
Ronald S. Bultje [Tue, 20 Oct 2015 15:57:05 +0000 (15:57 +0000)]
Merge "vp10: add extended-intra prediction edges experiment."

8 years agoMerge "vp10: allow MV refs to point outside visible image."
Ronald S. Bultje [Tue, 20 Oct 2015 15:56:56 +0000 (15:56 +0000)]
Merge "vp10: allow MV refs to point outside visible image."

8 years agoMerge "vp10: allow forward updates for keyframe y intra mode probabilities."
Ronald S. Bultje [Tue, 20 Oct 2015 15:56:49 +0000 (15:56 +0000)]
Merge "vp10: allow forward updates for keyframe y intra mode probabilities."

8 years agoMerge "vp10: merge keyframe/interframe uvintramode/partition probabilities."
Ronald S. Bultje [Tue, 20 Oct 2015 15:56:42 +0000 (15:56 +0000)]
Merge "vp10: merge keyframe/interframe uvintramode/partition probabilities."

8 years agoMerge "vp10: make segmentation probs use generic probability model."
Ronald S. Bultje [Tue, 20 Oct 2015 15:56:34 +0000 (15:56 +0000)]
Merge "vp10: make segmentation probs use generic probability model."

8 years agoOptimize vpx_quantize_{b,b_32x32} assembler.
Geza Lore [Mon, 19 Oct 2015 13:05:35 +0000 (14:05 +0100)]
Optimize vpx_quantize_{b,b_32x32} assembler.

Added optimization of the 8 bit assembly quantizer routines. This makes
these functions up to 100% faster, depending on encoding parameters.

This patch maskes the encoder faster in both the high bitdepth and 8bit
configurations. In the high bitdepth configuration, it effects profile 0
only.

Based on my profiling using 1080p input the net gain is between 1-3% for
the 8 bit config, and around 2.5-4.5% for the high bitdepth config,
depending on target bitrate. The difference between the 8 bit and high
bitdepth configurations for the same encoder run is reduced by 1% in all
cases I have profiled.

Change-Id: I86714a6b7364da20cd468cd784247009663a5140

8 years agoMerge "vp8cx: remove deprecated reference/entropy controls"
James Zern [Tue, 20 Oct 2015 02:46:36 +0000 (02:46 +0000)]
Merge "vp8cx: remove deprecated reference/entropy controls"

8 years agovp10: write colorspace info for profile 0 intraonly frames.
Ronald S. Bultje [Mon, 19 Oct 2015 16:18:57 +0000 (12:18 -0400)]
vp10: write colorspace info for profile 0 intraonly frames.

See issue 1087.

Change-Id: I231f6f12f870d0a56391daf1673536048418b207

8 years agovp8cx: remove deprecated reference/entropy controls
James Zern [Fri, 16 Oct 2015 23:47:38 +0000 (16:47 -0700)]
vp8cx: remove deprecated reference/entropy controls

VP8E_UPD_ENTROPY, VP8E_UPD_REFERENCE and VP8E_USE_REFERENCE have been
deprecated since the initial public release

Change-Id: Ied16b441eec13434d85f1ab115d49ccaf5f2f7b0

8 years agovp10: per-segment lossless coding.
Ronald S. Bultje [Mon, 12 Oct 2015 21:54:25 +0000 (17:54 -0400)]
vp10: per-segment lossless coding.

Some more testing of this patch would probably be useful, but I
think the basics of it should work fine now.

See issue 1035.

Change-Id: I4a36d58f671c5391cb09d564581784a00ed26245

8 years agovp10: add extended-intra prediction edges experiment.
Ronald S. Bultje [Mon, 12 Oct 2015 14:35:46 +0000 (10:35 -0400)]
vp10: add extended-intra prediction edges experiment.

This experiment allows using full above/right edges for all transform
sizes whenever available (for d45/d63), and adds bottom/left edges for
d207.

See issue 1043.

Change-Id: I5cf7f345e783e8539bb6b6d2c9972fb1d6d0a78b

8 years agovp10: allow MV refs to point outside visible image.
Ronald S. Bultje [Fri, 2 Oct 2015 16:09:24 +0000 (12:09 -0400)]
vp10: allow MV refs to point outside visible image.

In VP9, the ref MV had to point to a block that itself fully resided
within the visible image, i.e. all borders of the image had to be
within the visible borders of the coded frame. This is somewhat
illogical, and had obscure side effects, e.g. clamping of fairly
reasonable motion vectors such as 0,0 were clipped to negative values
if the block was overhanging on frame edges (such as the last rows
on 1080p content), which makes no sense whatsoever.

Instead, relax clamping constraints such that the ref MVs are allowed
to point to blocks exactly outside the visible edges in both Y as well
as UV planes, including the 8tap filter edges (that's why the offset is
8 pixels + block size).

See issue 1037.

Change-Id: I2683eb2a18b24955e4dcce36c2940aa2ba3a1061

8 years agovp10: allow forward updates for keyframe y intra mode probabilities.
Ronald S. Bultje [Tue, 13 Oct 2015 18:08:24 +0000 (14:08 -0400)]
vp10: allow forward updates for keyframe y intra mode probabilities.

See issue 1040 point 5.

Change-Id: I51a70b9eade39efba392a1457bd70a3c515525cb