Marco Paniconi [Thu, 18 Apr 2019 22:40:19 +0000 (15:40 -0700)]
vp9-rtc: Use correct plane for UV in estimate_intra
For nonrd-pickmode: some PSNR increase observed on
screen content/scroll clips.
Change-Id: Idf1bce9dd434e33d7c35dbeb59e02e2e58ea1aaa
Angie Chiang [Wed, 17 Apr 2019 01:49:56 +0000 (01:49 +0000)]
Merge "Refine vp9_kmeans()"
Marco Paniconi [Tue, 16 Apr 2019 21:44:34 +0000 (21:44 +0000)]
Merge "vp9-rtc: Add speed feature to force SMOOTH filter"
Angie Chiang [Tue, 16 Apr 2019 18:31:44 +0000 (11:31 -0700)]
Refine vp9_kmeans()
Reduce the number of group_idx initialization.
Initialize the center to the median of the data group.
Change-Id: Ie16150610480bf54a6b5e2bc048ba1e940bef10f
Marco Paniconi [Tue, 16 Apr 2019 17:00:53 +0000 (10:00 -0700)]
vp9-rtc: Add speed feature to force SMOOTH filter
Add speed feature for real-time to always force
SMOOTH filter for subpel motion. Can be useful in some
cases for noisy content or high motion at low bitrate.
Also some speedup in avoiding the checking of two filters.
Keep it off always for now.
Change-Id: I843d79aaddef75f9c6ded60906cc75c279a6e37a
Jingning Han [Tue, 16 Apr 2019 16:15:52 +0000 (16:15 +0000)]
Merge "Use uniform sampling as initial centers for k-means"
sdeng [Tue, 16 Apr 2019 00:55:01 +0000 (17:55 -0700)]
Fix libvpx__nightly_optimization-levels - Build Failing
This CL removes the extra floating math in tune=psnr, I will add
clear_system_state calls in tune=ssim in the next cl.
Change-Id: I7cdd4854b2b8e7e7f872f097c5535f10c80cfe0d
James Zern [Sun, 14 Apr 2019 00:21:50 +0000 (00:21 +0000)]
Merge "loop_filter_rows_mt: unify worker count calculation"
sdeng [Thu, 11 Apr 2019 21:49:51 +0000 (14:49 -0700)]
Add Tune for SSIM for high bitdepth encoding
midres_bd10 test results:
avg_psnr ssim ms_ssim
3.189 -4.083 -5.258
Change-Id: I9faccc02f34692fc304d82241390f92267f5a72c
Sai Deng [Sat, 13 Apr 2019 17:47:46 +0000 (17:47 +0000)]
Merge "Add Tune for SSIM"
James Zern [Sun, 7 Apr 2019 00:07:13 +0000 (17:07 -0700)]
loop_filter_rows_mt: unify worker count calculation
fixes a deadlock with an odd number of threads that go from < number of
tiles to >. the previous calculations were out of sync so going from
e.g., 8 tiles to 2 with 3 threads would result in scheduling only 2
workers, but thread_loop_filter_rows() would expect 3.
BUG=webm:1618
Change-Id: I78c967a8c3c927d929e13c949808a5ef443ebacb
Jingning Han [Fri, 12 Apr 2019 22:59:51 +0000 (15:59 -0700)]
Use uniform sampling as initial centers for k-means
The Wiener variance output has been sorted prior to the clustering,
which allows to directly use the uniform sampling as the initial
center points. It avoids empty cluster situations when the samples
are heavily distributed at two far ends and leave the middle empty.
Change-Id: I159fbfa6bbb4aafd19411fd005666d144cca30fc
sdeng [Fri, 29 Mar 2019 16:18:56 +0000 (09:18 -0700)]
Add Tune for SSIM
Implementation with some tuning of the paper:
C. Yeo, H. L. Tan, and Y. H. Tan, "On rate distortion optimization using
SSIM," Circuits and Systems for Video Technology, IEEE Transactions on,
vol. 23, no. 7, pp. 1170-1181, 2013.
Test results:
avg_psnr ssim ms-ssim
lowres 2.516 -2.622 -2.450
midres 2.312 -3.062 -3.882
hdres 2.292 -4.293 -5.246
The encoding time is about the same as the baseline.
Change-Id: Ida2c380ade79b6c15cf12b88bf090069da8765d8
Jingning Han [Fri, 12 Apr 2019 17:25:19 +0000 (10:25 -0700)]
Use qsort to find median value
The list is short enough to use qsort.
Change-Id: I5bb1f2c43eec508bafaf4d1ad7c8a92441f066ce
James Zern [Fri, 12 Apr 2019 05:58:12 +0000 (05:58 +0000)]
Merge "update libwebm to libwebm-1.0.0.27-358-gdbf1d10"
kyslov [Thu, 11 Apr 2019 23:11:34 +0000 (16:11 -0700)]
Fix static analysis warnings
With switching to clang-7.0.1 we got new warnings. With this change the
warnings are back to 0 for all configurations (excluding warnings in
third_party)
BUG=webm:1616
Change-Id: I25ceb592c425394e8f14d333fb5680144f892213
Jerome Jiang [Thu, 11 Apr 2019 20:00:55 +0000 (20:00 +0000)]
Merge "vp9 svc test: test KSVC and other inter layer pred mode."
Jerome Jiang [Thu, 11 Apr 2019 17:38:08 +0000 (10:38 -0700)]
vp9 svc test: test KSVC and other inter layer pred mode.
Change-Id: I6214eb63737f67bf41753f0705047e0682f3dc70
Angie Chiang [Thu, 11 Apr 2019 17:25:40 +0000 (17:25 +0000)]
Merge "Use log-based sse in eval_mv_mode"
Marco Paniconi [Thu, 11 Apr 2019 04:34:36 +0000 (21:34 -0700)]
vp9-rtc: Fix to re-eval zero-mv for denoising
Change-Id: I3bb0646661efa06c8d1d688c746e41855c99f408
Angie Chiang [Thu, 11 Apr 2019 01:31:41 +0000 (01:31 +0000)]
Merge changes I9d315e35,Id48f2b65,I4e5ed327
* changes:
Print mv_mode counts
Adjust the probs in get_mv_mode_cost
Add build_inter_mode_cost()
Angie Chiang [Fri, 5 Apr 2019 01:09:40 +0000 (18:09 -0700)]
Use log-based sse in eval_mv_mode
Up to this point, non_greedy_mv's BDRate change
lowres -0.397%
midres -0.776%
hdres -0.637%
Change-Id: I5eb2f03d067d172350dad6ba9a9f4dffef5143cd
Jerome Jiang [Wed, 10 Apr 2019 21:13:56 +0000 (21:13 +0000)]
Merge "vp9 rtc: change PSNR thresh."
Jerome Jiang [Wed, 10 Apr 2019 21:13:46 +0000 (21:13 +0000)]
Merge "Revert "Disable mismatch check on vp9 svc examples.""
James Zern [Wed, 10 Apr 2019 01:37:44 +0000 (18:37 -0700)]
update libwebm to libwebm-1.0.0.27-358-gdbf1d10
changelog:
https://chromium.googlesource.com/webm/libwebm/+log/libwebm-1.0.0.27-351-g9f23fbc..libwebm-1.0.0.27-358-gdbf1d10
Change-Id: I28a6b3ae02a53fb1f2029eee11e9449afb94c8e3
Jerome Jiang [Wed, 10 Apr 2019 17:29:23 +0000 (10:29 -0700)]
Revert "Disable mismatch check on vp9 svc examples."
This reverts commit
a1857812ea6a727d9bda91b852f7b8a9f506ac3f.
Change-Id: Ib33f49af7631c9a6917539a58c447624df325f7f
Jerome Jiang [Wed, 10 Apr 2019 17:04:15 +0000 (10:04 -0700)]
vp9 rtc: change PSNR thresh.
Change-Id: I07ccc48c76d9871ae01b56ce432f9a6661fb47b9
Marco Paniconi [Wed, 10 Apr 2019 16:45:00 +0000 (09:45 -0700)]
vp9-rtc: Adjust cb_pred_filter_search on speed & resoln
Avoid some increase in encode time for higher resoln.
Change-Id: I2b3b745f914f986df18fcde570cdc5bc99806f97
Marco Paniconi [Mon, 8 Apr 2019 21:29:40 +0000 (14:29 -0700)]
vp9-rtc: Speed feature for filter_search in nonrd_pickmode.
Use chessboard search only for certain speeds/resolns
(speed >= 8) for real-time speed features.
Disable chessboard search for speeds <= 7.
~2.5 gain on rtc set for speed 7.
~1% slowdown.
Change-Id: Ic6898aa475817e128154f691413c73f65306e2a8
Marco Paniconi [Wed, 10 Apr 2019 03:56:04 +0000 (03:56 +0000)]
Merge "vp9-rtc: Fix to rate cost for switchable filter"
Marco Paniconi [Mon, 8 Apr 2019 21:21:41 +0000 (14:21 -0700)]
vp9-rtc: Fix to rate cost for switchable filter
Add consistent switchable rate cost, which should be only
when non-integer motion mode is tested.
Neutal/negligible change in metrics.
Also diable the re-evaluation of ZEROMV mode after denoising
feature, as this rate cost fix exposed an exsting issue
with this feature.
Change-Id: I9e5479281810a392b9a409e238c564b2def8e546
Angie Chiang [Thu, 4 Apr 2019 21:44:09 +0000 (14:44 -0700)]
Print mv_mode counts
Change-Id: I9d315e359e384dc0295c3471d8179bd828fddc1b
Angie Chiang [Wed, 3 Apr 2019 18:46:09 +0000 (11:46 -0700)]
Adjust the probs in get_mv_mode_cost
midres's performance is improved by 0.08%
hdres's performance is improved by 0.04%
Change-Id: Id48f2b654d8ae1909fcb6d21eda8bfb69087a18a
Angie Chiang [Fri, 8 Mar 2019 03:45:51 +0000 (19:45 -0800)]
Add build_inter_mode_cost()
Change-Id: I4e5ed327e39cef1dd8c1a8f55fcbe90a5181814d
“Michael [Tue, 9 Apr 2019 21:28:06 +0000 (16:28 -0500)]
Add fast-adapt mechanism for VNR
Change-Id: Ia1d9cde418cc981ee08dc94a2e375d6cb4542250
Marco Paniconi [Tue, 9 Apr 2019 16:56:24 +0000 (09:56 -0700)]
vp9-rtc: Fix to active_best for non-SVC
For 1 pass CBR non-SVC encoding, on golden refresh:
condition lower/boosted active_best_quality setting
only if gf_cbr_boost_pct is set.
Reduces overshoot for hard clips.
Neutral change on rtc metrics.
Change-Id: I10f7e27767a3f80d63958a7e137155f7bc20504b
Paul Wilkins [Tue, 9 Apr 2019 13:37:33 +0000 (13:37 +0000)]
Merge "Film Mode: Bias based on sub block energy."
Paul Wilkins [Tue, 9 Apr 2019 13:37:09 +0000 (13:37 +0000)]
Merge "Film mode: Raise threshold for intra modes"
Paul Wilkins [Tue, 2 Apr 2019 15:38:49 +0000 (16:38 +0100)]
Film Mode: Bias based on sub block energy.
Apply a bias for film mode against intra coding
(especially DC_PRED) and compound modes if the sub
blocks of the current block have significantly different
variance in the source.
Change-Id: Iac1fc0510141be5c472a0ec57567bab3d2fc4164
Jingning Han [Sat, 6 Apr 2019 16:36:32 +0000 (16:36 +0000)]
Merge "Allow macroblock_plane to have its own rounding buffer"
sdeng [Fri, 5 Apr 2019 16:30:46 +0000 (09:30 -0700)]
tiny_ssim: Fix an 'Uninitialized argument value' bug
found by clang-7.0.1 static analysis.
BUG=webm:1616
Change-Id: I2f7d1376e82e35227ad96d34417014ce5680ad96
Sai Deng [Sat, 6 Apr 2019 02:54:25 +0000 (02:54 +0000)]
Merge "tiny_ssim: Fix an 'Uninitialized argument value' bug"
James Zern [Sat, 6 Apr 2019 00:32:46 +0000 (00:32 +0000)]
Merge "vp8cx.h: s/VP8E_(SET_MAX_INTER_BITRATE_PCT)/VP9E_$1/"
James Zern [Sat, 6 Apr 2019 00:32:11 +0000 (00:32 +0000)]
Merge "svc_encodeframe: check strdup return"
James Zern [Fri, 5 Apr 2019 22:03:35 +0000 (15:03 -0700)]
svc_encodeframe: check strdup return
BUG=webm:1616
Change-Id: Ic9de589154485ad2de30b0b044991e1f9b852d74
sdeng [Thu, 4 Apr 2019 21:10:19 +0000 (14:10 -0700)]
tiny_ssim: Fix an 'Uninitialized argument value' bug
found by clang-7.0.1 static analysis.
BUG=webm:1616
Change-Id: I7fb318aa7d4c8dd0a96bb20c6f8706ca1a632696
James Zern [Mon, 1 Apr 2019 21:54:44 +0000 (14:54 -0700)]
vp8_rd_pick_inter_mode: clear static analysis warning
uv_intra_rate is undefined by default, it is safe to use if
uv_intra_done is true.
BUG=webm:1616
Change-Id: I02e5f6c9e5cc6ed0b41619b4a59e55ea398bad41
Frank Galligan [Tue, 26 Mar 2019 06:48:04 +0000 (23:48 -0700)]
Add a test to test rollover of int64 in encoder interface.
The current libvpx encoder interface can potentially rollover an int64_t
value used to calculate the current timestamp. If the timebase was set
to microseconds and first timestamp was 0, then the rollover would
occur in about 10.675 days.
BUG=webm:701
Change-Id: I8d5aab46f8dcf250c1d4d43d5f3d27363c19cd54
Jerome Jiang [Thu, 4 Apr 2019 16:53:23 +0000 (16:53 +0000)]
Merge "vp9 svc: point ref to last when not used in KSVC."
Jingning Han [Wed, 3 Apr 2019 23:46:07 +0000 (16:46 -0700)]
Bypass skip check in tune for sharpness mode
The sharpness mode is enabled for hvc visual quality. Bypass the
skip block check that could potentially force all zero block in
sharpness mode. This resolves the patchy blockiness issue raised
in the 4K SDR HVC encode.
Change-Id: I0538a1b774b80c6b0899c921e80edecd4a440d5c
James Zern [Thu, 4 Apr 2019 01:09:32 +0000 (18:09 -0700)]
vp8cx.h: s/VP8E_(SET_MAX_INTER_BITRATE_PCT)/VP9E_$1/
this was renamed in:
268f10669 Provide information on codec controls
but the corresponding type checked control call was missed.
Change-Id: I151cb42516b10e551b31273327de4ec1bac3c81b
Jerome Jiang [Wed, 3 Apr 2019 19:36:44 +0000 (12:36 -0700)]
vp9 svc: point ref to last when not used in KSVC.
Change-Id: Ia648a2221890dae5357ec8e64a8431fb0f77f2fc
Michael Horowitz [Wed, 3 Apr 2019 22:18:55 +0000 (22:18 +0000)]
Merge "Histogram-based noise estimation algorithm"
Jerome Jiang [Wed, 3 Apr 2019 21:27:48 +0000 (21:27 +0000)]
Merge "use 64bit integer for memory offset."
Michael Horowitz [Wed, 3 Apr 2019 18:41:37 +0000 (13:41 -0500)]
Histogram-based noise estimation algorithm
Histogram-based noise estimation algorithm leveraged that low-noise sequences
tend to populate lower-valued histogram bins and high-noise sequences tend to
populate higher-valued histogram bins in a predictable/repeatable manner. The
algorithm compensates for histogram flattening and skewing toward zero as the
scene darkens.
Change-Id: Ia5acb611f0cc6d726280bd5ea5f45d42ff0dc2dd
Marco Paniconi [Tue, 2 Apr 2019 18:01:26 +0000 (18:01 +0000)]
Merge "vp9-rtc: Move noise estimation to after scene change detection"
Jerome Jiang [Tue, 2 Apr 2019 17:06:20 +0000 (10:06 -0700)]
use 64bit integer for memory offset.
Change-Id: I3d27286202e26ceecf4e551732b7d536d224d920
Marco Paniconi [Mon, 1 Apr 2019 21:18:54 +0000 (14:18 -0700)]
vp9-rtc: Move noise estimation to after scene change detection
This allows to use result from scene chage detection to exclude
the current frame from noise estimation analysis if the frame has
scene/ big content change (i.e., high_source_sad flag is set).
The behavior change for noise estimation may be small in practice,
since in the current code, a scene change would have blocks excluded
due to thresh_sum_diff, and the subsequent frames would also be mostly
excluded due to (past) non-zero motion vectors (until the
consec_zeromv > thresh_consec_zeromv is satisfied again).
But its better to completely exclude current frame if its a scene change.
Change-Id: Icd08bab7a8e1b994c7accced89697e0b2d7f50c5
Marco Paniconi [Fri, 29 Mar 2019 22:18:14 +0000 (15:18 -0700)]
vp9-rtc: Speed feature changes for speed 9.
Add threshold multipler for variance partitioning
as speed feature, and increase it by 2x for speed >= 9
for resoln >= VGA. Also only allow simple_interpol
filter when avg_low_motion is below threshold.
Better tradeoff of speed/quality comparing to speed 8.
Change-Id: I6bd29ad3cced470b32d04f60771120531112a5d9
Paul Wilkins [Tue, 2 Apr 2019 15:31:33 +0000 (16:31 +0100)]
Film mode: Raise threshold for intra modes
Substantially increase the threshold for applying variance
adjustment in rd_variance_adjustment() for intra modes
only, especially for DC_PRED.
Change-Id: Idb3f0c5aca5ab58c9b79c3e993247719054d79c9
Paul Wilkins [Tue, 2 Apr 2019 12:00:03 +0000 (12:00 +0000)]
Merge changes Ied3992f4,I83ca669b,I8f1c1a29
* changes:
Further Adjustments to film mode bias.
Add GF group noise weighting in rd_variance_adjustment()
Adjustment to low variance block bias in rd_variance_adjustment()
Paul Wilkins [Tue, 2 Apr 2019 09:39:59 +0000 (09:39 +0000)]
Merge "Change to thresholding in rd_variance_adjustment()"
Jingning Han [Mon, 25 Mar 2019 22:35:35 +0000 (15:35 -0700)]
Allow macroblock_plane to have its own rounding buffer
Add 8 bytes buffer to macroblock_plane to support rounding factor.
Change-Id: I3751689e4449c0caea28d3acf6cd17d7f39508ed
James Zern [Mon, 1 Apr 2019 19:03:22 +0000 (12:03 -0700)]
tool/set_analyzer_env: disable implicit-integer-truncation
with clang-7 this causes additional warnings in x86 intrinsics and
elsewhere. disabling for now to unblock new changes.
BUG=webm:1615
Change-Id: Ide9cacee5547ed432f980f6804e1414f32639121
Paul Wilkins [Mon, 1 Apr 2019 11:57:13 +0000 (11:57 +0000)]
Merge "Use reconstructed variance in rd_variance_adjustment"
James Zern [Fri, 29 Mar 2019 18:59:40 +0000 (18:59 +0000)]
Merge "update .clang-format for version clang-7.0.1 update."
Hien Ho [Fri, 29 Mar 2019 16:04:41 +0000 (09:04 -0700)]
update .clang-format for version clang-7.0.1 update.
added files that are affected by clang-format version 7.
BUG=b/
120815481
Change-Id: I40662ce962e4f4b1fcdf183b700f85cc5c0f9f82
Jerome Jiang [Thu, 28 Mar 2019 18:00:57 +0000 (18:00 +0000)]
Merge "Revert "Wrap macro definition in do-while(0)""
Jerome Jiang [Thu, 28 Mar 2019 17:03:27 +0000 (10:03 -0700)]
Revert "Wrap macro definition in do-while(0)"
This reverts commit
aa04b6f9a7475e9d9457dfc5bf441faf15efc466.
It caused big regression on webrtc VP8 tests.
Change-Id: I937e769d133abeca62ba063e59a58b5c461f5b5e
Jerome Jiang [Thu, 28 Mar 2019 16:26:49 +0000 (16:26 +0000)]
Merge "Disable mismatch check on vp9 svc examples."
Paul Wilkins [Fri, 8 Mar 2019 15:36:42 +0000 (15:36 +0000)]
Further Adjustments to film mode bias.
Stronger bias against variance below source than above.
Change-Id: Ied3992f4204e14433c6841d51c192118be954f0a
Paul Wilkins [Thu, 28 Mar 2019 13:39:54 +0000 (13:39 +0000)]
Add GF group noise weighting in rd_variance_adjustment()
For film mode add a weighting to the thresholds used
in rd_variance_adjustment() based on noise measured in the
first pass.
Change-Id: I83ca669bb55aa52f1d34f03a2268b79fba890770
Paul Wilkins [Fri, 1 Mar 2019 15:37:58 +0000 (15:37 +0000)]
Adjustment to low variance block bias in rd_variance_adjustment()
Adjust the extra bias applied for very low variance blocks to focus
mainly on DC_PRED.
Change-Id: I8f1c1a29932f319535807046846b604b5b8827c1
Paul Wilkins [Thu, 28 Feb 2019 17:44:02 +0000 (17:44 +0000)]
Change to thresholding in rd_variance_adjustment()
Always test thresholds using a scaled block variance value.
Source pixel variance no longer used so delete it as a parameter
to the function
Change-Id: I9e251edac6ebb15da98e40dcfa43333fe8b6ba55
sdeng [Mon, 18 Mar 2019 18:26:06 +0000 (11:26 -0700)]
Use reconstructed variance in rd_variance_adjustment
to replace the variance from .dst which is the prediction buffer in
inter mode. Only enable it in tune-content-film mode at the moment.
Change-Id: I647b4a524a0849fda42541887ebc34091f152073
Paul Wilkins [Thu, 28 Mar 2019 10:49:55 +0000 (10:49 +0000)]
Merge "Allow more Intra choices in film mode."
Jerome Jiang [Wed, 27 Mar 2019 23:12:04 +0000 (16:12 -0700)]
Disable mismatch check on vp9 svc examples.
Change-Id: I49902a750758ba0ffe733be9b1efd0cdea44f936
Marco Paniconi [Wed, 27 Mar 2019 21:19:04 +0000 (14:19 -0700)]
vp9-rtc: Fix noise estimation thresh for 1080p
Use the same thresholds as for 720p for now,
leads to better noise estimation on test clips.
Change-Id: I55e11346a747fe149f521315a38d75e28b3e774e
Paul Wilkins [Wed, 27 Mar 2019 17:57:00 +0000 (17:57 +0000)]
Allow more Intra choices in film mode.
Disable part of a speed feature that blocks all intra modes
except DC_PRED when the source variance is low.
Change-Id: I2956951fd05933a39f7225d4dfe14e019410fee3
Marco Paniconi [Tue, 26 Mar 2019 17:45:22 +0000 (10:45 -0700)]
vp9-rtc: Disable cyclic refresh under some conditions
cyclic refresh does not work for speeds <= 4, so disable
it for this case. And dynamically disable it when
average_qp is close to MAXQ (only for non-svc), to improve
quality/rate control at very low bitrates.
Change-Id: I447be43aef0fbb80f4a30d81e11658b58744eae5
Jingning Han [Mon, 25 Mar 2019 23:50:01 +0000 (23:50 +0000)]
Merge "Remove deprecated code for vp9_fdct8x8_quant()"
Jingning Han [Mon, 25 Mar 2019 23:49:52 +0000 (23:49 +0000)]
Merge "Unify the transform and quantization process"
Jingning Han [Mon, 25 Mar 2019 22:02:16 +0000 (15:02 -0700)]
Remove deprecated code for vp9_fdct8x8_quant()
Change-Id: If146bbf24f446f71be9147402e6d30533eee99d1
Jingning Han [Mon, 25 Mar 2019 18:27:14 +0000 (11:27 -0700)]
Unify the transform and quantization process
Unify the transform and quantization process for 4x4 - 16x16
transform block sizes. This doesn't affect the encoding speed
visibly. Remove it to reduce the maintenance load.
Change-Id: Ifbf20bf8554ecf7970a6279a2b783b1c58fac6e4
Jerome Jiang [Mon, 25 Mar 2019 20:42:31 +0000 (13:42 -0700)]
Change PSNR threshold for high bitdepth.
BUG=webm:1609
Change-Id: I1aa18d58c20532f657059a2df3646fad1625e3ae
Jerome Jiang [Sat, 23 Mar 2019 00:27:24 +0000 (17:27 -0700)]
Use high bd path to substract blocks in hbd build.
BUG=webm:1609
Change-Id: Ifc15d616e7cfb247b399def64ef7691589d90075
Jingning Han [Fri, 22 Mar 2019 05:01:57 +0000 (05:01 +0000)]
Merge "Use most common segment index for 64x64 level decision"
Jingning Han [Fri, 22 Mar 2019 05:01:51 +0000 (05:01 +0000)]
Merge "Add wiener variance log function"
Jingning Han [Fri, 22 Mar 2019 05:01:43 +0000 (05:01 +0000)]
Merge "Refactor Wiener variance based segmentation"
Jerome Jiang [Fri, 22 Mar 2019 02:04:38 +0000 (19:04 -0700)]
fix redundant cast in examples.
Change-Id: I84280de82053f9056bda9d813baa6165ca9bcd1e
Jingning Han [Thu, 21 Mar 2019 22:40:21 +0000 (15:40 -0700)]
Use most common segment index for 64x64 level decision
Find the most common segment index among all 16x16 blocks in a
64x64 block and use that as the 64x64 block level decision.
Change-Id: I67e85869d9fee0fc05450928f1eeaebe511cab6a
Jingning Han [Thu, 21 Mar 2019 22:15:31 +0000 (15:15 -0700)]
Add wiener variance log function
Factor common mapping function from wiener variance to its log
form.
Change-Id: I25c955c8a3e25b9af1d65a0f0c3f695547c13453
Jerome Jiang [Thu, 21 Mar 2019 22:24:20 +0000 (22:24 +0000)]
Merge "vp9 postproc neon: Remove the condition on mb cols."
Jingning Han [Thu, 21 Mar 2019 22:06:13 +0000 (15:06 -0700)]
Refactor Wiener variance based segmentation
Separate the k-means clustering stage and the segmentation parse
stage to save unnecessary steps in a common function.
Change-Id: I60083e1d970e744f9a64112f856892d450f86669
Jerome Jiang [Thu, 21 Mar 2019 21:17:15 +0000 (14:17 -0700)]
vp9 postproc neon: Remove the condition on mb cols.
VP8 and VP9 have different padding on buffer stride.
VP8 microblock is 16x16 so the buffer stride needs to be divisible by
16. Thus UV buffer stride is divisible by 8.
VP9 microblock is 8x8 so the buffer stride is only extended to be
divisible by 8. Then UV buffer stride isn't divisible by 8.
Change-Id: I6fa953feb951f2fb2e48f72a623786b85e23822f
Jerome Jiang [Thu, 21 Mar 2019 19:49:51 +0000 (19:49 +0000)]
Merge "vp9: remove condition on high bitdepth using simple block yrd."
Marco Paniconi [Thu, 21 Mar 2019 17:36:31 +0000 (10:36 -0700)]
vp9-screen: Adjust speed features at speed 8
Keep loopfilter on, and use half-pel instead of full.
This reduces big quality gap between the speed 8 and 7,
but still keeps speed 8 about 30-40% faster than speed 7.
Tested on screenshare clips with scroll and slide changes.
Change-Id: Id63b44f59655f3e3dc1b49d89291d97e7323081a
Marco Paniconi [Wed, 20 Mar 2019 23:06:05 +0000 (23:06 +0000)]
Merge "vp9-rtc: Fixes for low-resoln"
Jingning Han [Wed, 20 Mar 2019 21:31:21 +0000 (21:31 +0000)]
Merge "Properly reset memory in hbd setting"
Jingning Han [Wed, 20 Mar 2019 21:31:12 +0000 (21:31 +0000)]
Merge "Drop Wiener variance diff scale from 8 to 4"