]> granicus.if.org Git - libvpx/log
libvpx
8 years agoMerge "Make sub8x8 block ref mv search consistent to regular blocks" into nextgenv2
Jingning Han [Wed, 25 Nov 2015 16:47:01 +0000 (16:47 +0000)]
Merge "Make sub8x8 block ref mv search consistent to regular blocks" into nextgenv2

8 years agoMerge branch 'master' into nextgenv2
Yaowu Xu [Wed, 25 Nov 2015 13:00:05 +0000 (05:00 -0800)]
Merge branch 'master' into nextgenv2

8 years agoMake sub8x8 block ref mv search consistent to regular blocks
Jingning Han [Tue, 24 Nov 2015 17:01:19 +0000 (09:01 -0800)]
Make sub8x8 block ref mv search consistent to regular blocks

Check all motion vectors in the immediate above and left blocks if
the reference conditions matched.

Change-Id: I8bf33bfcee99e8150232c7681fdeade307024272

8 years agoMerge "vp9 denoiser: Re-evaluate ZEROMV after denoiser filtering."
Marco Paniconi [Wed, 25 Nov 2015 04:24:00 +0000 (04:24 +0000)]
Merge "vp9 denoiser: Re-evaluate ZEROMV after denoiser filtering."

8 years agoMerge "Speed up tm_predictor_8x8"
Jian Zhou [Wed, 25 Nov 2015 02:34:07 +0000 (02:34 +0000)]
Merge "Speed up tm_predictor_8x8"

8 years agoRemove a redundant argument in setup_ref_mv_list
Jingning Han [Tue, 24 Nov 2015 01:33:38 +0000 (17:33 -0800)]
Remove a redundant argument in setup_ref_mv_list

Change-Id: I215071bff55f8ba6347fa985414b40723b4986f5

8 years agoMerge "Integrate motion vector stack into codec" into nextgenv2
Jingning Han [Wed, 25 Nov 2015 02:21:53 +0000 (02:21 +0000)]
Merge "Integrate motion vector stack into codec" into nextgenv2

8 years agoMerge "configure: simplify x86 asm dependencies"
James Zern [Wed, 25 Nov 2015 02:19:47 +0000 (02:19 +0000)]
Merge "configure: simplify x86 asm dependencies"

8 years agoMerge changes Iaf8cbe95,I6748183d,I2a49811d
James Zern [Wed, 25 Nov 2015 01:48:53 +0000 (01:48 +0000)]
Merge changes Iaf8cbe95,I6748183d,I2a49811d

* changes:
  add vp9_satd_neon
  fix vp9_satd_sse2
  vp9_satd: return an int

8 years agovp9 denoiser: Re-evaluate ZEROMV after denoiser filtering.
Marco [Fri, 13 Nov 2015 23:58:42 +0000 (15:58 -0800)]
vp9 denoiser: Re-evaluate ZEROMV after denoiser filtering.

For denoising, and for noise level above threshold, re-evaluate
ZEROMV for mode selection after denoising.
Current change only does this check if selected best mode (before denoising)
was intra.

Change-Id: I4b1435b68d26c78f7597b995ee7bff0ddd5f9511

8 years agoMerge "Refactor tokenization coding tree" into nextgenv2
Jingning Han [Wed, 25 Nov 2015 01:15:05 +0000 (01:15 +0000)]
Merge "Refactor tokenization coding tree" into nextgenv2

8 years agoIntegrate motion vector stack into codec
Jingning Han [Mon, 23 Nov 2015 23:05:18 +0000 (15:05 -0800)]
Integrate motion vector stack into codec

This commit ports the motion vector stack from motion field
analyzer to the encoding and decoding pipeline.

Change-Id: Ie283c1e1a15b4c17a1c7c175ce322bf053bb7840

8 years agoMerge "Analyze motion field to produce reference motion vectors" into nextgenv2
Jingning Han [Wed, 25 Nov 2015 01:14:12 +0000 (01:14 +0000)]
Merge "Analyze motion field to produce reference motion vectors" into nextgenv2

