James Zern
dee831c484
Merge changes I4a365757,I14a3b328
...
* changes:
vp10: remove unused (read|write)_uniform
vp9_denoiser: mark total_adj_strong_thresh inline
2016-02-03 00:51:42 +00:00
Alex Converse
614f0727e4
Merge "Fix a signed overflow in vp9 motion cost."
2016-02-02 21:12:49 +00:00
Paul Wilkins
e062eb16fb
Merge "Loop filter search resets on overlay frame."
2016-02-02 14:44:47 +00:00
James Zern
724ba02f1b
vp9_denoiser: mark total_adj_strong_thresh inline
...
avoids -Wunused-function warnings when INLINE is set
Change-Id: I14a3b32837d358516b7702a2fb804bec010bb5c6
2016-02-01 23:47:02 -08:00
Alex Converse
ad43a73883
Fix a signed overflow in vp9 motion cost.
...
Change-Id: I5975e3aede62202d8ee6ced33889350c0a56554a
2016-02-01 14:27:32 -08:00
Marco
734dc36173
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
2016-02-01 11:57:56 -08:00
Marco Paniconi
f51dd8c2ac
Merge "vp9 non-rd partition: Update condition on force_split for skin area."
2016-02-01 18:48:46 +00:00
Marco
9248689645
vp9 non-rd partition: Update condition on force_split for skin area.
...
Avoid low resolutions for now.
Change-Id: Ib3a7bb8716a033449b2afb216edd70897a280df9
2016-02-01 09:50:53 -08:00
Marco
dc2e97c900
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
2016-02-01 09:08:28 -08:00
Marco Paniconi
0a3593a555
Merge "vp9-noise estimate: Put check to avoid possible out of bounds."
2016-02-01 15:18:16 +00:00
Scott LaVarnway
0c60282786
Merge "VP9: Refactor read_inter_block_mode_info()"
2016-02-01 12:52:15 +00:00
Marco
9b24251c91
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
2016-01-31 22:29:51 -08:00
James Zern
8faccb709a
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
2016-01-30 00:17:16 +00:00
Scott LaVarnway
d12f87cd07
VP9: Refactor read_inter_block_mode_info()
...
Change-Id: I8e6a1a1b6eec17d0076660b559f6fc120a78c538
2016-01-29 15:30:27 -08:00
hui su
580e815f3b
Refactor prob_diff_update_savings_search_model
...
Change-Id: Icfab58e880285d5af00985dc20db2174a67d1fe8
2016-01-29 12:51:10 -08:00
Marco Paniconi
432136ef56
Merge "Fix failure with libvpx__unit_tests-multi-target"
2016-01-29 18:55:13 +00:00
Marco Paniconi
b9723c4be9
Merge "vp9-denoiser: Force increase_denoising = 0 for skin block."
2016-01-29 18:43:27 +00:00
Marco
72e3b5b2c5
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
2016-01-29 10:05:08 -08:00
Marco
c9e984a858
vp9-denoiser: Force increase_denoising = 0 for skin block.
...
Change-Id: Ic5af41db58a3daad4103175b4b4b9300675020c0
2016-01-29 08:37:02 -08:00
Zoe Liu
bca1a350c9
Merge "Cleaned code in firstpass related to altref frame"
2016-01-29 16:31:41 +00:00
Marco Paniconi
35b878ca25
Merge "vp9: encoder-breakout: Modify UV thresholds."
2016-01-29 01:19:30 +00:00
Zoe Liu
b6f1f369af
Cleaned code in firstpass related to altref frame
...
Change-Id: I6dbddf500fd4f64216774685700efea972165470
2016-01-28 16:37:17 -08:00
James Zern
4f780e94a1
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
2016-01-28 12:53:41 -08:00
Marco
1c2df9cd48
vp9: encoder-breakout: Modify UV thresholds.
...
Set UV thresholds to 0 for encoder breakout if
block is detected as skin.
Change-Id: Iaaa30b5cc8bae4cf611f8ea8eba693b730e32a3f
2016-01-28 12:12:40 -08:00
JackyChen
d1e3d0467c
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
2016-01-28 10:38:14 -08:00
Marco Paniconi
aa3fb7e1b5
Merge "vp9 non-rd mode: Modification for detected skin areas."
2016-01-28 17:01:19 +00:00
Scott LaVarnway
66129c7214
Merge "VP9: Refactor dec_build_inter_predictors_sb()"
2016-01-28 12:31:22 +00:00
Marco
b39a599cef
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
2016-01-27 17:38:58 -08:00
Hui Su
cdb141dd94
Merge "Fix some typos."
2016-01-28 01:04:50 +00:00
hui su
5afc4e4c77
Fix some typos.
...
Change-Id: I32aacd014df6c927cf2893dc096cbe6ec7604b9b
2016-01-27 16:12:49 -08:00
Marco Paniconi
ced5cea41c
Merge "vp9-aqmode=3: Limit on period for golden update."
2016-01-27 21:38:35 +00:00
Marco
fab630fac9
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
2016-01-27 12:07:49 -08:00
Alex Converse
d13385cee7
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
2016-01-27 19:34:30 +00:00
Scott LaVarnway
7203100127
VP9: Refactor dec_build_inter_predictors_sb()
...
Change-Id: I336fe2006288214977b5ee854124ee7b5bba5796
2016-01-27 07:37:59 -08:00
James Zern
fb58a84c68
vp9_noise_estimate: protect copy_frame w/CONFIG check
...
This is only used with CONFIG_VP9_TEMPORAL_DENOISING
Change-Id: I61a1814d43d71235077a2426f7bfce141677a79a
2016-01-26 20:09:36 -08:00
Alex Converse
4b2b90fed3
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
2016-01-25 12:03:50 -08:00
Zoe Liu
9e612763f0
Cleaned a code in define_gf_group() for firstpass
...
Change-Id: I0b8eff9e74e3446024482d011ec4fb28b19136d3
2016-01-25 09:38:45 -08:00
Alex Converse
27c13712c9
Merge "Short circuit flat blocks when coding screen content at realtime speed."
2016-01-23 02:04:37 +00:00
Scott LaVarnway
be916257bd
Merge "VP9: Do not set up/left available in vp9_first_pass()"
2016-01-22 21:53:26 +00:00
Alex Converse
7da6324cab
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
2016-01-22 12:40:45 -08:00
Scott LaVarnway
78fadcd063
VP9: Do not set up/left available in vp9_first_pass()
...
These values are set in set_mi_row_col()
Change-Id: Ie44c9d2dcb79797a8473b5fc29394277a7117547
2016-01-22 11:30:51 -08:00
Yaowu Xu
2ab58d812f
Fix a minor typo
...
a wrong variable.
Change-Id: I9fa02621dbdc508a12ba1ef9c8f98dbeab68e958
2016-01-22 10:57:16 -08:00
Yaowu Xu
307c84c352
Merge "Properly set segmentation for error-resilient mode"
2016-01-22 16:52:41 +00:00
Marco Paniconi
732242ab3d
Merge "vp9 pickmode: Fix the shift on negative value."
2016-01-22 00:09:27 +00:00
Marco
dbc963a42f
vp9 pickmode: Fix the shift on negative value.
...
Error only affected svc 1 pass mode, introduced in:
https://chromium-review.googlesource.com/#/c/319609/
Change-Id: Ifc078c82d38b742966a81baaf5ad532f7dbc13a4
2016-01-21 15:16:52 -08:00
Alex Converse
a61ac8e2e7
Merge "Remove the vestigal skip_eob feature from tokenization."
2016-01-21 23:11:14 +00:00
James Zern
bd4501fe28
vp9_aq_cyclicrefresh: fix double->float warning
...
Change-Id: I39d3a150de9a77967a4e25ca89d2eda51fd18d47
2016-01-21 14:07:33 -08:00
Alex Converse
4326cffa65
Merge "Tie the bit cost scale to a define."
2016-01-21 19:17:56 +00:00
Marco
a925173da0
vp9-aqmode=3: Reduce condition below which we turn off delta-qp.
...
Add TODO to consider turning-off more smoothly.
Change-Id: Id6dd4c5c515f5b09c388af965eb27dbe24924362
2016-01-20 20:26:40 -08:00
hui su
19de4d9408
Fix build with --enable-internal-stats
...
Change-Id: I9649647cc5755c8411ddd56f92e7f96d421c2663
2016-01-20 18:02:30 -08:00