]> granicus.if.org Git - libvpx/log
libvpx
5 years agovp9-rtc: Adjust thresh for 4x4 tx selection
Marco Paniconi [Thu, 25 Apr 2019 23:12:19 +0000 (16:12 -0700)]
vp9-rtc: Adjust thresh for 4x4 tx selection

For screen content nonrd_pickmode: reduce
threshold to select 4x4 tx_size, under certain
conditions.

Change-Id: If68c30172272868033f0e3011e53c76b4e7c48b6

5 years agovp9-rtc: Fix int conversion error in nonrd_pickmode.
Marco Paniconi [Thu, 25 Apr 2019 16:01:52 +0000 (09:01 -0700)]
vp9-rtc: Fix int conversion error in nonrd_pickmode.

Change-Id: I1be775d8c11f530ff26121f1ffaf1dae100b2510

5 years agovp9-rtc: Pass source variance and mode to select tx
Marco Paniconi [Wed, 24 Apr 2019 17:31:15 +0000 (10:31 -0700)]
vp9-rtc: Pass source variance and mode to select tx

For nonrd-pickmode: pass the source variance and the
mode (intra/inter) to select tx_size, for better tuning.

Neutral change for video mode, speed 7.
Some quality improvement for screen content.

Change-Id: I53336f23fa4f14076aa1cdf8036e9af73c43060a

5 years agoMerge "vp9-rtc: tx_size selection for intra mode in nonrd"
Marco Paniconi [Wed, 24 Apr 2019 06:15:25 +0000 (06:15 +0000)]
Merge "vp9-rtc: tx_size selection for intra mode in nonrd"

5 years agoMerge changes I1af88144,I9eaf9563,I58c1bc0f,I8d173add
Angie Chiang [Tue, 23 Apr 2019 23:36:50 +0000 (23:36 +0000)]
Merge changes I1af88144,I9eaf9563,I58c1bc0f,I8d173add

* changes:
  Remove mv_dist and mv_cost from TplDepStats
  Remove inter_cost_arr and recon_error_arr
  Remove RE_COMPUTE_MV_INCONSISTENCY
  Remove unused mv_[dist/cost]_sum

5 years agoMerge "Revert "Add VPX_TUNE_SSIM and VPX_TUNE_PSNR enums""
Sai Deng [Tue, 23 Apr 2019 23:11:54 +0000 (23:11 +0000)]
Merge "Revert "Add VPX_TUNE_SSIM and VPX_TUNE_PSNR enums""

5 years agoRevert "Add VPX_TUNE_SSIM and VPX_TUNE_PSNR enums"
Sai Deng [Tue, 23 Apr 2019 22:59:34 +0000 (22:59 +0000)]
Revert "Add VPX_TUNE_SSIM and VPX_TUNE_PSNR enums"

This reverts commit 1d8d8f562bf382e47071bb38d13b7ded366820af.

Reason for revert: change the api names will break existing code.

Original change's description:
> Add VPX_TUNE_SSIM and VPX_TUNE_PSNR enums
>
> Change-Id: I3df5af2c60b774e6d395062077542c52db868236

TBR=jingning@google.com,builds@webmproject.org,sdeng@google.com

Change-Id: Ic94c19739f595f4544e8b68892ab9d9c1bbccd79
No-Presubmit: true
No-Tree-Checks: true
No-Try: true

5 years agovp9-rtc: tx_size selection for intra mode in nonrd
Marco Paniconi [Mon, 15 Apr 2019 22:59:49 +0000 (15:59 -0700)]
vp9-rtc: tx_size selection for intra mode in nonrd

In nonrd_pickmode for intra modes: add tx_size selection
based on Y prediction signal for the bsize.

The tx selection is done in model_rd, same as inter-modes.

Existing code for intra mode was first setting a tx_size based
only on the bsize, and then in some cases in block_yrd
(during the loop over bsize in units of tx_size) the tx_size
may be set again if model_rd is called in block_yrd.

This CL separates out the tx_size setting (based on Y channel
prediction via model_rd), and then block_yrd is called once
for whole bsize. This allows for better tuning of the tx
selection for intra modes in future change.

Adjust threshold in svc datarate test.

Negligible/neutral change in psnr/ssim metrics
for speed 7 and 8, 1 layer and SVC mode.