8 years agoadd vp9_satd_neon
James Zern [Fri, 20 Nov 2015 07:39:10 +0000 (23:39 -0800)]
add vp9_satd_neon

~60-65% faster at the function level across block sizes

Change-Id: Iaf8cbe95731c43fdcbf68256e44284ba51a93893

8 years agoSpeed up tm_predictor_8x8
Jian Zhou [Fri, 20 Nov 2015 02:57:36 +0000 (18:57 -0800)]
Speed up tm_predictor_8x8

Left neighbor read from memory only once.
Speed up by ~20% in ./test_intra_pred_speed.

Change-Id: Ia1388630df6fed0dce9a6eeded6cb855bbc43505

8 years agoRefactor tokenization coding tree
Jingning Han [Fri, 20 Nov 2015 17:35:41 +0000 (09:35 -0800)]
Refactor tokenization coding tree

Expand the tokenization tree writing to support per transform block
type coding in next CLs.

Change-Id: I3560e658f89cc500eb49603f95dd2b4e99045f5b

8 years agovp9-denoiser: Fix to reset frame_stats.
Marco [Tue, 24 Nov 2015 23:56:59 +0000 (15:56 -0800)]
vp9-denoiser: Fix to reset frame_stats.

zeromv_lastref_sse was not reset.

Change-Id: I23c12e804d63dc7dc18514f6efe71de1d1acbd6a

8 years agoAnalyze motion field to produce reference motion vectors
Jingning Han [Mon, 23 Nov 2015 20:05:48 +0000 (12:05 -0800)]
Analyze motion field to produce reference motion vectors

This commit allows the codec to analyze the motion field in the
avaiable above and left neighboring area to produce a set of
reference motion vectors for each reference frame. These reference
motion vectors are ranked according to the likelihood that it will
be picked.

Change-Id: I82e6cd990a7716848bb7b6f5f2b1829966ff2483

8 years agoMerge "Reduce transform options for ext-tx experiment" into nextgenv2
Debargha Mukherjee [Tue, 24 Nov 2015 21:30:10 +0000 (21:30 +0000)]
Merge "Reduce transform options for ext-tx experiment" into nextgenv2

8 years agoMerge "Added 3 more reference frames for inter prediction." into nextgenv2
Zoe Liu [Tue, 24 Nov 2015 19:47:03 +0000 (19:47 +0000)]
Merge "Added 3 more reference frames for inter prediction." into nextgenv2

8 years agoMerge "vp9 non-rd pickmode: Fix logic in reference masking."
Marco Paniconi [Tue, 24 Nov 2015 19:14:35 +0000 (19:14 +0000)]
Merge "vp9 non-rd pickmode: Fix logic in reference masking."

8 years agoMerge "bitreader/writer: Change shift to signed"
Alex Converse [Tue, 24 Nov 2015 18:33:45 +0000 (18:33 +0000)]
Merge "bitreader/writer: Change shift to signed"

8 years agoMerge "Deduplicate some high bit depth tables"
Alex Converse [Tue, 24 Nov 2015 18:24:32 +0000 (18:24 +0000)]
Merge "Deduplicate some high bit depth tables"

8 years agovp9 non-rd pickmode: Fix logic in reference masking.
Marco [Tue, 24 Nov 2015 00:37:12 +0000 (16:37 -0800)]
vp9 non-rd pickmode: Fix logic in reference masking.

This change makes sure last reference with zero mv
is always checked for mode selection.

No change in metrics.

Change-Id: Iaf01877bf34272b966c78bfe18daad882a0a419e

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

8 years agoMerge "VPX: Removed unnecessary pmulhrsw in IDCT32X32_34"
Scott LaVarnway [Mon, 23 Nov 2015 23:37:13 +0000 (23:37 +0000)]
Merge "VPX: Removed unnecessary pmulhrsw in IDCT32X32_34"

8 years agoMerge "VP9: Only zero counts when !frame_parallel_decoding_mode (2)"
Scott LaVarnway [Mon, 23 Nov 2015 23:36:46 +0000 (23:36 +0000)]
Merge "VP9: Only zero counts when !frame_parallel_decoding_mode (2)"

