]> granicus.if.org Git - libvpx/log
libvpx
5 years agoFix in key frame detection
Deepa K G [Tue, 29 Jan 2019 14:28:05 +0000 (19:58 +0530)]
Fix in key frame detection

The frame next to scene cut frame does not usually have
a high second ref useage. Thus the sec ref useage of the
frame next to scene cut frame is tested against a
threshold for scene cut detection.

With this change scene cut detection is improved for
contents where genuine scene cuts were being missed.

Change-Id: I11190d848fa1c1dcd63aab81da799354371e2a30

5 years agoMerge "Revert "Refactor tile boundary condition for intra prediction""
James Zern [Wed, 17 Apr 2019 14:52:59 +0000 (14:52 +0000)]
Merge "Revert "Refactor tile boundary condition for intra prediction""

5 years agoMerge "vp9: refactor condtions for model rd for large blocks."
Jerome Jiang [Wed, 17 Apr 2019 01:51:41 +0000 (01:51 +0000)]
Merge "vp9: refactor condtions for model rd for large blocks."

5 years agoMerge "Refine vp9_kmeans()"
Angie Chiang [Wed, 17 Apr 2019 01:49:56 +0000 (01:49 +0000)]
Merge "Refine vp9_kmeans()"

5 years agoRevert "Refactor tile boundary condition for intra prediction"
James Zern [Tue, 16 Apr 2019 21:59:22 +0000 (14:59 -0700)]
Revert "Refactor tile boundary condition for intra prediction"

This reverts commit 14208ab41e114f5779d106ae54a7cc8fd9d43820.

This causes test vectors failures with --row-mt=1.

BUG=webm:1617

Change-Id: Icb14bbbb6f38608a73dde0370ad874c0b1b0af8a

5 years agovp9: refactor condtions for model rd for large blocks.
Jerome Jiang [Tue, 16 Apr 2019 22:37:47 +0000 (15:37 -0700)]
vp9: refactor condtions for model rd for large blocks.

Change-Id: If474273642b68e29abacb7b87cbb6e3c91bb93a4

5 years agoMerge "vp9-rtc: Add speed feature to force SMOOTH filter"
Marco Paniconi [Tue, 16 Apr 2019 21:44:34 +0000 (21:44 +0000)]
Merge "vp9-rtc: Add speed feature to force SMOOTH filter"

5 years agoRefine vp9_kmeans()
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

5 years agovp9-rtc: Add speed feature to force SMOOTH filter
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

5 years agoMerge "Use uniform sampling as initial centers for k-means"
Jingning Han [Tue, 16 Apr 2019 16:15:52 +0000 (16:15 +0000)]
Merge "Use uniform sampling as initial centers for k-means"

5 years agoFix libvpx__nightly_optimization-levels - Build Failing
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

5 years agoMerge "loop_filter_rows_mt: unify worker count calculation"
James Zern [Sun, 14 Apr 2019 00:21:50 +0000 (00:21 +0000)]
Merge "loop_filter_rows_mt: unify worker count calculation"

5 years agoAdd Tune for SSIM for high bitdepth encoding
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

5 years agoMerge "Add Tune for SSIM"
Sai Deng [Sat, 13 Apr 2019 17:47:46 +0000 (17:47 +0000)]
Merge "Add Tune for SSIM"

5 years agoloop_filter_rows_mt: unify worker count calculation
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

5 years agoUse uniform sampling as initial centers for k-means
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

5 years agoAdd Tune for SSIM
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

5 years agoUse qsort to find median value
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

5 years agoMerge "update libwebm to libwebm-1.0.0.27-358-gdbf1d10"
James Zern [Fri, 12 Apr 2019 05:58:12 +0000 (05:58 +0000)]
Merge "update libwebm to libwebm-1.0.0.27-358-gdbf1d10"

5 years agoFix static analysis warnings
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

5 years agoMerge "vp9 svc test: test KSVC and other inter layer pred mode."
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."

5 years agovp9 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

5 years agoMerge "Use log-based sse in eval_mv_mode"
Angie Chiang [Thu, 11 Apr 2019 17:25:40 +0000 (17:25 +0000)]
Merge "Use log-based sse in eval_mv_mode"

5 years agovp9-rtc: Fix to re-eval zero-mv for denoising
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

5 years agoMerge changes I9d315e35,Id48f2b65,I4e5ed327
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()

5 years agoUse log-based sse in eval_mv_mode
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

5 years agoMerge "vp9 rtc: change PSNR thresh."
Jerome Jiang [Wed, 10 Apr 2019 21:13:56 +0000 (21:13 +0000)]
Merge "vp9 rtc: change PSNR thresh."

5 years agoMerge "Revert "Disable mismatch check on vp9 svc examples.""
Jerome Jiang [Wed, 10 Apr 2019 21:13:46 +0000 (21:13 +0000)]
Merge "Revert "Disable mismatch check on vp9 svc examples.""

5 years agoupdate libwebm to libwebm-1.0.0.27-358-gdbf1d10
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

5 years agoRevert "Disable mismatch check on vp9 svc examples."
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

