]>
granicus.if.org Git - libvpx/log
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
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
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
Marco Paniconi [Wed, 24 Apr 2019 06:15:25 +0000 (06:15 +0000)]
Merge "vp9-rtc: tx_size selection for intra mode in nonrd"
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
Sai Deng [Tue, 23 Apr 2019 23:11:54 +0000 (23:11 +0000)]
Merge "Revert "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
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
Sai Deng [Tue, 23 Apr 2019 21:50:56 +0000 (21:50 +0000)]
Merge "Add VPX_TUNE_SSIM and VPX_TUNE_PSNR enums"
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
sdeng [Fri, 12 Apr 2019 13:00:20 +0000 (06:00 -0700)]
Add VPX_TUNE_SSIM and VPX_TUNE_PSNR enums
Change-Id: I3df5af2c60b774e6d395062077542c52db868236
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
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
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
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
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"
Jingning Han [Mon, 22 Apr 2019 04:59:22 +0000 (04:59 +0000)]
Merge "Refine interval for key frame boost calculation"
Jingning Han [Mon, 22 Apr 2019 04:59:04 +0000 (04:59 +0000)]
Merge "Fix issues with bits allocated and consumed"
Angie Chiang [Sun, 21 Apr 2019 22:41:58 +0000 (15:41 -0700)]
Remove mv_dist and mv_cost from TplDepStats
Change-Id: I1af8814449a187e900df9c930dc174f0832b0212
Angie Chiang [Sun, 21 Apr 2019 22:37:45 +0000 (15:37 -0700)]
Remove inter_cost_arr and recon_error_arr
Change-Id: I9eaf9563f2ee92fcfbe38d0f5e36c82632af468f
Angie Chiang [Sun, 21 Apr 2019 22:25:20 +0000 (15:25 -0700)]
Remove RE_COMPUTE_MV_INCONSISTENCY
Change-Id: I58c1bc0f285271ccff163791d35c8c0c6cc8460b
Angie Chiang [Sun, 21 Apr 2019 22:18:05 +0000 (15:18 -0700)]
Remove unused mv_[dist/cost]_sum
Change-Id: I8d173add2d1fc599a7915a3c9668870f18a0c59f
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
Harish Mahendrakar [Fri, 19 Apr 2019 23:59:30 +0000 (23:59 +0000)]
Merge "[CFI] Remove function pointer cast of row_decode_worker_hook"
Jerome Jiang [Fri, 19 Apr 2019 16:26:31 +0000 (16:26 +0000)]
Merge "vp9: Use model rd for large blocks in filter search."
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
James Zern [Fri, 19 Apr 2019 06:10:01 +0000 (06:10 +0000)]
Merge "Fix PSNRHVS computation"
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
Marco Paniconi [Fri, 19 Apr 2019 00:58:16 +0000 (00:58 +0000)]
Merge "vp9-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
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
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
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
James Zern [Wed, 17 Apr 2019 14:52:59 +0000 (14:52 +0000)]
Merge "Revert "Refactor tile boundary condition for intra prediction""
Jerome Jiang [Wed, 17 Apr 2019 01:51:41 +0000 (01:51 +0000)]
Merge "vp9: refactor condtions for model rd for large blocks."
Angie Chiang [Wed, 17 Apr 2019 01:49:56 +0000 (01:49 +0000)]
Merge "Refine vp9_kmeans()"
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
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
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
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
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)]
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