8 years agoVP9: Only zero counts when !frame_parallel_decoding_mode (2)
Scott LaVarnway [Mon, 23 Nov 2015 22:42:15 +0000 (14:42 -0800)]
VP9: Only zero counts when !frame_parallel_decoding_mode (2)

The counts are never used when frame_parallel_decoding_mode
is set.

Change-Id: I293aa68abadcdd30973adacb9f5f5a3aecf8daa2

8 years agoReduce transform options for ext-tx experiment
Debargha Mukherjee [Wed, 18 Nov 2015 19:56:50 +0000 (11:56 -0800)]
Reduce transform options for ext-tx experiment

Reduces the transform optons for INTRA as well as INTER when
transform size is 16x16 to not use any of the DSTs.
Thus, a total of 10 options are used for 16x16, while 4x4
and 8x8 still uses 17 options.

derflr/hevchd actually improves a little, while hevcmr drops
a little.

About 10% speed improvement.

Change-Id: I920a182231e052cdd622f8bb67085c16c572cb1e

8 years agovp9-svc: Fix to allow setting qp-max/min per spatial and temporal layer.
Marco [Fri, 20 Nov 2015 18:12:11 +0000 (10:12 -0800)]
vp9-svc: Fix to allow setting qp-max/min per spatial and temporal layer.

Change-Id: Ic0ec32c1d7f7c08c9f956592dccbfd9060b1f624

8 years agoVPX: Removed unnecessary pmulhrsw in IDCT32X32_34
Scott LaVarnway [Mon, 23 Nov 2015 18:24:09 +0000 (10:24 -0800)]
VPX: Removed unnecessary pmulhrsw in IDCT32X32_34

and fixed macro name.

Change-Id: I306b98a2b4ec80b130ae80290b4cd9c7a5363311

8 years agoMove n8_w and n8_h out of experiment flag
Jingning Han [Mon, 23 Nov 2015 17:38:45 +0000 (09:38 -0800)]
Move n8_w and n8_h out of experiment flag

These primitive variables are commonly required by many other
experiments as well. The use of n4_w and n4_h was originally
introduced in the vp9 decoder implementation.

Change-Id: I93d701d891e3860f31150031e3b9a2b29a3993d2

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

8 years agoRevert "Speed up h_predictor_4x4"
James Zern [Sat, 21 Nov 2015 06:24:11 +0000 (22:24 -0800)]
Revert "Speed up h_predictor_4x4"

This reverts commit d76032ae87e535be5b924d9e88bbd67189380534.

breaks 32-bit builds

Change-Id: If6266ec2a405b5a21d615112f0f37e8a71193858

8 years agoMerge "Use Interlocked calls in win32 once() implementation."
James Zern [Sat, 21 Nov 2015 01:40:11 +0000 (01:40 +0000)]
Merge "Use Interlocked calls in win32 once() implementation."

8 years agoMerge "Speed up h_predictor_4x4"
James Zern [Sat, 21 Nov 2015 01:12:42 +0000 (01:12 +0000)]
Merge "Speed up h_predictor_4x4"

8 years agoAdded 3 more reference frames for inter prediction.
Zoe Liu [Thu, 12 Nov 2015 10:12:17 +0000 (02:12 -0800)]
Added 3 more reference frames for inter prediction.

Under the experiment of EXT_REFS: LAST2_FRAME, LAST3_FRAME, and
LAST4_FRAME.

Coding efficiency: derflr +1.601%; hevchr +1.895%
Speed: Encoder slowed down by ~75%

Change-Id: Ifeee5f049c2c1f7cb29bc897622ef88897082ecf

8 years agovp9 denoiser: Bias to last reference for temporal filter.
Marco [Thu, 19 Nov 2015 01:04:15 +0000 (17:04 -0800)]
vp9 denoiser: Bias to last reference for temporal filter.

Change-Id: I6a360a12e8da8cdcb8a779647512591612d64f31

8 years agofix vp9_satd_sse2
James Zern [Fri, 20 Nov 2015 04:04:16 +0000 (20:04 -0800)]
fix vp9_satd_sse2