Change-Id: I33bc8447afdc3785482e13aac5c3636e13c59644

5 years agoMerge "Add VPX_TUNE_SSIM and VPX_TUNE_PSNR enums"
Sai Deng [Tue, 23 Apr 2019 21:50:56 +0000 (21:50 +0000)]
Merge "Add VPX_TUNE_SSIM and VPX_TUNE_PSNR enums"

5 years agoMerge changes I6e837e6f,Ibec70e66
Johann Koenig [Tue, 23 Apr 2019 21:40:14 +0000 (21:40 +0000)]
Merge changes I6e837e6f,Ibec70e66

* changes:
  remove WIDE_REFERENCE definition
  remove ARCHITECTURE definition

5 years agoAdd VPX_TUNE_SSIM and VPX_TUNE_PSNR enums
sdeng [Fri, 12 Apr 2019 13:00:20 +0000 (06:00 -0700)]
Add VPX_TUNE_SSIM and VPX_TUNE_PSNR enums

Change-Id: I3df5af2c60b774e6d395062077542c52db868236

5 years agoremove WIDE_REFERENCE definition
Johann [Tue, 23 Apr 2019 17:02:49 +0000 (10:02 -0700)]
remove WIDE_REFERENCE definition

The last usage was removed in 2011:
https://chromium.googlesource.com/webm/libvpx/+/cbf923b12cec2fe7ceea0b94091d64953e56b1fe%5E%21/#F33

Change-Id: I6e837e6f1e55eeea6bbeb3159ce6ddf861bcbd72

5 years agoremove ARCHITECTURE definition
Johann [Tue, 23 Apr 2019 16:47:56 +0000 (09:47 -0700)]
remove ARCHITECTURE definition

In the distant past this was used to distinguish between
armv5/6/7 targets when building the assembly files. The
project has not supported armv5/6 for a long time.

BUG=webm:1623

Change-Id: Ibec70e6624b651df0fa6f882ab6f201dc73e92e2

5 years agoAdd vpx_clear_system_state() in SSIM based rdmult adjustments
sdeng [Mon, 22 Apr 2019 23:10:39 +0000 (16:10 -0700)]
Add vpx_clear_system_state() in SSIM based rdmult adjustments

Change-Id: I2a0cdec3bfce864e975aaa408cfdcb855db8680f

5 years ago[vp9] Fix handling of skip in row_mt=1
Harish Mahendrakar [Fri, 19 Apr 2019 23:37:37 +0000 (16:37 -0700)]
[vp9] Fix handling of skip in row_mt=1

For row_mt=1, when mi->skip is set to 1 after parse based on
eobtotal for that partition, dqcoeff and eob need to be restored
as recon_partition doesn't increment these pointers for skip cases

Change-Id: I79711b0c175937aa6da3bba3b3bc053f91a8ce35

5 years agoMerge "test_vector_test: Add row-mt and lpf-opt tests for vp9 decoder"
Harish Mahendrakar [Mon, 22 Apr 2019 15:54:53 +0000 (15:54 +0000)]
Merge "test_vector_test: Add row-mt and lpf-opt tests for vp9 decoder"

5 years agoMerge "Refine interval for key frame boost calculation"
Jingning Han [Mon, 22 Apr 2019 04:59:22 +0000 (04:59 +0000)]
Merge "Refine interval for key frame boost calculation"

5 years agoMerge "Fix issues with bits allocated and consumed"
Jingning Han [Mon, 22 Apr 2019 04:59:04 +0000 (04:59 +0000)]
Merge "Fix issues with bits allocated and consumed"

5 years agoRemove mv_dist and mv_cost from TplDepStats
Angie Chiang [Sun, 21 Apr 2019 22:41:58 +0000 (15:41 -0700)]
Remove mv_dist and mv_cost from TplDepStats

Change-Id: I1af8814449a187e900df9c930dc174f0832b0212

5 years agoRemove inter_cost_arr and recon_error_arr
Angie Chiang [Sun, 21 Apr 2019 22:37:45 +0000 (15:37 -0700)]
Remove inter_cost_arr and recon_error_arr

Change-Id: I9eaf9563f2ee92fcfbe38d0f5e36c82632af468f

5 years agoRemove RE_COMPUTE_MV_INCONSISTENCY
Angie Chiang [Sun, 21 Apr 2019 22:25:20 +0000 (15:25 -0700)]
Remove RE_COMPUTE_MV_INCONSISTENCY

