Jerome Jiang [Tue, 27 Nov 2018 20:29:47 +0000 (12:29 -0800)]
vp9 svc: copy block if ref buffer in denoiser is NULL.
BUG=b/
119097707
Change-Id: I6569306e897da46a44f9d8f2fb28a2a355dd4c2c
Jingning Han [Tue, 27 Nov 2018 19:01:26 +0000 (19:01 +0000)]
Merge "Replace deprecated scoped_ptr with unique_ptr"
Johann Koenig [Tue, 27 Nov 2018 18:47:33 +0000 (18:47 +0000)]
Merge "rename quantize_x86.h"
Jingning Han [Tue, 27 Nov 2018 17:49:12 +0000 (09:49 -0800)]
Replace deprecated scoped_ptr with unique_ptr
Change-Id: I2793a1b65164946eb7d67d80ccba9e798db3d9af
Johann [Mon, 26 Nov 2018 20:43:43 +0000 (15:43 -0500)]
rename quantize_x86.h
Pave the way for new quantize_OPT.h helper files.
Change-Id: Ice7225612983f5587a9660af3320c7d0c8bb1c2f
Jingning Han [Tue, 27 Nov 2018 15:54:45 +0000 (15:54 +0000)]
Merge "Fix ARF rate allocation for cq mode"
Marco Paniconi [Tue, 27 Nov 2018 04:48:05 +0000 (04:48 +0000)]
Merge "VP9 SVC: fix crash on scaling partition."
Marco Paniconi [Mon, 26 Nov 2018 23:52:21 +0000 (15:52 -0800)]
vp9-svc: Put check on usage of long term temporal ref.
If the scale factor of the golden long term reference
is different from the last reference then disable usage
of long term reference.
This should not happen, but add this as a check against
some possibly incorrect update of the svc configuration.
Change-Id: Ic1062d4384e005007d8c922813fa8ad188d8fa98
Jerome Jiang [Tue, 27 Nov 2018 01:10:37 +0000 (17:10 -0800)]
VP9 SVC: fix crash on scaling partition.
When scaling up partition from lower resolution layer L, mi_row and
mi_col from L must be smaller than mi_rows and mi_cols from L.
Before this change, the condition was based on mi_rows from top layer
divided by 2, which is not necessarily equal to the mi_rows from lower
resolution layer.
Added variable in SVC structure to keep track of mi_rows and mi_cols
from each spatial layer.
Re-enable partition scaling for 1080p.
BUG=webm:1578
Change-Id: Icc1c701b095cfe0a92bfecca1ed39dbe21da12b6
Marco Paniconi [Mon, 26 Nov 2018 21:58:28 +0000 (13:58 -0800)]
vp9-svc: Fix to skip enhancement layer setting
If in constrained layer drop mode, avoid setting
skip flag if base layer is dropped, as whole superframe
will be dropped in this case. This avoids an assert trigger
in the svc superframe packing.
Change-Id: I51c953c7fee979790c65c798bac9bd3d805dc66f
Jingning Han [Mon, 26 Nov 2018 17:43:07 +0000 (09:43 -0800)]
Fix ARF rate allocation for cq mode
In the limited test set, it improves the cq mode compression
performance by 1.9% in PSNR and 6% in SSIM as compared to use
same quantization parameter for all ARFs.
Change-Id: I35c4d7097b5838ab0b92d7f9937520721e3bb84b
Marco Paniconi [Thu, 22 Nov 2018 01:27:59 +0000 (01:27 +0000)]
Merge "vp9 screen-content: Keep lower step_param for quality layers."
Angie Chiang [Thu, 22 Nov 2018 01:20:18 +0000 (01:20 +0000)]
Merge "Fix scan_build warnings in user_priv_test.cc"
Marco Paniconi [Wed, 21 Nov 2018 23:01:04 +0000 (15:01 -0800)]
vp9 screen-content: Keep lower step_param for quality layers.
Issue with step_param = 2 seems specific to lower layers
with different resolution.
Change-Id: I26405488ac7691b3e471e98e794d4b1d8098a91d
Angie Chiang [Wed, 21 Nov 2018 19:20:36 +0000 (11:20 -0800)]
Fix scan_build warnings in user_priv_test.cc
BUG=webm:1575
Change-Id: I4e38f11162e0de82a730f16b387aeafd2d00e777
Angie Chiang [Wed, 21 Nov 2018 22:55:51 +0000 (22:55 +0000)]
Merge changes I02279405,I87e1c3f0,Id70235c8,I62602aa4,I5722d262
* changes:
Fix scan_build warnings in tiny_ssim.c
Fix scan_build warnings in convolve_test.cc
Fix scan_build warnings in vp9_loopfilter.c
Fix scan_build warnings in variance_test.cc
Fix scan_build warnings in vp9_resize.c
Marco Paniconi [Wed, 21 Nov 2018 19:12:28 +0000 (11:12 -0800)]
vp9 screen-content: Adjust seach step param
Increase to 4 (from 2) on slide/scroll changes,
as there is an issue/failure with the current setting
with offline encode for high resolns.
Change-Id: I8f06c6bdcd59013ab000d75bd75770c667bf70d2
Angie Chiang [Wed, 21 Nov 2018 00:39:53 +0000 (16:39 -0800)]
Fix scan_build warnings in tiny_ssim.c
BUG=webm:1575
Change-Id: I022794054b494512903d912bdbf3e85461f31665
Angie Chiang [Wed, 21 Nov 2018 00:33:07 +0000 (16:33 -0800)]
Fix scan_build warnings in convolve_test.cc
Change-Id: I87e1c3f0492cde805b54b048385ea200652dfccc
Angie Chiang [Wed, 21 Nov 2018 00:29:26 +0000 (16:29 -0800)]
Fix scan_build warnings in vp9_loopfilter.c
BUG=webm:1575
Change-Id: Id70235c801d253d47267c6d34760484f82d5c881
Angie Chiang [Tue, 20 Nov 2018 23:43:04 +0000 (15:43 -0800)]
Fix scan_build warnings in variance_test.cc
BUG=webm:1575
Change-Id: I62602aa47f07d525ba95fe7b2618bf62ae23fe6f
Angie Chiang [Tue, 20 Nov 2018 23:30:43 +0000 (15:30 -0800)]
Fix scan_build warnings in vp9_resize.c
BUG=webm:1575
Change-Id: I5722d2626b9043b83581a700e58c2b7204113a16
Angie Chiang [Wed, 21 Nov 2018 18:06:17 +0000 (18:06 +0000)]
Merge changes Id47930b4,I4f423630,I277c159b
* changes:
Replace assert by ASSERT_TRUE
Fix scan_build warnings in temporal_filter_test.cc
Fix scan_build warnings in dct_test.cc
Wan-Teh Chang [Wed, 21 Nov 2018 17:15:59 +0000 (17:15 +0000)]
Merge "Declare buffer_alloc_sz and frame_size as size_t."
Yaowu Xu [Wed, 21 Nov 2018 01:33:50 +0000 (01:33 +0000)]
Merge "Replace int64_t with int for rdmult"
Angie Chiang [Tue, 20 Nov 2018 23:08:11 +0000 (15:08 -0800)]
Replace assert by ASSERT_TRUE
BUG=webm:1575
Change-Id: Id47930b48733159f5e967dc5fd1205e501b635b9
Angie Chiang [Mon, 19 Nov 2018 22:32:54 +0000 (14:32 -0800)]
Fix scan_build warnings in temporal_filter_test.cc
BUG=webm:1575
Change-Id: I4f4236305ebd932515451b1306211154b34678de
Angie Chiang [Mon, 19 Nov 2018 22:27:53 +0000 (14:27 -0800)]
Fix scan_build warnings in dct_test.cc
BUG=webm:1575
Change-Id: I277c159bafa2ef7c3cfa27c86f60e3df0c3b79b3
Marco Paniconi [Tue, 20 Nov 2018 22:06:33 +0000 (22:06 +0000)]
Merge "Disable partition scaling on 1080p and above."
Marco Paniconi [Tue, 20 Nov 2018 22:02:59 +0000 (22:02 +0000)]
Merge "vp9-svc: Reset temporal layers on scene change"
Jerome Jiang [Tue, 20 Nov 2018 19:52:09 +0000 (11:52 -0800)]
Disable partition scaling on 1080p and above.
BUG=webm:1578
Change-Id: I7c8014b7ab96d372d486433bce24d058a60fdc85
Wan-Teh Chang [Tue, 20 Nov 2018 17:38:21 +0000 (09:38 -0800)]
Declare buffer_alloc_sz and frame_size as size_t.
Change-Id: Id632ddcbfb0bd3a4258aebdfb98f9dc2e4d04438
Marco Paniconi [Mon, 19 Nov 2018 22:13:48 +0000 (14:13 -0800)]
vp9-svc: Reset temporal layers on scene change
Reuse existing function for resetting temporal
layer pattern.
And fix to use first spatial layer to encode, and
some refactoring in encode_without_recode_loop().
Change-Id: Ifb22bb9de793ecb8e73f410e125c7c12383da1d2
Wan-Teh Chang [Tue, 20 Nov 2018 18:47:19 +0000 (18:47 +0000)]
Merge "Validate the |border| parameter earlier."
Angie Chiang [Tue, 20 Nov 2018 18:02:46 +0000 (18:02 +0000)]
Merge changes I9b5f8b08,Ic90b09e5,Ib2380aaf,I3ad3af49,Ib5d1a411
* changes:
Fix scan_build_warnings in comp_avg_pred_test.cc
Fix scan_build warnings in convolve_test.cc
Fix scan_build warnings in idct_test.cc
Fix scan_build warnings in tiny_ssim.c
Fix scan_build warning in dct_partial_test.cc
Yaowu Xu [Tue, 20 Nov 2018 01:19:18 +0000 (17:19 -0800)]
Replace int64_t with int for rdmult
No need for the upgrade to int64_t
Change-Id: I8331839c00718a0a987257772357be72b40e19be
Wan-Teh Chang [Tue, 20 Nov 2018 17:30:54 +0000 (09:30 -0800)]
Validate the |border| parameter earlier.
vpx_realloc_frame_buffer() should validate the |border| parameter
earlier, before it allocates the buffer and preferrably before it uses
|border|.
This backports libaom commit
2860b3ae8b764bdfa2b8c7a06df2673e907b993f:
https://aomedia-review.googlesource.com/c/aom/+/74324
Change-Id: Ib9d59d74e27430ccb1e83c6ad5424aff9672c989
Angie Chiang [Mon, 19 Nov 2018 19:31:25 +0000 (11:31 -0800)]
Fix scan_build_warnings in comp_avg_pred_test.cc
BUG=webm:1575
Change-Id: I9b5f8b08d23fd62ff6400605023f33e3890b0f2d
Angie Chiang [Mon, 19 Nov 2018 19:28:19 +0000 (11:28 -0800)]
Fix scan_build warnings in convolve_test.cc
BUG=webm:1575
Change-Id: Ic90b09e596fa68bc516237d31b7f4540831becfd
Angie Chiang [Mon, 19 Nov 2018 18:35:41 +0000 (10:35 -0800)]
Fix scan_build warnings in idct_test.cc
BUG=webm:1575
Change-Id: Ib2380aaf8c9f9bc7db87f36701a2792781beb44b
Angie Chiang [Mon, 19 Nov 2018 18:25:35 +0000 (10:25 -0800)]
Fix scan_build warnings in tiny_ssim.c
BUG=webm:1575
Change-Id: I3ad3af49d778f102e9152dcb1eb9d5c048756cdf
Angie Chiang [Mon, 19 Nov 2018 18:23:02 +0000 (10:23 -0800)]
Fix scan_build warning in dct_partial_test.cc
BUG=webm:1575
Change-Id: Ib5d1a411a223a93d1795ebe1af12e67d64fadabe
Yaowu Xu [Tue, 20 Nov 2018 00:57:02 +0000 (16:57 -0800)]
Minor simplifications
Change-Id: I231e863f838f449335236c174b74bd33dfdd8b19
Jerome Jiang [Tue, 20 Nov 2018 00:11:21 +0000 (00:11 +0000)]
Merge "Fix oob in vpx_setup_noise"
Marco Paniconi [Mon, 19 Nov 2018 20:24:52 +0000 (12:24 -0800)]
vp9: Fix to the svc buffer update
Condition the pre-encode buffer update based on
TS diff on temporal layers = 1 for now, as some
fix is needed for the case where #temporal_layers > 1.
Change-Id: I58163b956db415217e4687a31f8ba110545b09f5
Yaowu Xu [Mon, 19 Nov 2018 18:47:21 +0000 (18:47 +0000)]
Merge "Optimize RDMULT values for key frames"
Jerome Jiang [Wed, 7 Nov 2018 00:12:11 +0000 (16:12 -0800)]
Fix oob in vpx_setup_noise
Array index wasn't checked on boundary.
BUG=webm:1572
Change-Id: I55a93c024af77a4fd904b0e992d5587a142d66a4
Jon Kunkee [Thu, 15 Nov 2018 09:27:42 +0000 (01:27 -0800)]
Work around ARM64 Windows SDK arm_neon.h quirk
Since the Windows SDK has an ARM32-only arm_neon.h, files including it
during ARM64 Windows builds need to be redirected to arm64_neon.h.
Instead of editing many files to include ARM64-Windows-specific ifdef
logic, this commit introduces an ARM64-Windows-specific version of
arm_neon.h that performs the needed redirection and lands earlier in
the header search path than the ARM32-only arm_neon.h.
Change-Id: Idc63947a238ca1bd0c479d8f4ad68950487947c6
Jon Kunkee [Fri, 16 Nov 2018 22:26:15 +0000 (22:26 +0000)]
Merge "Add ARM64 support to VS project generation"
Yaowu Xu [Fri, 9 Nov 2018 20:46:07 +0000 (12:46 -0800)]
Optimize RDMULT values for key frames
Encoding of 5 frames of each sequence using key frames only, the new
values help the metrics by:
PSNR SSIM PSNR-HVS
lowres: -0.870% -0.140% -0.892%
midres: -0.899% -0.146% -1.052%
hdres: -0.944% -0.115% -1.028%
Tested q range:
2 6 10 14 18 22 26 30 34 38 42 46 50 54 58 62
Change-Id: I5b0dda366d589f52987c5bad11a1f95c4e6dc1a5
Marco Paniconi [Mon, 12 Nov 2018 06:09:31 +0000 (22:09 -0800)]
vp9: Reorganize the buffer level for cbr mode
Refactor the code with some changes.
Split update into two parts: move the fillup
(with per-frame-bandwidth) before the encoding, and
keep the leaking part (with encoded_frame_size) after
the encoding (postencode).
For SVC with ref_frame_config usage: allow usage of timestamp
delta for the fillup part of buffer, instead of the (average)
framerate passed in via the duration.
Moving the buffer fillup (+per-frame-bandwidth) part to the
pre-encode causes some difference in performance
(since buffer level affects active_worst/QPand frame-dropping),
but the change is observed to be small.
Made small adjustment to active_worst_quality to compensate.
Adjust some thresholds in datarate tests.
Change-Id: I81a5562367034f318cffd451304bc4a34bf02a1d
Johann Koenig [Fri, 16 Nov 2018 14:57:30 +0000 (14:57 +0000)]
Merge "quantize: use aarch64 vmaxv"
Jingning Han [Fri, 16 Nov 2018 00:07:22 +0000 (00:07 +0000)]
Merge "Fix arf boost factor calculation for intermediate ARFs"
Angie Chiang [Thu, 15 Nov 2018 23:40:59 +0000 (23:40 +0000)]
Merge changes Ib9d16a4b,I6061f38c
* changes:
Refactor av1_nb_mvs_inconsistency()
Recompute mv inconsistency after mv search is done
Jon Kunkee [Thu, 15 Nov 2018 21:01:04 +0000 (13:01 -0800)]
Add ARM64 support to VS project generation
Windows builds can use msbuild.exe to build libvpx through a set of
generated Visual Studio project files. This commit adds awareness of
ARM64 Windows to this process by adding ARM64 configurations and
setting msbuild properties to consume the right SDK version.
Change-Id: I1bbc01cbe7be3d53c4e1af6cd96c6e4170aa4915
Jon Kunkee [Mon, 12 Nov 2018 21:40:56 +0000 (13:40 -0800)]
Add ARM64 Windows to configure scripts
In order to correctly configure for Windows 10 on ARM, this change adds
a --target value arm64-win64-vs15 to ./configure and adds feature
enable/disable logic for the new platform.
This is merely sufficient for Chromium targeting ARM64 Windows.
Bug: 893460
Change-Id: I46194286f63104bdf6ac57d719fdf1e5d5fa72c8
Jingning Han [Thu, 15 Nov 2018 05:02:03 +0000 (21:02 -0800)]
Fix arf boost factor calculation for intermediate ARFs
Need to offset the forward range by 1 to include the stats for
the current frame itself.
Change-Id: I3b5171b7edef51ec4e97e4e0542ca58af5ce1416
Jingning Han [Thu, 15 Nov 2018 05:01:04 +0000 (05:01 +0000)]
Merge "Disable tpl model in GF-only GOP structure"
Jingning Han [Thu, 15 Nov 2018 05:00:55 +0000 (05:00 +0000)]
Merge "Fix GF-only frame type allocation"
Angie Chiang [Thu, 18 Oct 2018 17:40:06 +0000 (10:40 -0700)]
Refactor av1_nb_mvs_inconsistency()
Change-Id: Ib9d16a4bc3ce1d28493e34f24dc18a6b511738f0
Angie Chiang [Wed, 17 Oct 2018 22:54:25 +0000 (15:54 -0700)]
Recompute mv inconsistency after mv search is done
Change-Id: I6061f38cb42eea2b4c8996ad372c829dc1051c8d
Jingning Han [Wed, 14 Nov 2018 22:58:56 +0000 (14:58 -0800)]
Disable tpl model in GF-only GOP structure
The tpl model assumes a relative short stats buffer length. Hence
it is not ready to support GF-only GOP structure where the max
length can go up to 250. Disable tpl model in such setting to avoid
a rare encode failure in GF-only setting.
Change-Id: I3409dbb829a8105478876684ec21a2bd405c33c8
Harish Mahendrakar [Wed, 14 Nov 2018 21:55:16 +0000 (21:55 +0000)]
Merge "vpx_dec_fuzzer: Unify single and multi-thread tests"
Harish Mahendrakar [Wed, 14 Nov 2018 20:00:01 +0000 (12:00 -0800)]
vpx_dec_fuzzer: Unify single and multi-thread tests
As thread count is now randomized, serial and threaded modes can be
combined to a single binary.
With this change, threads takes values between 1 to 64 and tests both
single thread and multi-thread variants of the decoders
Change-Id: I6dd2a3aa03bff9c0e2c126843b543d46892be696
Harish Mahendrakar [Wed, 14 Nov 2018 21:02:45 +0000 (21:02 +0000)]
Merge "Added libFuzzer plugin to test decoders"
Jingning Han [Wed, 14 Nov 2018 07:20:03 +0000 (23:20 -0800)]
Fix GF-only frame type allocation
Rework the recursive ARF allocation to avoid missing one frame's
type assignment issue in GF only GOP structure. This fixes a rare
encoder failure issue in GF only setting.
Change-Id: I3e41fe36d3cb954de25ffc058a42b2b8be0fcd7a
Harish Mahendrakar [Fri, 9 Nov 2018 22:12:07 +0000 (14:12 -0800)]
Added libFuzzer plugin to test decoders
vpx_dec_fuzzer.cc can be built with clang++ to generate fuzzer binary
Build instructions are part of the file
Change-Id: I19ba0bd49b236e27b27e81a83f6de59f15bdc994
Jingning Han [Tue, 13 Nov 2018 23:13:14 +0000 (23:13 +0000)]
Merge "Rescale arf bit budget calculation"
Jingning Han [Fri, 2 Nov 2018 18:31:38 +0000 (11:31 -0700)]
Skip ACL recode loop for intermediate ARF layers
Speed up the encoding time by ~20% for multi-layer ARF system.
Change-Id: I16de1cfed7cd1815cf0269eb4f90ad74fdf087ee
Jingning Han [Tue, 13 Nov 2018 00:22:46 +0000 (16:22 -0800)]
Rescale arf bit budget calculation
To compute the total budget for a depth layer, exclude the count of
frames that have been allocated the bit budget. This improves the
avg PSNR by 0.15% and overall PSNR by 0.25% for lowres and midres
test sets.
Change-Id: I5115e33e1422dc930179142cd29aeebe97425283
Johann [Mon, 12 Nov 2018 19:30:03 +0000 (11:30 -0800)]
quantize: use aarch64 vmaxv
Simplify max value calculation on aarch64 by using vmaxv. Much
faster for 4x4 but diminishing returns as the block size grows.
Only the vp9 quantize has a speed test hooked up. Anticipate
similar results for the other quantize versions.
Before:
[ RUN ] NEON/VP9QuantizeTest.DISABLED_Speed/2
[ BENCH ] Bypass calculations 4x4 31.6 ms ( ±0.0 ms )
[ BENCH ] Full calculations 4x4 31.6 ms ( ±0.0 ms )
[ BENCH ] Bypass calculations 8x8 17.7 ms ( ±0.0 ms )
[ BENCH ] Full calculations 8x8 17.7 ms ( ±0.0 ms )
[ BENCH ] Bypass calculations 16x16 14.2 ms ( ±0.0 ms )
[ BENCH ] Full calculations 16x16 14.2 ms ( ±0.0 ms )
[ OK ] NEON/VP9QuantizeTest.DISABLED_Speed/2 (1906 ms)
[ RUN ] NEON/VP9QuantizeTest.DISABLED_Speed/3
[ BENCH ] Bypass calculations 32x32 18.6 ms ( ±0.0 ms )
[ BENCH ] Full calculations 32x32 18.6 ms ( ±0.0 ms )
After:
[ RUN ] NEON/VP9QuantizeTest.DISABLED_Speed/2
[ BENCH ] Bypass calculations 4x4 29.1 ms ( ±0.0 ms )
[ BENCH ] Full calculations 4x4 29.1 ms ( ±0.0 ms )
[ BENCH ] Bypass calculations 8x8 16.9 ms ( ±0.0 ms )
[ BENCH ] Full calculations 8x8 16.9 ms ( ±0.0 ms )
[ BENCH ] Bypass calculations 16x16 14.1 ms ( ±0.0 ms )
[ BENCH ] Full calculations 16x16 14.1 ms ( ±0.0 ms )
[ OK ] NEON/VP9QuantizeTest.DISABLED_Speed/2 (1803 ms)
[ RUN ] NEON/VP9QuantizeTest.DISABLED_Speed/3
[ BENCH ] Bypass calculations 32x32 18.6 ms ( ±0.0 ms )
[ BENCH ] Full calculations 32x32 18.6 ms ( ±0.0 ms )
Change-Id: Ic95812b3fdbd4e47b4dcb8ed46c68a9617de38d2
Yaowu Xu [Sun, 11 Nov 2018 14:17:35 +0000 (14:17 +0000)]
Merge "Refactor common code in RDMULT computation"
Jerome Jiang [Fri, 9 Nov 2018 21:27:39 +0000 (13:27 -0800)]
vp8: Init buffers and pred arrays for mt after allocation.
Buffers and arrays used for prediction are not initialized after
allocation.
BUG=902691
Change-Id: Ic727e5dab7456e91ec9d6c80694f60a1a3600640
Yaowu Xu [Fri, 9 Nov 2018 22:45:48 +0000 (14:45 -0800)]
Refactor common code in RDMULT computation
Change-Id: I2b59ba26fdb1f75302c457c90817398acaa28975
Jerome Jiang [Thu, 8 Nov 2018 18:37:59 +0000 (18:37 +0000)]
Merge "Add operator<< to hadamard test."
Jerome Jiang [Thu, 8 Nov 2018 05:35:35 +0000 (21:35 -0800)]
Add operator<< to hadamard test.
This quiets valgrind warning.
Change-Id: I7c5e23ebb91cc67cf93678135b826b2bc8e9db2f
Yaowu Xu [Wed, 7 Nov 2018 21:55:10 +0000 (21:55 +0000)]
Merge "Simplify rdmult computation"
Marco Paniconi [Wed, 7 Nov 2018 21:14:49 +0000 (21:14 +0000)]
Merge "vp9-screen-content: Adjust condition for large search area"
Yaowu Xu [Wed, 7 Nov 2018 19:20:32 +0000 (11:20 -0800)]
Simplify rdmult computation
Recognizing that max dc_quant used in rdmult computation is 21387 and
21387 * 21387 * 88 / 24 is still within the range of int32_t, this
commit simplifies the computation with minor cleanups.
Change-Id: I2ac7e8315d103c0bb39b70c312c87c0fda47b4f9
Marco Paniconi [Wed, 7 Nov 2018 19:14:42 +0000 (11:14 -0800)]
vp9-screen-content: Adjust condition for large search area
Account for dropped frame, and change resolution threshold
for limiting split below 16x16.
Change-Id: If94cfb2bc24d9103332d1c8d945daca8899db33d
Jingning Han [Wed, 7 Nov 2018 19:26:23 +0000 (11:26 -0800)]
Cosmetic clean up in find_arf_order
Remove duplicate variable definition.
Change-Id: I476bb319078f1043116163ac7aeff28a4a3ab5e6
Jingning Han [Wed, 7 Nov 2018 18:21:38 +0000 (18:21 +0000)]
Merge "Unify GOP structure layout setup"
Paul Wilkins [Wed, 7 Nov 2018 17:03:44 +0000 (17:03 +0000)]
Merge "Modified key frame detection."
Jingning Han [Wed, 7 Nov 2018 00:35:44 +0000 (16:35 -0800)]
Unify GOP structure layout setup
Refactor define_gf_group_structure() to unify the single-layer,
multi-layer ARF, and GF only GOP structure setup.
Change-Id: Iebbe9c3742fc58ae4e77b1072ebecb3ee7bd26b2
Johann Koenig [Wed, 7 Nov 2018 15:41:22 +0000 (15:41 +0000)]
Merge "vp8: remove VP8_ENTROPY_STATS code"
Jerome Jiang [Wed, 7 Nov 2018 00:33:58 +0000 (00:33 +0000)]
Merge "vp9: postencode drop frame for screen content in CBR."
Marco Paniconi [Tue, 6 Nov 2018 23:45:30 +0000 (23:45 +0000)]
Merge "vp9 screen-content: Adjustments for screen content."
Jerome Jiang [Tue, 28 Aug 2018 21:24:53 +0000 (14:24 -0700)]
vp9: postencode drop frame for screen content in CBR.
Encode the next frame at max q.
For layers: post_encode_drop is only check on base
spatial layer, and if base is post-encoded-dropped,
then whole superframe is dropped.
Added API to guard postencode dropping. Turned off by default.
Added unittest.
BUG=b/
112990050
Change-Id: I42fee279014aca616f7a4d9b582cb2bf5da2f2e7
Marco Paniconi [Tue, 6 Nov 2018 22:43:16 +0000 (22:43 +0000)]
Merge "vp8: Increase rate correction threshold for drop-overshoot"
Sai Deng [Tue, 6 Nov 2018 19:03:17 +0000 (19:03 +0000)]
Merge "Refactor Hadamard tests and add highbd tests"
Marco Paniconi [Tue, 6 Nov 2018 01:49:39 +0000 (17:49 -0800)]
vp9 screen-content: Adjustments for screen content.
Increase search area, use NSTEP, and in some cases avoid
bsize below 16x16. This for base spatial layer when many blocks
in the frame have motion (from scene detection analysis).
Improves quality for scrolling motion.
Change-Id: If77b43e738a6c43610d4727a95712667088db564
Jerome Jiang [Tue, 6 Nov 2018 18:47:16 +0000 (18:47 +0000)]
Merge "vp8 dec: only compute ref frame buffer pointer for non intra"
sdeng [Thu, 1 Nov 2018 17:21:13 +0000 (10:21 -0700)]
Refactor Hadamard tests and add highbd tests
Change-Id: I306083f233e53884ac21fb4621066713edddc8f7
Jingning Han [Tue, 6 Nov 2018 17:10:24 +0000 (17:10 +0000)]
Merge "Track maximum layer depth in a GOP"
Jingning Han [Tue, 6 Nov 2018 17:10:18 +0000 (17:10 +0000)]
Merge "Fix gf_group->frame_end assignment"
Jingning Han [Tue, 6 Nov 2018 17:10:10 +0000 (17:10 +0000)]
Merge "Refactor define_gf_group_structure()"
Jingning Han [Tue, 6 Nov 2018 17:10:03 +0000 (17:10 +0000)]
Merge "Remove redundant assignments in define_gf_group_structure()"
Jingning Han [Tue, 6 Nov 2018 17:09:54 +0000 (17:09 +0000)]
Merge "Refactor find_arf_order()"
Paul Wilkins [Fri, 26 Oct 2018 11:12:57 +0000 (12:12 +0100)]
Modified key frame detection.
Address poor key frame detection in some content.
This patch improves on poor key frame / scene cut detection observed
with some test content. The content in question was letter boxed film
style material and also had quite low contrast. For both 1080P and 4K
multiple genuine scene cuts were being missed.
The changes alter the conditions for marking a transition as a "flash" rather
than a scene change. The new code still deals well with genuine flashes as
observed in the "crew" test clip, without falsely flagging some of the
the scene cuts in the "film" test clip.
The new film test clip also had some "flash" frames caused by a lightning
effect and in one case a flash occurred right before a scene change. This
caused a misplacement of the key frame but has been addressed by a new
clause that requires the coded error for the next frame after a candidate
key frame to be lower than the current frame.
The patch also changes the way in which neutral blocks (similar inter and
inter error) are handled in the candidate key frame decision in a way which
hopefully handles the letter boxed format better.
During wider testing some film clips still had missed key frames but this
patch does improve things. In the case of the initial test clip the encoder
correctly marks all 3 scene cuts vs 0 before the patch.
Testing with our standard (mainly short single kf) derf and NF test clips
is neutral.
Change-Id: I3b7dcfe7b2fb13fd0816ea46acc3e69c8bc581b3
Johann Koenig [Tue, 6 Nov 2018 02:34:04 +0000 (02:34 +0000)]
Merge "vpx_codec_enc_config_default: disable 'usage'"