accumulate satd in 32-bits
+ add unit test

Change-Id: I6748183df3662ddb9d635f9641f9586f2fd38ad5

8 years agovp9_satd: return an int
James Zern [Thu, 19 Nov 2015 07:17:27 +0000 (23:17 -0800)]
vp9_satd: return an int

the final sum may use up to 26 bits

+ add a unit test
+ disable the sse2 as the result will rollover; this will be fixed in a
future commit

Change-Id: I2a49811dfaa06abfd9fa1e1e65ed7cd68e4c97ce

8 years agoMerge "vp9-svc: Fix the setting of is_key_frame."
Marco Paniconi [Fri, 20 Nov 2015 18:29:15 +0000 (18:29 +0000)]
Merge "vp9-svc: Fix the setting of is_key_frame."

8 years agoMerge "Add vp10_inv_txfm2d" into nextgenv2
Angie Chiang [Fri, 20 Nov 2015 18:22:49 +0000 (18:22 +0000)]
Merge "Add vp10_inv_txfm2d" into nextgenv2

8 years agoMerge "Fix a signed shift overflow in vpx_rb_read_inv_signed_literal."
Alex Converse [Fri, 20 Nov 2015 17:42:05 +0000 (17:42 +0000)]
Merge "Fix a signed shift overflow in vpx_rb_read_inv_signed_literal."

8 years agoMerge "Fix unsigned overflow in rd_variance_adjustment."
Alex Converse [Fri, 20 Nov 2015 17:41:58 +0000 (17:41 +0000)]
Merge "Fix unsigned overflow in rd_variance_adjustment."

8 years agovp9-svc: Fix the setting of is_key_frame.
Marco [Fri, 20 Nov 2015 16:44:19 +0000 (08:44 -0800)]
vp9-svc: Fix the setting of is_key_frame.

Change on affects 1 pass CBR.
On key frame, temporal layer_id is reset to 0 for 1 pass CBR,
but since "layer" is reset, the svc.layer_context[layer].is_key_frame
was not correspondingly set properly.

Change-Id: I08f6da0a55ac7429ccfbaddfb7be14479e43543b

8 years agoMerge "VPX: x86 asm version of vpx_idct32x32_34_add()"
Scott LaVarnway [Fri, 20 Nov 2015 15:11:00 +0000 (15:11 +0000)]
Merge "VPX: x86 asm version of vpx_idct32x32_34_add()"

8 years agoMerge branch 'master' into nextgenv2
Yaowu Xu [Fri, 20 Nov 2015 13:00:05 +0000 (05:00 -0800)]
Merge branch 'master' into nextgenv2

8 years agobitreader/writer: Change shift to signed
Alex Converse [Thu, 19 Nov 2015 23:07:55 +0000 (15:07 -0800)]
bitreader/writer: Change shift to signed

Silences several legal but suspicious unsigned overflows found with
clang -fsanitize=integer.

Change-Id: I69399751492a183167932b0a10751c433c32ca7b

8 years agoFix a signed shift overflow in vpx_rb_read_inv_signed_literal.
Alex Converse [Thu, 19 Nov 2015 23:04:20 +0000 (15:04 -0800)]
Fix a signed shift overflow in vpx_rb_read_inv_signed_literal.

Found with clang -fsanitize=integer

Change-Id: I17cb2166c06ff463abfaf9b0e6bc749d0d6fdf94

8 years agoMerge "Add ref-mv experiment flag" into nextgenv2
Jingning Han [Thu, 19 Nov 2015 23:01:54 +0000 (23:01 +0000)]
Merge "Add ref-mv experiment flag" into nextgenv2

8 years agoFix unsigned overflow in rd_variance_adjustment.
Alex Converse [Thu, 19 Nov 2015 22:53:51 +0000 (14:53 -0800)]
Fix unsigned overflow in rd_variance_adjustment.

Found with clang -fsanitize=integer

Change-Id: I2538e7483cb2d5f06bceecbd3326bdd88bfecfa1