Change-Id: I58c1bc0f285271ccff163791d35c8c0c6cc8460b

5 years agoRemove unused mv_[dist/cost]_sum
Angie Chiang [Sun, 21 Apr 2019 22:18:05 +0000 (15:18 -0700)]
Remove unused mv_[dist/cost]_sum

Change-Id: I8d173add2d1fc599a7915a3c9668870f18a0c59f

5 years agotest_vector_test: Add row-mt and lpf-opt tests for vp9 decoder
Harish Mahendrakar [Thu, 18 Apr 2019 18:14:22 +0000 (11:14 -0700)]
test_vector_test: Add row-mt and lpf-opt tests for vp9 decoder

BUG=webm:1619

Change-Id: I4e835a6375523da04a2c4febb2fb441a5f2d56c5

5 years agoMerge "[CFI] Remove function pointer cast of row_decode_worker_hook"
Harish Mahendrakar [Fri, 19 Apr 2019 23:59:30 +0000 (23:59 +0000)]
Merge "[CFI] Remove function pointer cast of row_decode_worker_hook"

5 years agoMerge "vp9: Use model rd for large blocks in filter search."
Jerome Jiang [Fri, 19 Apr 2019 16:26:31 +0000 (16:26 +0000)]
Merge "vp9: Use model rd for large blocks in filter search."

5 years ago[CFI] Remove function pointer cast of row_decode_worker_hook
Harish Mahendrakar [Thu, 18 Apr 2019 17:45:36 +0000 (10:45 -0700)]
[CFI] Remove function pointer cast of row_decode_worker_hook

This fixes CFI error flagged for this function when row-mt=1

Change-Id: Ic5b427a6b621228280ebe829d00b540b18e2c087

5 years agoMerge "Fix PSNRHVS computation"
James Zern [Fri, 19 Apr 2019 06:10:01 +0000 (06:10 +0000)]
Merge "Fix PSNRHVS computation"

5 years agovp9: Use model rd for large blocks in filter search.
Jerome Jiang [Wed, 17 Apr 2019 20:39:18 +0000 (13:39 -0700)]
vp9: Use model rd for large blocks in filter search.

Neutral on speed and quality.

Change-Id: Ia1d3929124bb57e31bbab516a994734d2fd51891

5 years agoMerge "vp9-rtc: Use correct plane for UV in estimate_intra"
Marco Paniconi [Fri, 19 Apr 2019 00:58:16 +0000 (00:58 +0000)]
Merge "vp9-rtc: Use correct plane for UV in estimate_intra"

5 years agovp9-rtc: Use correct plane for UV in estimate_intra
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

5 years agovp9-rtc: Move setting for use_model_rd_large
Marco Paniconi [Thu, 18 Apr 2019 16:47:55 +0000 (09:47 -0700)]
vp9-rtc: Move setting for use_model_rd_large

Move the setting to just before the inter-mode loop,
as for screen content the value may change due
to reset of segment.

No change in behavior except for screen-content.

Change-Id: I256795b581ceda352e57b88eba2e86aa18b0fdc4

5 years agoFix issues with bits allocated and consumed
Deepa K G [Tue, 22 Jan 2019 10:43:03 +0000 (16:13 +0530)]
Fix issues with bits allocated and consumed

For show existing frames, set the variables
this_frame_target and projected_frame_size
correctly.

Change-Id: Id5f06eb4ac195f6b63c0199d9d761eaaaea79bbd

5 years agoRefine interval for key frame boost calculation
Deepa K G [Mon, 21 Jan 2019 06:30:50 +0000 (12:00 +0530)]
Refine interval for key frame boost calculation

In the calculation of boost for key frames, increase number
of frames to be scanned based on the content nature.

Change-Id: Ia4533966a00055d0bec712e073d82d4bd1dc715a

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 agoFix PSNRHVS computation
Yaowu Xu [Tue, 16 Apr 2019 17:09:21 +0000 (10:09 -0700)]
Fix PSNRHVS computation

Cherry-pick libaom #1362e15990eccab8101305be418528824fb32245 to fix
PSNRHVS calculation.

BUG=webm:1620

Change-Id: Ife7bd8056fcaed06992ad76e8c1ab734c3956ad7

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