5 years agovp9 rtc: change PSNR thresh.
Jerome Jiang [Wed, 10 Apr 2019 17:04:15 +0000 (10:04 -0700)]
vp9 rtc: change PSNR thresh.

Change-Id: I07ccc48c76d9871ae01b56ce432f9a6661fb47b9

5 years agovp9-rtc: Adjust cb_pred_filter_search on speed & resoln
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

5 years agovp9-rtc: Speed feature for filter_search in nonrd_pickmode.
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

5 years agoMerge "vp9-rtc: Fix to rate cost for switchable filter"
Marco Paniconi [Wed, 10 Apr 2019 03:56:04 +0000 (03:56 +0000)]
Merge "vp9-rtc: Fix to rate cost for switchable filter"

5 years agovp9-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

5 years agoPrint mv_mode counts
Angie Chiang [Thu, 4 Apr 2019 21:44:09 +0000 (14:44 -0700)]
Print mv_mode counts

Change-Id: I9d315e359e384dc0295c3471d8179bd828fddc1b

5 years agoAdjust the probs in get_mv_mode_cost
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

5 years agoAdd build_inter_mode_cost()
Angie Chiang [Fri, 8 Mar 2019 03:45:51 +0000 (19:45 -0800)]
Add build_inter_mode_cost()

Change-Id: I4e5ed327e39cef1dd8c1a8f55fcbe90a5181814d

5 years agoAdd fast-adapt mechanism for VNR
“Michael [Tue, 9 Apr 2019 21:28:06 +0000 (16:28 -0500)]
Add fast-adapt mechanism for VNR

Change-Id: Ia1d9cde418cc981ee08dc94a2e375d6cb4542250

5 years agovp9-rtc: Fix to active_best for non-SVC
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

5 years agoMerge "Film Mode: Bias based on sub block energy."
Paul Wilkins [Tue, 9 Apr 2019 13:37:33 +0000 (13:37 +0000)]
Merge "Film Mode: Bias based on sub block energy."

5 years agoMerge "Film mode: Raise threshold for intra modes"
Paul Wilkins [Tue, 9 Apr 2019 13:37:09 +0000 (13:37 +0000)]
Merge "Film mode: Raise threshold for intra modes"

5 years agoFilm Mode: Bias based on sub block energy.
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

5 years agoMerge "Allow macroblock_plane to have its own rounding buffer"
Jingning Han [Sat, 6 Apr 2019 16:36:32 +0000 (16:36 +0000)]
Merge "Allow macroblock_plane to have its own rounding buffer"

5 years agotiny_ssim: Fix an 'Uninitialized argument value' bug
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

5 years agoMerge "tiny_ssim: Fix an 'Uninitialized argument value' bug"
Sai Deng [Sat, 6 Apr 2019 02:54:25 +0000 (02:54 +0000)]
Merge "tiny_ssim: Fix an 'Uninitialized argument value' bug"

5 years agoMerge "vp8cx.h: s/VP8E_(SET_MAX_INTER_BITRATE_PCT)/VP9E_$1/"
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/"

5 years agoMerge "svc_encodeframe: check strdup return"
James Zern [Sat, 6 Apr 2019 00:32:11 +0000 (00:32 +0000)]
Merge "svc_encodeframe: check strdup return"

5 years agosvc_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

5 years agotiny_ssim: Fix an 'Uninitialized argument value' bug
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

5 years agovp8_rd_pick_inter_mode: clear static analysis warning
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

5 years agoAdd a test to test rollover of int64 in encoder interface.
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

5 years agoMerge "vp9 svc: point ref to last when not used in KSVC."
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."

5 years agoBypass skip check in tune for sharpness mode
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

5 years agovp8cx.h: s/VP8E_(SET_MAX_INTER_BITRATE_PCT)/VP9E_$1/
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

5 years agovp9 svc: point ref to last when not used in KSVC.
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

5 years agoMerge "Histogram-based noise estimation algorithm"
Michael Horowitz [Wed, 3 Apr 2019 22:18:55 +0000 (22:18 +0000)]
Merge "Histogram-based noise estimation algorithm"

5 years agoMerge "use 64bit integer for memory offset."
Jerome Jiang [Wed, 3 Apr 2019 21:27:48 +0000 (21:27 +0000)]
Merge "use 64bit integer for memory offset."

5 years agoHistogram-based noise estimation algorithm
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

5 years agoMerge "vp9-rtc: Move noise estimation to after scene change detection"
Marco Paniconi [Tue, 2 Apr 2019 18:01:26 +0000 (18:01 +0000)]
Merge "vp9-rtc: Move noise estimation to after scene change detection"

5 years agouse 64bit integer for memory offset.
Jerome Jiang [Tue, 2 Apr 2019 17:06:20 +0000 (10:06 -0700)]
use 64bit integer for memory offset.

Change-Id: I3d27286202e26ceecf4e551732b7d536d224d920

5 years agovp9-rtc: Move noise estimation to after scene change detection
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

5 years agovp9-rtc: Speed feature changes for speed 9.
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