8 years agoMerge "Turn off tx type selection for intra blocks by default" into nextgenv2
Hui Su [Thu, 19 Nov 2015 19:50:57 +0000 (19:50 +0000)]
Merge "Turn off tx type selection for intra blocks by default" into nextgenv2

8 years agoAdd ref-mv experiment flag
Jingning Han [Thu, 19 Nov 2015 19:40:56 +0000 (11:40 -0800)]
Add ref-mv experiment flag

Change-Id: Ie2101e362aeb01681313adf67596bc6b479e873e

8 years agoSpeed up h_predictor_4x4
Jian Zhou [Thu, 19 Nov 2015 19:34:22 +0000 (11:34 -0800)]
Speed up h_predictor_4x4

Modify h_predictor_4x4 with XMM registers.
Speed up by ~25% in ./test_intra_pred_speed.

Change-Id: Id01c34c48e75b9d56dfc2e93af12cf0c0326a279

8 years agoMerge "Changes to best quality settings."
Paul Wilkins [Thu, 19 Nov 2015 16:13:43 +0000 (16:13 +0000)]
Merge "Changes to best quality settings."

8 years agoMerge branch 'master' into nextgenv2
Yaowu Xu [Thu, 19 Nov 2015 13:00:06 +0000 (05:00 -0800)]
Merge branch 'master' into nextgenv2

8 years agoTurn off tx type selection for intra blocks by default
hui su [Wed, 18 Nov 2015 19:24:26 +0000 (11:24 -0800)]
Turn off tx type selection for intra blocks by default

Coding gain on derflr drops to +1.83%.

Change-Id: If68c429f09422a70513d9f1e8e36e10c928e034a

8 years agoMerge "Speed up tm_predictor_4x4"
Jian Zhou [Thu, 19 Nov 2015 02:32:48 +0000 (02:32 +0000)]
Merge "Speed up  tm_predictor_4x4"

8 years agoSpeed up tm_predictor_4x4
Jian Zhou [Sat, 14 Nov 2015 02:42:48 +0000 (18:42 -0800)]
Speed up  tm_predictor_4x4

tm_predictor_4x4 is implemented with SSE2 using XMM registers.
Speed up by ~25% in ./test_intra_pred_speed.

Change-Id: I25074b78d476a2cb17f81cf654bdfd80df2070e0

8 years agovp9-svc: Fix to key frame counter for spatial layers.
Marco [Wed, 18 Nov 2015 22:29:25 +0000 (14:29 -0800)]
vp9-svc: Fix to key frame counter for spatial layers.

Existing condition only applied to temporal layers.

Change-Id: Icef20a59d0afc61d4e14dea01aff4786fa9e41ae

8 years agoMerge branch 'master' into nextgenv2
Yaowu Xu [Wed, 18 Nov 2015 13:00:05 +0000 (05:00 -0800)]
Merge branch 'master' into nextgenv2

8 years agoMerge "Changes to exhaustive motion search."
Paul Wilkins [Wed, 18 Nov 2015 11:10:13 +0000 (11:10 +0000)]
Merge "Changes to exhaustive motion search."

8 years agoAdd vp10_inv_txfm2d
Angie Chiang [Fri, 6 Nov 2015 19:15:54 +0000 (11:15 -0800)]
Add vp10_inv_txfm2d

Change-Id: Ib63062a52c688e65bae5eb0052ce69d73d96c9c5

8 years agoVPX: x86 asm version of vpx_idct32x32_34_add()
Scott LaVarnway [Wed, 18 Nov 2015 01:42:24 +0000 (17:42 -0800)]
VPX: x86 asm version of vpx_idct32x32_34_add()

Change-Id: Ic81f38998fb1b8d33f5a5d7424c2c41002786cef

8 years agoMerge "Merge MISC_FIXES" into nextgenv2
Hui Su [Wed, 18 Nov 2015 01:08:21 +0000 (01:08 +0000)]
Merge "Merge MISC_FIXES" into nextgenv2

8 years agoconfigure: simplify x86 asm dependencies
James Zern [Wed, 18 Nov 2015 00:14:05 +0000 (16:14 -0800)]
configure: simplify x86 asm dependencies

