Jingning Han [Wed, 10 Oct 2018 21:52:30 +0000 (14:52 -0700)]
Call tpl model build at the beginning of a GOP
The gop index 0 is default as kf / gf. The effective first coding
frame controlled by the current GOP rate allocation is indexed 1.
Call the tpl model build for the current GOP once at index 1
position. This would unify the calling system for single/multi-layer
ARF GOP structure.
Change-Id: I4ce69337e04646098d5513c0aa56b4e0b4483337
Yunqing Wang [Wed, 10 Oct 2018 21:05:44 +0000 (21:05 +0000)]
Merge "Use 4-tap interp filter in speed 1 sub-pel motion search"
Angie Chiang [Tue, 9 Oct 2018 18:33:32 +0000 (18:33 +0000)]
Merge changes I67700eba,I9e8f8ed3,Id93565cc
* changes:
Move feature_score into an independent for loop
Add set_mv_limits()
Move lambda into TplDepFrame
Yunqing Wang [Mon, 8 Oct 2018 23:21:54 +0000 (16:21 -0700)]
Use 4-tap interp filter in speed 1 sub-pel motion search
Added the 4-tap interp filter, and used it for speed 1 sub-pel motion
search. Speed 2 motion search still used bilinear filter as before.
Speed 1 borg test showed good bit savings.
avg_psnr: ovr_psnr: ssim:
lowres: -1.125 -1.179 -1.021
midres: -0.717 -0.710 -0.543
hdres: -0.357 -0.370 -0.342
Speed test at speed 1 showed ~10% encoder time increase, which was
partially because of no SIMD version of 4-tap filter.
Change-Id: Ic9b48cdc6a964538c20144108526682d64348301
Yunqing Wang [Mon, 8 Oct 2018 22:10:12 +0000 (15:10 -0700)]
Add accurate sub-pel motion search
Added the accurate sub-pel motion search. In this patch, used the 8-tap
filter in sub-pel motion search, and this was enabled at speed 0.
Speed 0 borg test showed that
avg_psnr: ovr_psnr: ssim:
lowres: -1.363 -1.403 -1.282
midres: -0.842 -0.849 -0.720
hdres: -0.480 -0.488 -0.503
Speed test at speed 0 showed ~8% encoder time increase.
Change-Id: I194ca709681ea588f3f6381093940e22d03c4d7b
Yunqing Wang [Tue, 9 Oct 2018 16:08:06 +0000 (16:08 +0000)]
Merge "Set up the unit scaling factor for motion search"
Angie Chiang [Mon, 8 Oct 2018 23:37:15 +0000 (16:37 -0700)]
Move feature_score into an independent for loop
We aim at change the mv search order according to feature_score
This is part of the change.
Change-Id: I67700eba014df92190eabc78060cf29adf0fc38b
Angie Chiang [Mon, 8 Oct 2018 22:51:05 +0000 (15:51 -0700)]
Add set_mv_limits()
Change-Id: I9e8f8ed3eb150b3af1f465f595000bd05d43f3f6
Yunqing Wang [Mon, 8 Oct 2018 18:43:02 +0000 (11:43 -0700)]
Set up the unit scaling factor for motion search
Set up the unit scaling factor used during motion search.
Change-Id: I6fda018d593b7ad4b7658d44c39be950a502d192
Angie Chiang [Mon, 8 Oct 2018 21:35:26 +0000 (14:35 -0700)]
Move lambda into TplDepFrame
Change-Id: Id93565cca41e00d4ab5de4c6de30accabf2adc52
Wan-Teh Chang [Mon, 8 Oct 2018 20:51:28 +0000 (20:51 +0000)]
Merge "Avoid null checks related to pool->frame_bufs."
Wan-Teh Chang [Mon, 8 Oct 2018 19:07:02 +0000 (19:07 +0000)]
Merge "Correct a for loop in init_ref_frame_bufs."
Hui Su [Mon, 8 Oct 2018 17:25:23 +0000 (17:25 +0000)]
Merge "Turn on ml_var_partition_pruning for speed 1"
Wan-Teh Chang [Mon, 8 Oct 2018 17:03:06 +0000 (10:03 -0700)]
Correct a for loop in init_ref_frame_bufs.
The cm->ref_frame_map and pool->frame_bufs arrays are of different sizes
(REF_FRAMES and FRAME_BUFFERS, respectively), so init_ref_frame_bufs()
cannot iterate over these two arrays using the same for loop.
Change-Id: Ica5bbd9d0c30ea3d089ad2d4bcf6cd8ae2daea64
Wan-Teh Chang [Mon, 8 Oct 2018 16:41:55 +0000 (09:41 -0700)]
Avoid null checks related to pool->frame_bufs.
It seems that null pointer checks such as the following may make clang
scan-build think pool->frame_bufs may be a null pointer:
buf = (buf_idx != INVALID_IDX) ? &pool->frame_bufs[buf_idx] : NULL;
if (buf != NULL) {
This "misinformation" may make scan-build warn about the ref_cnt_fb()
function's use of its 'bufs' argument (Dereference of null pointer) when
we pass pool->frame_bufs to ref_cnt_fb().
Rewriting the above code as:
if (buf_idx != INVALID_IDX) {
buf = &pool->frame_bufs[buf_idx];
not only is clearer but also avoids confusing scan-build.
Change-Id: Ia64858dbd7ff89f74ba1a4fc9239b0c4413592c8
Yunqing Wang [Mon, 8 Oct 2018 15:41:09 +0000 (15:41 +0000)]
Merge "Changes to facilitate accurate sub-pel motion search"
Angie Chiang [Sat, 6 Oct 2018 00:42:47 +0000 (00:42 +0000)]
Merge "Fix bug in prepare_nb_full_mvs"
Hui Su [Tue, 2 Oct 2018 21:40:27 +0000 (14:40 -0700)]
Turn on ml_var_partition_pruning for speed 1
Coding loss:
lowres 0.08%; midres 0.11%; hdres 0.07%
Average encoding speedup is about 6%.
Change-Id: I950291cf0f1d610bcdedeb150bcbefea2f5579bc
Yunqing Wang [Fri, 5 Oct 2018 17:42:48 +0000 (10:42 -0700)]
Changes to facilitate accurate sub-pel motion search
This patch included changes to facilitate accurate sub-pel motion
search. More patch will follow to turn on accurate sub-pel motion
search.
Change-Id: I224c28c338353fe5c7609372162f79885c54248f
Angie Chiang [Thu, 4 Oct 2018 22:17:02 +0000 (15:17 -0700)]
Fix bug in prepare_nb_full_mvs
Previously, the prepare_nb_full_mvs might construct nb_full_mv with
wrong mvs (from other ref frame).
The following changes will fix the bug.
1) Let ready in TplDepStats becomes int array
2) Add parameter rf_idx
3) Use mv_arr instead of mv to build the nb_full_mv
Change-Id: I199798aec4c6762d54799562e142457cc26ee043
Jingning Han [Thu, 4 Oct 2018 15:26:31 +0000 (15:26 +0000)]
Merge "Clean up vp9_firstpass.h"
Angie Chiang [Thu, 4 Oct 2018 00:48:42 +0000 (00:48 +0000)]
Merge "Add mv_{dist/cost}_sum to TplDepFrame"
Jingning Han [Wed, 3 Oct 2018 23:01:26 +0000 (16:01 -0700)]
Clean up vp9_firstpass.h
Remove unused functions and macros.
Change-Id: I46458a60f75637c66af0e18ad876a2634e5818bb
Marco Paniconi [Wed, 3 Oct 2018 22:25:32 +0000 (15:25 -0700)]
vp8: Increase rate threshold for overshoot-drop
Increase the rate threshold for the dropping when
overshoot is detected during encoding. This helps
to prevent some unneccessary drops for hard content.
Change-Id: I258bf33883d46347efd44e1e192cb25c444d05fe
Angie Chiang [Wed, 3 Oct 2018 01:05:21 +0000 (01:05 +0000)]
Merge changes I66b35ef7,Ic9ed6ed6,Ie5818689
* changes:
Add mv_dist/mv_cost to TplDepStats
Change interface of motion_compensated_prediction
Separate lambda from nb_mvs_inconsistency()
Chi Yo Tsai [Wed, 3 Oct 2018 00:07:55 +0000 (00:07 +0000)]
Merge "Change the frame used to set up encoder in tests to 0."
chiyotsai [Tue, 2 Oct 2018 20:51:48 +0000 (13:51 -0700)]
Change the frame used to set up encoder in tests to 0.
Change-Id: Ied460b6ff53a58050d53dec8d32b627de5de3f3a
Jingning Han [Tue, 2 Oct 2018 21:16:35 +0000 (21:16 +0000)]
Merge "Minor clean-up in tiny_ssim.c"
Jingning Han [Tue, 2 Oct 2018 21:16:19 +0000 (21:16 +0000)]
Merge "Force even arf group length where possible."
Jingning Han [Tue, 2 Oct 2018 18:24:29 +0000 (18:24 +0000)]
Merge "Keep metric log only for the displayable frames"
Jingning Han [Tue, 2 Oct 2018 18:24:25 +0000 (18:24 +0000)]
Merge "Fix vpxenc per frame psnr and ssim print"
Jingning Han [Tue, 2 Oct 2018 17:21:43 +0000 (10:21 -0700)]
Minor clean-up in tiny_ssim.c
Report the correct filename in error message.
Explicitly assign floating point value to double type.
Change-Id: I42fd2da6e16b1e3e7ec221d5d562a728a93c0196
Paul Wilkins [Tue, 2 Oct 2018 15:11:14 +0000 (16:11 +0100)]
Force even arf group length where possible.
This patch tweaks the calculation of the active maximum GF interval
and also the break out clause for the GF interval loop. The changes
force the maximum and where possible the break out value to be odd
which in turn will result in an even length ARF group if ARF coding is
selected (vs GF only coding).
The primary aim was to improve coding with multi layer arf groups.
For the single layer case there are small net gains in 3 out of 4 sets
(low,md, hd) and a small net drop for the NF2K set.
For multi-layer the gains (opsnr, ssim, psnr-hvs : -ve = better) were:-
Low res: -0.109, -0.038, -0.036
Mid res: -0.204, -0.171, -0.242
Hd res: -0.330, -0.471, -0.496
NF 2k: -0.165, -0.149, -0.157
Change-Id: I245f8561f5d1bd34312a0133c670c2154a0da23f
Jingning Han [Mon, 1 Oct 2018 22:31:27 +0000 (15:31 -0700)]
Keep metric log only for the displayable frames
The end-to-end reconstruction quality is represented only by the
displayable frames. Drop the coding stats from ARF frames.
Change-Id: Ib8241db448611f4b6477f107930eaa273f960e20
Jingning Han [Mon, 1 Oct 2018 22:26:00 +0000 (15:26 -0700)]
Fix vpxenc per frame psnr and ssim print
Fix compiler error and make the encoder properly log the psnr and
ssim.
Change-Id: I7b35541131acaa60117bb1e458508b82a4b4677e
Hui Su [Sat, 29 Sep 2018 21:48:56 +0000 (14:48 -0700)]
Introduce the ml_var_partition_pruning feature
Add the ml_var_partition_pruning encoder speed feature that
uses a neural net model to prune partition-none and partition-split
search. The model uses prediction residue variance and quantization
step size as input features.
Encoding speed gain for speed 0(tested over 20 hdres clips):
QP=30 QP=40
average 17.7% 18.3%
max 24.46% 26.6%
Coding loss:
lowres 0.071%; midres 0.098%; hdres 0.163%
Currently it is enabled for speed 0 low-bit depth only. It needs to be
tuned for other settings.
Change-Id: Ifb7417daa6bb6e7c97bb676269ce54ab0dc7b8c8
Jingning Han [Sat, 29 Sep 2018 04:20:31 +0000 (04:20 +0000)]
Merge "Remove deprecated get_arf_buffer_indices()"
Jingning Han [Sat, 29 Sep 2018 04:20:27 +0000 (04:20 +0000)]
Merge "Remove deprecated arf_update_index from GF_GROUP"
Hui Su [Sat, 29 Sep 2018 02:00:16 +0000 (02:00 +0000)]
Merge "Add ml_var_partition experiment"
Angie Chiang [Fri, 28 Sep 2018 23:09:19 +0000 (23:09 +0000)]
Merge changes I93308a09,If85c36b4,I918eb36a
* changes:
Add vpx_clear_system_state to new mv search func
Change mv color to red
Call vp9_full_pixel_diamond_new in tpl mv search
Angie Chiang [Fri, 28 Sep 2018 22:52:03 +0000 (15:52 -0700)]
Add mv_{dist/cost}_sum to TplDepFrame
Change-Id: Iacce1f88630ba93ff72d745a83dd4b853b6b61af
Angie Chiang [Fri, 28 Sep 2018 22:40:57 +0000 (15:40 -0700)]
Add mv_dist/mv_cost to TplDepStats
Change-Id: I66b35ef76c229d4eb3bf3c913619a0e219c4c2f9
Angie Chiang [Fri, 28 Sep 2018 21:35:21 +0000 (14:35 -0700)]
Change interface of motion_compensated_prediction
Change the interface of vp9_full_pixel_diamond_new
Change-Id: Ic9ed6ed61c5178f3f445f40860ebaac7ea17f75d
Angie Chiang [Fri, 28 Sep 2018 21:23:23 +0000 (14:23 -0700)]
Separate lambda from nb_mvs_inconsistency()
Change-Id: Ie5818689233ae01742ca595e2c8c3f3664bb426c
Jingning Han [Fri, 28 Sep 2018 18:30:56 +0000 (11:30 -0700)]
Remove deprecated get_arf_buffer_indices()
Change-Id: I6d0c8a1a61d861aa0353cde76a833c7c0b222279
Jingning Han [Fri, 28 Sep 2018 18:28:35 +0000 (11:28 -0700)]
Remove deprecated arf_update_index from GF_GROUP
As we move to unify the GOP structure layout control, the variable
arf_update_idx and arf_ref_idx are deprecated.
Change-Id: Iadcb9e6033d419d4b2015fe747c23be59a7da787
Jingning Han [Fri, 28 Sep 2018 17:38:26 +0000 (17:38 +0000)]
Merge "Fix minor bug in calculation of max arf group length."
Jingning Han [Fri, 28 Sep 2018 17:38:14 +0000 (17:38 +0000)]
Merge "Adjustment of GOP intra factor for multi-layer."
Jingning Han [Fri, 28 Sep 2018 17:18:54 +0000 (17:18 +0000)]
Merge "Add MID_OVERLAY_UPDATE frame type"
Jingning Han [Fri, 28 Sep 2018 17:18:46 +0000 (17:18 +0000)]
Merge "Refactor gf_overlay frame type update"
Paul Wilkins [Fri, 28 Sep 2018 17:16:01 +0000 (17:16 +0000)]
Merge "Revert "Merge "Adapt GOP size threshold to the allowed layer depth"""
Paul Wilkins [Thu, 27 Sep 2018 09:55:05 +0000 (10:55 +0100)]
Fix minor bug in calculation of max arf group length.
Their is no valid last boosted Q availably when estimating the maximum
group length for the first ARF group in a clip, so use a value based on
the current max q.
Change-Id: Ida0b4bfb7ce7433089ad808abed7f59c88527a81
Paul Wilkins [Fri, 28 Sep 2018 15:54:03 +0000 (16:54 +0100)]
Adjustment of GOP intra factor for multi-layer.
This provides and alternative (still to be tuned for edge cases)
approach to adjusting the gop intra factor when multi-layer coding
is in effect that does not alter single layer coding.
Change-Id: Iba86d65a6e68e86aa031b7e1f0b6a4c55761b1b8
Hui Su [Tue, 25 Sep 2018 19:19:53 +0000 (12:19 -0700)]
Add ml_var_partition experiment
Make partition decisions using machine learning models. The goal is to
achieve better coding quality than the variance-based parititioning
without much encoding speed loss.
To enable this experiment, use --enable-ml-var-partition for config.
When eanbled, the variance-based partitioning is replaced by this ML
based partitioing for speed 6 and above in real time mode(except low
resolution or high bit-depth).
Current coding gains(average PSNR):
speed 6 speed 7 speed 8
rtc 2.04% 2.65% 3.90%
ytlivehr 3.11% 4.53% 11.57%
hdres(rtc mode) 5.10%
Further testing and tuning is needed to see if the speed and quality
tradeoff is reasonable.
Change-Id: I0da5a2fbc22c3261832b32920ee36d9b19d417af
Hui Su [Fri, 28 Sep 2018 16:06:00 +0000 (16:06 +0000)]
Merge "Fix a loophole in nonrd_pick_partition()"
Paul Wilkins [Fri, 28 Sep 2018 12:17:31 +0000 (13:17 +0100)]
Revert "Merge "Adapt GOP size threshold to the allowed layer depth""
This reverts commit
5efde3914f1a85061e51bc8d96984216e976e90c, reversing
changes made to
3a291593726a3f0eff5e59983e84de20d0bf294c.
This is badly broken and may help somewhat for multi-layer but is hurting
massively in single layer encodes.
I ran this through this morning and while it often helps in SSIM it is badly down
for global PSNR and PSNR-HVS with some clips down by 35-40%. This is in line
with previous experiments where I have found that a bigger boost helps SSIM
but hurts PSNR and PSNR HVS.
I was also working on changes to the I factor that gave some improvements
in single layer though these were based upon the active Q mostly. I also have
looked at a bug for the first group where int_lbq is not properly defined and
will submit an interim patch for this while I look for a better solution.
In the meantime I think we should revert this.
The (Global PSNR, SSIM, PSNR-HVS) for the patch as is in my runs for
single layer vs a couple of days ago seem to be (-ve is better).
Low res 0.346, -1.475, 0.239
mid res 1.581, -1.300, 1.731 (worst result down by 30-40% in psnr)
hdres 0.665, -0.712, 1.043 (worst result down by 17-19% in psnr)
NF2k 0.927, 0.111, 1.3220 (Worst result down by 5-7% in psnr)
Change-Id: I55952b71b8cfc5a84484b3b659c5f8a530f3a755
Jingning Han [Fri, 28 Sep 2018 04:01:08 +0000 (21:01 -0700)]
Add MID_OVERLAY_UPDATE frame type
Add a MID_OVERLAY_UPDATE abstract to support multi-layer
ARF-Overlay frame based approach. When setting the frame update
type to be USE_BUF_FRAME, the encoder will use show_existing_frame
to process the intermediate ARF frames. When setting the frame
update type to be MID_OVERLAY_UPDATE, the intermediate ARF frames
will go through an overlay frame for display.
Change-Id: Ia0c91452c09d39312ac22d855cdf681b7da851c5
Jingning Han [Fri, 28 Sep 2018 03:52:38 +0000 (03:52 +0000)]
Merge "Remove deprecated variables from GF_GROUP structure"
Jingning Han [Fri, 28 Sep 2018 03:52:27 +0000 (03:52 +0000)]
Merge "Remove unused for-loop in multi-layer arf bit allocation"
Jingning Han [Fri, 28 Sep 2018 03:52:18 +0000 (03:52 +0000)]
Merge "Adapt GOP size threshold to the allowed layer depth"
Jingning Han [Thu, 27 Sep 2018 23:27:43 +0000 (16:27 -0700)]
Refactor gf_overlay frame type update
Factor out common code.
Change-Id: Ia548842557d85ab692fe658acf97d61f008e9588
Hui Su [Thu, 27 Sep 2018 17:12:55 +0000 (10:12 -0700)]
Fix a loophole in nonrd_pick_partition()
In some rare cases, all possible paritions may be skipped during RD
search. The patch makes the encoder do rectangular partition search if
both partition-none and partition-split are not allowed.
Tested on the rtc and ytlivehr testsets with speed 5 and 7, no coding
stats changes were observed.
Change-Id: I8b6d8b62b6d2431be8e73317d113311c98f631d5
Jingning Han [Thu, 27 Sep 2018 19:00:56 +0000 (12:00 -0700)]
Remove deprecated variables from GF_GROUP structure
Change-Id: I8c02216a369be6a51af9872f3ce05045038fc481
Jingning Han [Thu, 27 Sep 2018 17:49:44 +0000 (10:49 -0700)]
Remove unused for-loop in multi-layer arf bit allocation
The for-loop is not taking effect any more.
Change-Id: Ief2763990a6d4f487a5eb4972012d86379573d55
Jingning Han [Wed, 26 Sep 2018 23:34:16 +0000 (16:34 -0700)]
Adapt GOP size threshold to the allowed layer depth
Increase the total prediction error budget linearly with the
allowed ARF layer depth. This in general improves the compression
performance, but does hit corner cases on a few clips at very
low bit-rate range (corresponding to 26 - 28 dB range). To mitigate
such problem, we temporarily work around this problem by limiting
the first GOP size to be ~8 so as to not drain up the bit resource.
The overall compression performance improvements over the current
multi-layer ARF system in speed 0 are:
overall PSNR avg PSNR SSIM
lowres -0.47% -0.13% -1.51%
midres -1.30% -1.16% -2.80%
hdres -0.91% -0.84% -2.15%
Change-Id: Ia4880ab63e98e15a9db99aea6eabfd3d1da9270d
Johann Koenig [Thu, 27 Sep 2018 15:08:12 +0000 (15:08 +0000)]
Merge "add cfi sanitizer"
Angie Chiang [Thu, 27 Sep 2018 01:06:05 +0000 (18:06 -0700)]
Add vpx_clear_system_state to new mv search func
Change-Id: I93308a0906165b8fa56b59e199c3de29b572f666
Angie Chiang [Thu, 27 Sep 2018 01:04:40 +0000 (18:04 -0700)]
Change mv color to red
Change-Id: If85c36b44b41e8cf025a5e08d7055ec32a14d26b
Johann [Wed, 26 Sep 2018 23:52:54 +0000 (16:52 -0700)]
add cfi sanitizer
Change-Id: I4262bb631c248ad188f09a37d774d1759695b0d7
Johann [Wed, 26 Sep 2018 23:13:01 +0000 (16:13 -0700)]
CONFIG_WEBM_IO: include webmids.h
This was previously brought in with the examples. When building
with --disable-examples and --enable-codecs-srcs, this file
gets lost.
Change-Id: Id8bd67cb78c4f06647f34e85f425dfc701c640c0
Angie Chiang [Tue, 25 Sep 2018 23:58:17 +0000 (16:58 -0700)]
Call vp9_full_pixel_diamond_new in tpl mv search
The function is called in motion_compensated_prediction when
CONFIG_NON_GREEDY_MV is on.
The parameter lambda is used to adjust the importance of
mv consistency between neighbor blocks.
The lambda value is set to a random value for now, and still needs
to be tuned.
Change-Id: I918eb36a686eaa56b4009058f5f329e90c75870b
Angie Chiang [Wed, 26 Sep 2018 19:06:29 +0000 (19:06 +0000)]
Merge changes If96a8a1c,Iaf535fde,Icbde9880
* changes:
Add vp9_full_pixel_diamond_new
Add vp9_refining_search_sad_new
Add vp9_diamond_search_sad_new
Jingning Han [Wed, 26 Sep 2018 04:18:15 +0000 (04:18 +0000)]
Merge "Use layer dependent gfu_boost factor"
Angie Chiang [Tue, 25 Sep 2018 22:26:33 +0000 (15:26 -0700)]
Add vp9_full_pixel_diamond_new
This function will call vp9_diaomond_search_sad_new /
vp9_refining_search_sad_new accordingly.
Change-Id: If96a8a1c9c06b6b4ed3aac6d59bdb03f20c96df9
Angie Chiang [Tue, 25 Sep 2018 01:00:11 +0000 (18:00 -0700)]
Add vp9_refining_search_sad_new
The new version of refining search function will take into account
neighbor motion vectors' inconsistency while doing mv search
Change-Id: Iaf535fde04805de3dc7dd9a32f1695bf454e2d63
Angie Chiang [Tue, 25 Sep 2018 00:37:05 +0000 (17:37 -0700)]
Add vp9_diamond_search_sad_new
This new version of diamond search function will take into account
neighbor motion vectors' inconsistency while doing mv search
Change-Id: Icbde9880305cb8aea7937d6ddcef1597bf9be018
Jingning Han [Mon, 24 Sep 2018 20:53:53 +0000 (13:53 -0700)]
Use layer dependent gfu_boost factor
When multi-layer ARF is enabled, use the corresponding gfu_boost
factor assigned to each ARF to compute the best_quality_index
adjustment. This on average improves the coding performance by
0.2% for lowres and hdres, 0.4% for ntflx2k. It seems this change
will only affect a small group of clips, e.g., pamphlet, bowing,
mobcal_720p, etc., which tend to gain 4-5%, whereas the rest
clips remain largely identical coding statistics.
Change-Id: Ie19636a6cf32214aefd73e21ead2aea647ddbca8
Hui Su [Tue, 25 Sep 2018 16:53:38 +0000 (16:53 +0000)]
Merge "Remove redundant code"
Johann Koenig [Tue, 25 Sep 2018 14:25:52 +0000 (14:25 +0000)]
Merge "clang-format v6.0.1"
James Zern [Tue, 25 Sep 2018 03:40:00 +0000 (03:40 +0000)]
Merge "vp9,encoder: check pointers before member access"
Johann [Tue, 25 Sep 2018 01:31:35 +0000 (18:31 -0700)]
clang-format v6.0.1
Change-Id: I83c7e64fe70f7c49aa2492ed2d640c6756b7ebaa
Johann Koenig [Mon, 24 Sep 2018 23:11:49 +0000 (23:11 +0000)]
Merge "sanitizer: sse2 - fix unaligned double stores"
Johann Koenig [Mon, 24 Sep 2018 22:30:46 +0000 (22:30 +0000)]
Merge "segfault: fix missing alignment declaration"
Johann Koenig [Mon, 24 Sep 2018 22:30:09 +0000 (22:30 +0000)]
Merge "fix integer overflow caused by uninitialized memory"
Matthias Räncker [Fri, 21 Sep 2018 13:33:18 +0000 (15:33 +0200)]
sanitizer: sse2 - fix unaligned double stores
Signed-off-by: Matthias Räncker <theonetruecamper@gmx.de>
Change-Id: I838c8678e62f7cff13387b84d4f3ea42710a67ea
Hui Su [Mon, 24 Sep 2018 18:27:54 +0000 (11:27 -0700)]
Remove redundant code
in set_rt_speed_feature_framesize_independent().
use_nonrd_pick_mode is already set for speed >= 5, so need to set again
for speed >= 6.
Change-Id: Idb0a4b36d21e305bd63f19e98a70f615ad76f514
Hui Su [Mon, 24 Sep 2018 18:15:49 +0000 (18:15 +0000)]
Merge "Improve subpel MV search for speed 1"
Matthias Räncker [Sun, 23 Sep 2018 11:07:44 +0000 (13:07 +0200)]
fix integer overflow caused by uninitialized memory
Signed-off-by: Matthias Räncker <theonetruecamper@gmx.de>
Change-Id: I55ec2a803eff89b07376459e334d4e949bfcb2cc
Matthias Räncker [Sun, 23 Sep 2018 08:34:44 +0000 (10:34 +0200)]
segfault: fix missing alignment declaration
These variables are being fed to sse2 functions, that use aligned
loads.
Signed-off-by: Matthias Räncker <theonetruecamper@gmx.de>
Change-Id: I796c3483c6f3425d63d9262b02b19da59d536600
James Zern [Sat, 22 Sep 2018 19:19:16 +0000 (12:19 -0700)]
Revert "Revert "Revert "Loopfilter MultiThread Optimization"""
This reverts commit
bf6299010e815e111d7326530c249e9d99611f34.
segfaults, causes an assertion failure with corrupt input:
get_uv_tx_size: Assertion `mi->sb_type < BLOCK_8X8 ||
ss_size_lookup[mi->sb_type][pd->subsampling_x][pd->subsampling_y] !=
BLOCK_INVALID
BUG=webm:1562
Change-Id: I05a711cad3d8e7f1a8e64422b4356bdf4edb3d12
Jerome Jiang [Sat, 22 Sep 2018 07:15:21 +0000 (07:15 +0000)]
Merge "vp8: exit with bad fragment size in decoder."
Jingning Han [Sat, 22 Sep 2018 04:00:11 +0000 (04:00 +0000)]
Merge "Rework is_compound_allowed logic at encoder"
Johann Koenig [Fri, 21 Sep 2018 22:36:53 +0000 (22:36 +0000)]
Merge "internal stats: fix mem leak and initialize memory"
Johann Koenig [Fri, 21 Sep 2018 22:30:52 +0000 (22:30 +0000)]
Merge "better-hw-compatibility: fix out of bounds access"
Johann Koenig [Fri, 21 Sep 2018 22:20:29 +0000 (22:20 +0000)]
Merge "Revert "third_party/googletest: update to v1.8.1""
Johann Koenig [Fri, 21 Sep 2018 22:19:14 +0000 (22:19 +0000)]
Revert "third_party/googletest: update to v1.8.1"
This reverts commit
7d777ce6136d7325a102524b6d80c19bd420e4b6.
Reason for revert: Generates build warnings on VS10/VS12
third_party\googletest\src\include\gtest/gtest-printers.h(1036): error C2770: invalid explicit template argument(s) for 'AddReference<const ::std::tr1::tuple_element<I,std::tr1::tuple<_Arg0,_Arg1>>::type>::type testing::internal::TuplePolicy<TupleT>::get(const std::tr1::tuple<_Arg0,_Arg1> &)' [C:\src\buildbot\test-libvpx\tests\i9vRsze8hQ\.build-x86-win32-vs10\test_libvpx.vcxproj]
Original change's description:
> third_party/googletest: update to v1.8.1
>
> BUG=webm:1559
>
> Change-Id: I7a0b16c7bf3f97db2d8650a190b93aae7e12a948
TBR=tomfinegan@chromium.org
Bug: webm:1559
Change-Id: Ia1a7354084c778a4c4e91b33fef6462e88986d1e
Matthias Räncker [Thu, 20 Sep 2018 17:57:25 +0000 (19:57 +0200)]
better-hw-compatibility: fix out of bounds access
With --enable-better-hw-compatibility an access to array element -1
can be observed for VP9/ActiveMapTest.Test/0
../vp9/encoder/vp9_rdopt.c:3938:53: runtime error:
index -1 out of bounds for type 'RefBuffer [3]'
There doesn't seem anything that would prevent ref_frame from being 0.
If there is no reference frame it can probably be assumed that it
isn't scaled.
Signed-off-by: Matthias Räncker <theonetruecamper@gmx.de>
Change-Id: I0a29cd0ffc9a19742e5e72203d5ec5d0a16eac7a
Johann Koenig [Fri, 21 Sep 2018 18:34:02 +0000 (18:34 +0000)]
Merge "sanitizer: fix unaligned loads"
Jerome Jiang [Fri, 21 Sep 2018 18:16:26 +0000 (11:16 -0700)]
vp8: exit with bad fragment size in decoder.
BUG=webm:1555
Change-Id: Ie024c9f5a21f4ed05ab6b93f1677662eeef9e6d8
Angie Chiang [Fri, 21 Sep 2018 17:32:17 +0000 (17:32 +0000)]
Merge "Use different corner detection score"