5 years agoFilm mode: Raise threshold for intra modes
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

5 years agoMerge changes Ied3992f4,I83ca669b,I8f1c1a29
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()

5 years agoMerge "Change to thresholding 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()"

5 years agoAllow macroblock_plane to have its own rounding buffer
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

5 years agotool/set_analyzer_env: disable implicit-integer-truncation
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

5 years agoMerge "Use reconstructed variance in rd_variance_adjustment"
Paul Wilkins [Mon, 1 Apr 2019 11:57:13 +0000 (11:57 +0000)]
Merge "Use reconstructed variance in rd_variance_adjustment"

5 years agoMerge "update .clang-format for version clang-7.0.1 update."
James Zern [Fri, 29 Mar 2019 18:59:40 +0000 (18:59 +0000)]
Merge "update .clang-format for version clang-7.0.1 update."

5 years agoupdate .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

5 years agoMerge "Revert "Wrap macro definition in do-while(0)""
Jerome Jiang [Thu, 28 Mar 2019 18:00:57 +0000 (18:00 +0000)]
Merge "Revert "Wrap macro definition in do-while(0)""

5 years agoRevert "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

5 years agoMerge "Disable mismatch check on vp9 svc examples."
Jerome Jiang [Thu, 28 Mar 2019 16:26:49 +0000 (16:26 +0000)]
Merge "Disable mismatch check on vp9 svc examples."

5 years agoFurther Adjustments to film mode bias.
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

5 years agoAdd GF group noise weighting in rd_variance_adjustment()
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

5 years agoAdjustment to low variance block bias in rd_variance_adjustment()
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

5 years agoChange to thresholding in rd_variance_adjustment()
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

5 years agoUse reconstructed variance in rd_variance_adjustment
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

5 years agoMerge "Allow more Intra choices in film mode."
Paul Wilkins [Thu, 28 Mar 2019 10:49:55 +0000 (10:49 +0000)]
Merge "Allow more Intra choices in film mode."

5 years agoDisable mismatch check on vp9 svc examples.
Jerome Jiang [Wed, 27 Mar 2019 23:12:04 +0000 (16:12 -0700)]
Disable mismatch check on vp9 svc examples.

Change-Id: I49902a750758ba0ffe733be9b1efd0cdea44f936

5 years agovp9-rtc: Fix noise estimation thresh for 1080p
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

5 years agoAllow more Intra choices in film mode.
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

5 years agovp9-rtc: Disable cyclic refresh under some conditions
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

5 years agoMerge "Remove deprecated code for vp9_fdct8x8_quant()"
Jingning Han [Mon, 25 Mar 2019 23:50:01 +0000 (23:50 +0000)]
Merge "Remove deprecated code for vp9_fdct8x8_quant()"

5 years agoMerge "Unify the transform and quantization process"
Jingning Han [Mon, 25 Mar 2019 23:49:52 +0000 (23:49 +0000)]
Merge "Unify the transform and quantization process"

5 years agoRemove deprecated code for vp9_fdct8x8_quant()
Jingning Han [Mon, 25 Mar 2019 22:02:16 +0000 (15:02 -0700)]
Remove deprecated code for vp9_fdct8x8_quant()

Change-Id: If146bbf24f446f71be9147402e6d30533eee99d1

5 years agoUnify the transform and quantization process
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

5 years agoChange PSNR threshold for high bitdepth.
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

5 years agoUse high bd path to substract blocks in hbd build.
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

5 years agoMerge "Use most common segment index for 64x64 level decision"
Jingning Han [Fri, 22 Mar 2019 05:01:57 +0000 (05:01 +0000)]
Merge "Use most common segment index for 64x64 level decision"

5 years agoMerge "Add wiener variance log function"
Jingning Han [Fri, 22 Mar 2019 05:01:51 +0000 (05:01 +0000)]
Merge "Add wiener variance log function"

5 years agoMerge "Refactor Wiener variance based segmentation"
Jingning Han [Fri, 22 Mar 2019 05:01:43 +0000 (05:01 +0000)]
Merge "Refactor Wiener variance based segmentation"

5 years agofix redundant cast in examples.
Jerome Jiang [Fri, 22 Mar 2019 02:04:38 +0000 (19:04 -0700)]
fix redundant cast in examples.

Change-Id: I84280de82053f9056bda9d813baa6165ca9bcd1e

5 years agoUse most common segment index for 64x64 level decision
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

5 years agoAdd wiener variance log function
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

5 years agoMerge "vp9 postproc neon: Remove the condition on mb cols."
Jerome Jiang [Thu, 21 Mar 2019 22:24:20 +0000 (22:24 +0000)]
Merge "vp9 postproc neon: Remove the condition on mb cols."

5 years agoRefactor Wiener variance based segmentation
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

5 years agovp9 postproc neon: Remove the condition on mb cols.
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

5 years agoMerge "vp9: remove condition on high bitdepth using simple block yrd."
Jerome Jiang [Thu, 21 Mar 2019 19:49:51 +0000 (19:49 +0000)]
Merge "vp9: remove condition on high bitdepth using simple block yrd."