--disable-XXX has the effect of disabling all extensions above it, e.g.,
--disable-ssse3 disables ssse3-avx2.

Change-Id: If02b44ca71ee12e4acb12010db8593a7989f2a9d

8 years agoMerge MISC_FIXES
hui su [Tue, 17 Nov 2015 00:58:15 +0000 (16:58 -0800)]
Merge MISC_FIXES

Remove MISC_FIXES flags except for the changes on MV precision, which
has a 0.1% performance drop.

On derflr, the impact is -0.012%.

Change-Id: I0a74e5a212dd0cb827192a318c92a714c9681e45

8 years agoFixed a few sanity checks.
Zoe Liu [Tue, 10 Nov 2015 01:21:11 +0000 (17:21 -0800)]
Fixed a few sanity checks.

Change-Id: Ieec4a7be5945dc6de192e2d8292ab978baf47f53
(cherry picked from commit 2096296421c7fa56abb49470c0fbe7c4337b8a71)

8 years agoFix some unused variable warnings
hui su [Tue, 17 Nov 2015 18:40:25 +0000 (10:40 -0800)]
Fix some unused variable warnings

Change-Id: Ia7680ddf00dd50dd66bbb5753bae30b937988800

8 years agoChanges to best quality settings.
paulwilkins [Tue, 17 Nov 2015 16:20:20 +0000 (16:20 +0000)]
Changes to best quality settings.

Small changes to the best quality default speed trade off.
Some speedup settings are worth while even for best quality as they
have only a very small impact on quality but a significant impact on
encode time.

These changes give as much as a further 50-60% increase in encode
speed for my test animations clip with minimal impact on quality.

For this sequence these changes improve the best quality encode  speed
to about the same level as good quality speed 0 in Q3 2015 whilst
retaining the large quality gain of over 1 db

For many natural videos though the quality difference from good 0
to best is much smaller.

Change-Id: I28b3840009d77e129817a78a7c41e29cb03e1132

8 years agoMerge "Limit the reset range of inter_tx_size array" into nextgenv2
Jingning Han [Mon, 16 Nov 2015 16:58:08 +0000 (16:58 +0000)]
Merge "Limit the reset range of inter_tx_size array" into nextgenv2

8 years agoMerge "Alternate reference frame" into nextgenv2
Jingning Han [Mon, 16 Nov 2015 16:04:14 +0000 (16:04 +0000)]
Merge "Alternate reference frame" into nextgenv2

8 years agoLimit the reset range of inter_tx_size array
Jingning Han [Mon, 16 Nov 2015 04:52:51 +0000 (20:52 -0800)]
Limit the reset range of inter_tx_size array

Reset the effective range of inter_tx_size, instead of the entire
array in the rate-distortion optimization loop.

Change-Id: Id453fbd6dddfe69f4e451ba8518c083326d5dd53

8 years agoMerge branch 'master' into nextgenv2
Yaowu Xu [Sat, 14 Nov 2015 13:00:06 +0000 (05:00 -0800)]
Merge branch 'master' into nextgenv2

8 years agoEnable resize test(down&up) by changing the bitrate.
jackychen [Sat, 14 Nov 2015 00:02:43 +0000 (16:02 -0800)]
Enable resize test(down&up) by changing the bitrate.

Change-Id: I5a4f1f7b9de20fbfc28cb743dcd29c0eeca736f8

8 years agoMerge "Adding experiment for supertransform" into nextgenv2
Debargha Mukherjee [Fri, 13 Nov 2015 23:50:21 +0000 (23:50 +0000)]
Merge "Adding experiment for supertransform" into nextgenv2

8 years agoMerge "refactor ext-intra" into nextgenv2
Hui Su [Fri, 13 Nov 2015 21:19:27 +0000 (21:19 +0000)]
Merge "refactor ext-intra" into nextgenv2

8 years agoUse Interlocked calls in win32 once() implementation.
Ralph Giles [Fri, 13 Nov 2015 20:56:34 +0000 (12:56 -0800)]
Use Interlocked calls in win32 once() implementation.

This is simpler than the previous scheme, which tried to allocate
the CRITICAL_SECTION struct in a thread-safe manner before it
could use it to run the wrapped function in a thread-safe manner.

Change-Id: I172e5544e5f16403a3a0e5e2b9104b1292a0d786

8 years agorefactor ext-intra
hui su [Tue, 10 Nov 2015 20:09:59 +0000 (12:09 -0800)]
refactor ext-intra

Coding gain remains about the same, while overall speed is
substantially increased.

Change-Id: I2989bebcfd21092cd6a02653d4df4a3bf6780874

8 years agoAdding experiment for supertransform
Debargha Mukherjee [Fri, 13 Nov 2015 19:32:17 +0000 (11:32 -0800)]
Adding experiment for supertransform

Change-Id: Ie43027f7d46c43df137fd4a7f731ff6ccb78fcee

8 years agoReduce sampling time for noise estimate.
Marco [Fri, 13 Nov 2015 16:09:17 +0000 (08:09 -0800)]
Reduce sampling time for noise estimate.

Change-Id: I46abd85e2187b8f4c2846416a23fab26d9b9f67d

8 years agoFix resize internal test.
Marco [Fri, 13 Nov 2015 14:20:41 +0000 (06:20 -0800)]
Fix resize internal test.

Temporary fix to make sure it always passes.

Change-Id: I56a0529986ad7049b6090f871c14e9e06d573d5f

8 years agoMerge "VP9 noise estimation: add frame level motion metrics and adjust thresholds."
Marco Paniconi [Fri, 13 Nov 2015 14:09:19 +0000 (14:09 +0000)]
Merge "VP9 noise estimation: add frame level motion metrics and adjust thresholds."

8 years agoMerge branch 'master' into nextgenv2
Yaowu Xu [Fri, 13 Nov 2015 13:00:05 +0000 (05:00 -0800)]
Merge branch 'master' into nextgenv2

8 years agoChanges to exhaustive motion search.
paulwilkins [Wed, 14 Oct 2015 09:38:49 +0000 (10:38 +0100)]
Changes to exhaustive motion search.

This change alters the nature and use of exhaustive motion search.

Firstly any exhaustive search is preceded by a normal step search.
The exhaustive search is only carried out if the distortion resulting
from the step search is above a threshold value.

Secondly the simple +/- 64 exhaustive search is replaced by a
multi stage mesh based search where each stage has a range
and step/interval size. Subsequent stages use the best position from
the previous stage as the center of the search but use a reduced range
and interval size.

For example:
  stage 1: Range +/- 64 interval 4
  stage 2: Range +/- 32 interval 2
  stage 3: Range +/- 15 interval 1

This process, especially when it follows on from a normal step
search, has shown itself to be almost as effective as a full range
exhaustive search with step 1 but greatly lowers the computational
complexity such that it can be used in some cases for speeds 0-2.

This patch also removes a double exhaustive search for sub 8x8 blocks
which also contained  a bug (the two searches used different distortion
metrics).

For best quality in my test animation sequence this patch has almost
no impact on quality but improves encode speed by more than 5X.

Restricted use in good quality speeds 0-2 yields significant quality gains
on the animation test of 0.2 - 0.5 db with only a small impact on encode
speed. On most clips though the quality gain and speed impact are small.

Change-Id: Id22967a840e996e1db273f6ac4ff03f4f52d49aa

8 years agoVP9 noise estimation: add frame level motion metrics and adjust thresholds.
JackyChen [Fri, 13 Nov 2015 02:36:17 +0000 (18:36 -0800)]
VP9 noise estimation: add frame level motion metrics and adjust thresholds.

Change-Id: Ia1aba00603b32cee6835951d3d8f740937cf20f4

8 years agoMerge "libs.mk, testdata: rm redundant test of LIBVPX_TEST_DATA"
James Zern [Fri, 13 Nov 2015 06:49:00 +0000 (06:49 +0000)]
Merge "libs.mk, testdata: rm redundant test of LIBVPX_TEST_DATA"

8 years agoMerge "Add AVX vectorized vp9_diamond_search_sad"
James Zern [Fri, 13 Nov 2015 06:29:20 +0000 (06:29 +0000)]
Merge "Add AVX vectorized vp9_diamond_search_sad"

8 years agoMerge "Fixed a few sanity checks." into nextgenv2
Zoe Liu [Fri, 13 Nov 2015 04:55:54 +0000 (04:55 +0000)]
Merge "Fixed a few sanity checks." into nextgenv2

8 years agoAdjust variance threshold for 16x16 split at low resolutions.
Marco [Fri, 13 Nov 2015 00:52:45 +0000 (16:52 -0800)]
Adjust variance threshold for 16x16 split at low resolutions.

Change-Id: I635e37f81237e9703d7d9a11ed76a043f4ec6eb0

8 years agoRevert "Update to noise estimation."
Marco Paniconi [Fri, 13 Nov 2015 00:13:32 +0000 (00:13 +0000)]
Revert "Update to noise estimation."

This reverts commit 6b79a1e3e0dfc265f43445b8181aa95e1c02deac.

Change-Id: I5a4923ca8a6de842855ce0725e92567ccbed6fb7

8 years agoMerge changes Ifafbd497,I042bba27,Id6fd8558,Id5b79519 into nextgenv2
Angie Chiang [Thu, 12 Nov 2015 23:38:44 +0000 (23:38 +0000)]
Merge changes Ifafbd497,I042bba27,Id6fd8558,Id5b79519 into nextgenv2

* changes:
  Add adst_dct config to vp10_inv_txfm2d_cfg
  Add adst_adst config to vp10_inv_txfm2d_cfg
  Add dct_adst config to vp10_inv_txfm2d_cfg
  Add dct_dct config to vp10_inv_txfm2d_cfg

8 years agoAlternate reference frame
Jingning Han [Fri, 30 Oct 2015 04:33:03 +0000 (21:33 -0700)]
Alternate reference frame

This commit re-designs the alternate reference frame generation
process. It employs non-local mean approach to produce more stable
pixel estimation for alternate reference frame. It improves the
compression performance gains:
derf   0.5%
hevcmr 0.8%
stdhd  1.3%
hevchr 1.0%

The encoding time at speed 0 is not affected.

Change-Id: Iaa757f0da189ce93812d69617a81bf630d449848

8 years agoUpdate to noise estimation.
Marco [Thu, 12 Nov 2015 17:06:12 +0000 (09:06 -0800)]
Update to noise estimation.

Add frame level global check and adjust some parameters.

Change-Id: I42103394f2d329781195d94ce6cbb5b3383eea17

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

8 years agoMerge "Non-rd partition: reduce variance threshold low resolutions."
Marco Paniconi [Thu, 12 Nov 2015 06:08:38 +0000 (06:08 +0000)]
Merge "Non-rd partition: reduce variance threshold low resolutions."

8 years agoMerge "Adjust varianace threshold for high noise condition."
Marco Paniconi [Thu, 12 Nov 2015 06:06:51 +0000 (06:06 +0000)]
Merge "Adjust varianace threshold for high noise condition."

8 years agoAdjust motion threshold to limit cyclic refresh.
Marco [Thu, 12 Nov 2015 02:21:20 +0000 (18:21 -0800)]
Adjust motion threshold to limit cyclic refresh.

Change-Id: Icfca27a567eb8929c312c6315856ee130d982a04

8 years agoAdjust varianace threshold for high noise condition.
Marco [Thu, 12 Nov 2015 02:05:11 +0000 (18:05 -0800)]
Adjust varianace threshold for high noise condition.

Change-Id: I91c722e480328ff95b8c57614d8176ccaceb2539

8 years agoAdd adst_dct config to vp10_inv_txfm2d_cfg
Angie Chiang [Fri, 6 Nov 2015 19:06:04 +0000 (11:06 -0800)]
Add adst_dct config to vp10_inv_txfm2d_cfg

Change-Id: Ifafbd4974be44685ab2550ed159dbf0411b6f031