Jerome Jiang [Mon, 12 Feb 2018 19:01:29 +0000 (11:01 -0800)]
vp9_cx_iface: Remove else when returning from the other branch.
Change-Id: I2fc15ec25cc5587cafc6621176d0a6d7c376fc7c
Jerome Jiang [Sat, 10 Feb 2018 16:39:43 +0000 (08:39 -0800)]
VP9 ROI: reset use_roi_ in datarate test.
Change-Id: I51765ce6c3c8e8646852c4da47b12a0198892c52
Jerome Jiang [Fri, 9 Feb 2018 22:47:00 +0000 (14:47 -0800)]
VP9 ROI: Fix errors in example encoder.
Fix some errors in the vpx_temporal_svc_encoder.
Change-Id: Id93f449364dcf72c826ca931df3c8c3d3b80100f
Jerome Jiang [Fri, 9 Feb 2018 19:01:52 +0000 (19:01 +0000)]
Merge "Reland "Add ROI support for VP9.""
Jerome Jiang [Mon, 29 Jan 2018 18:14:40 +0000 (10:14 -0800)]
Reland "Add ROI support for VP9."
Extended ROI struct suitable for VP9.
ROI input from user is passed into internal struct and applied on every frame
(except key frame).
Enabled usage of all 4 VP9 segment features (delta_qp, delta_lf, skip,
ref_frame) via the ROI map input.
Made changes to nonrd_pickmode for the ref_frame feature.
Only works for realtime speed >= 5.
AQ_MODE needs to be turned off for ROI to take effect.
Change example in the sample encoder: vpx_temporal_svc_encoder.c to be suitable
for VP9.
Add datarate test.
Bump up ABI version.
BUG=webm:1470
Change-Id: I663b8c89862328646f4cc6119752b66efc5dc9ac
Jerome Jiang [Fri, 9 Feb 2018 18:54:55 +0000 (18:54 +0000)]
Merge "Revert "Add ROI support for VP9.""
Jerome Jiang [Fri, 9 Feb 2018 18:53:54 +0000 (18:53 +0000)]
Revert "Add ROI support for VP9."
This reverts commit
4e5b4b58483e1f38e37acd49b809d725b4f66c26.
Reason for revert: Commit message inaccurate.
Original change's description:
> Add ROI support for VP9.
>
> Extended ROI struct suitable for VP9.
> ROI input from user is passed into internal struct and applied on every frame
> (except key frame).
>
> Enabled usage of all 4 VP9 segment features (delta_qp, delta_lf, skip,
> ref_frame) via the ROI map input.
> Made changes to nonrd_pickmode for the ref_frame feature.
>
> Only works for realtime speed >= 5.
> AQ_MODE needs to be turned off for ROI to take effect.
>
> Change example in the sample encoder: vpx_temporal_svc_encoder.c to be suitable
> for VP9.
> Add datarate test.
>
> Bump up ABI version.
>
> BUG=webm:1470
>
> Change-Id: I7e0cf6890649adb98a5fda2efb6ae1fa511c7fc9
TBR=yaowu@google.com,jzern@google.com,marpan@google.com,builds@webmproject.org,jianj@google.com
Change-Id: I000dbd81e0c67cb8a0dcde4013ee9bf7afb038f0
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: webm:1470
Jerome Jiang [Fri, 9 Feb 2018 16:58:55 +0000 (16:58 +0000)]
Merge "Add ROI support for VP9."
paulwilkins [Wed, 31 Jan 2018 16:42:37 +0000 (16:42 +0000)]
Improved coding on slide show content.
This patch adds in detection of slide show key frame groups.
The detection assumes extremely low or 0 motion for all frames
in the key frame group.
If this case is detected the boost level is set to a very high value
and the min Q to a lower value for the key frame itself.
Alt refs and golden frames are disabled to save bits (up to a limiting
maximum interval currently set to 240 frames).
In test samples that I created, this patch gave rise to a substantial
improvement in overall psnr and a drop in data rate. In some cases the
average psnr fell, however, with the boost and minQ values set as they are.
This is to be expected because previously a relatively poor key frame
could be followed by progressively better alt refs. For example a key
frame at q7.5 but subsequent alt refs improving it to lossless. Given that
average psnr tends to be dominated by the best frames, a ramp like this
from q7.5 to lossless may give a better average psnr than, for example,
coding the entire sequence at q2.5. Overall psnr, however, will be much
better in the latter case. The option exists to boost the key frame further
which would insure much better results for all metrics, but at the expense
of smaller bitrate savings. Given that these samples tend to have very
good quality anyway this seems like a bad trade off.
For slides displayed for several seconds, bitrate savings of >= 20% are likely
and much larger gains are possible in some cases.
Change-Id: Ib4b61e153c55d3f2f561153da13fdb56f397a52b
Marco [Mon, 29 Jan 2018 18:14:40 +0000 (10:14 -0800)]
Add ROI support for VP9.
Extended ROI struct suitable for VP9.
ROI input from user is passed into internal struct and applied on every frame
(except key frame).
Enabled usage of all 4 VP9 segment features (delta_qp, delta_lf, skip,
ref_frame) via the ROI map input.
Made changes to nonrd_pickmode for the ref_frame feature.
Only works for realtime speed >= 5.
AQ_MODE needs to be turned off for ROI to take effect.
Change example in the sample encoder: vpx_temporal_svc_encoder.c to be suitable
for VP9.
Add datarate test.
Bump up ABI version.
BUG=webm:1470
Change-Id: I7e0cf6890649adb98a5fda2efb6ae1fa511c7fc9
paulwilkins [Wed, 7 Feb 2018 15:05:20 +0000 (15:05 +0000)]
Adjust MAXRATE_1080P.
This value was originally set in response to requests from the hardware
team before levels were properly defined for VP9.
Even if a level is not specified for an encode, it imposes a maximum
frame size for videos of dimensions <= 1080P. For larger formats the
limit was set at 250 bits per MB.
This patch modifies the limit to be more in line with the requirements
specified for level 4 (max rate for a 4 frame group of 16 Mbits). If a lower
level is specified at encode time and this mandates a smaller maximum frame
size then the level requirement will still take precedence.
Increasing this value allows for some slide shows or very low motion clips
to code a better quality key frame.
Change-Id: Ic08e0e09c8a918077152190c59732b9a1c049787
Paul Wilkins [Thu, 8 Feb 2018 10:57:44 +0000 (10:57 +0000)]
Merge "Fix file input pointer bug in allocate_gf_group_bits()."
Linfeng Zhang [Wed, 7 Feb 2018 02:12:12 +0000 (18:12 -0800)]
Update iadst NEON functions
Use scalar multiply. No impact on clang, but improves gcc compiling.
BUG=webm:1403
Change-Id: I4922e7e033d9e93282c754754100850e232e1529
Linfeng Zhang [Wed, 7 Feb 2018 18:39:52 +0000 (10:39 -0800)]
Clean vp9_highbd_iht4x4_16_add_neon()
Extract common code.
Change-Id: I422150ada1c6915f0ce39b912149994eb3bb3f12
paulwilkins [Tue, 6 Feb 2018 13:54:25 +0000 (13:54 +0000)]
Fix file input pointer bug in allocate_gf_group_bits().
The stats input pointer, when passed in, already points to the
frame after the golden frame so should not be advanced here.
This fix has a small mostly positive effect on results in our test sets
(tested using corpus vbr settings) and gives a gain of almost 0.5%
in overall psnr (plus slightly smaller gains on other metrics) for the
4K set.
The bug also caused a crash in calculate_group_score() in another
patch which allows coding of slides in a slide show as a single
long KF group without ARFs or GFs.
Change-Id: I57a3a24baf442ce55dbc91fba05e056697c63a6f
Linfeng Zhang [Wed, 31 Jan 2018 00:55:22 +0000 (16:55 -0800)]
Update tx_type switch code in idct
Change-Id: Ia244bfd4b4eb9d703653792bc4f64c6f5358ae19
Linfeng Zhang [Wed, 31 Jan 2018 00:01:41 +0000 (16:01 -0800)]
Add vp9_highbd_iht4x4_16_add_neon()
BUG=webm:1403
Change-Id: Id9833e985fb70958cf4bde38f8e6303ed83c12f9
James Zern [Fri, 2 Feb 2018 18:41:46 +0000 (18:41 +0000)]
Merge "inv_txfm_vsx.c: make code c90 compatible"
Jerome Jiang [Fri, 2 Feb 2018 05:32:55 +0000 (05:32 +0000)]
Merge "Fix issue for 0 target bitrate in multi-res build."
Jerome Jiang [Thu, 25 Jan 2018 19:36:53 +0000 (11:36 -0800)]
Fix issue for 0 target bitrate in multi-res build.
For encoding with --enable-multi-res-encoding, with 1 layer, when the
target bitrate is set 0, under these conditions null pointer
will be de-referenced. Fix is to check
cpi->oxcf.mr_total_resolutions > 1. Also added NULL pointer check.
This issue causes crash for asan build in chromium clusterfuzz.
BUG=805863
Change-Id: I9cd25af631395bc9fede3a12fb68af4021eb15f8
James Zern [Fri, 2 Feb 2018 03:39:58 +0000 (19:39 -0800)]
inv_txfm_vsx.c: make code c90 compatible
move for loop declarations to function scope
Change-Id: I84d92a1a6ca6c5ac30aacb0f55d87ca3aef4c98f
James Zern [Thu, 1 Feb 2018 20:44:48 +0000 (20:44 +0000)]
Merge "vp9_scale_test: parameterize filter type"
Paul Wilkins [Thu, 1 Feb 2018 10:21:38 +0000 (10:21 +0000)]
Merge "Further change to code detecting slide transitions."
James Zern [Thu, 1 Feb 2018 07:38:47 +0000 (23:38 -0800)]
vp9_scale_test: parameterize filter type
this allows the test to be sharded more efficiently and speeds up the
run when built with slower configs, e.g., asan.
Change-Id: If6d863b76871e3934704a1079bbf17f4886932c7
Marco [Wed, 31 Jan 2018 23:15:40 +0000 (15:15 -0800)]
vp9-svc: Add condition on allocation for scaled_temp.
scaled_temp frame is used as an intermediate buffer for
2 stage down-sampling: two stages of 1/2 down-sampling
for a target of 1/4x1/4. This is used in 3 layer SVC
to avoid duplicate frame downsampling (on middle layer).
As this allocation is only needed/used when the
number_spatial_layers > 2, add this condition to avoid
unneeded allocation for 1 and 2 spatial SVC.
Change-Id: If342466644f685c1ea3ca5344b581793e5136c09
Marco [Wed, 31 Jan 2018 21:33:27 +0000 (13:33 -0800)]
vp9-svc: Fix to initialize downsampling filters.
For 3 spatial layers with 1/2 downsampling, the
downsampling filter for the middle layer was not
set for the very first frame, so it was defaulting
to the subsample filter (no averaging/phase = 0).
Its not set due to the two stage scaling that is
done for 1/4 on base layer, during which the intermediate
1/2 result is saved for the middle layer.
Fix for now is to set the default downsampling filter
to Bilinear (averaging/non-zero phase) for all layers on
init (vp9_init_layer_context):.
Change-Id: Ic7407810b34c621e7e7420682508d45478bdffcf
paulwilkins [Mon, 15 Jan 2018 12:00:01 +0000 (12:00 +0000)]
Further change to code detecting slide transitions.
Eliminate false positives in previous patch.
The previous patch did a good job of detecting slide transitions but
in discussions a number of situations were identified that might trigger
harmful false positives. This risk seems to be born out by some testing
on a wider YT set done by yclin@.
This patch adds an additional clause that requires that the best case
inter and intra error for the frame are very similar,meaning it is almost
as easy to code a key frame as an inter frame. This will certainly prevent
the false positive conditions that Jim and I discussed and even if one
does occur it should not be very damaging.
The down side is that this clause may mean that we still miss some
real slide transitions, especially if the images are small and similar. If this
proves to be the case then some further adjustment of the threshold may be
required. However, in the specific problem sample provided we do trap every
transition correctly.
Change-Id: I7e5e79e52dc09bc47917565bf00cc44e5cddd44c
Marco Paniconi [Wed, 31 Jan 2018 16:56:04 +0000 (16:56 +0000)]
vp9 svc: Make top layer non-ref: for 2 TL case
Only affects 2 temporal layer case.
Modified the flags for 2 temporal layers to make
top layer (top spatial, top temporal) a non-reference
frame, conistent with the 3 TL case.
Add mismatch check to the datarate test of changing
svc pattern on the fly, which is test for 2 temporal
layers.
This re-applies the change:
254e2f5501d,
that was reverted in:
658eb1d675.
Change-Id: Ib5fd4a7a0312c0c05329ae75baac480af34b4694
Marco Paniconi [Wed, 31 Jan 2018 16:49:42 +0000 (16:49 +0000)]
Merge "Revert "vp9 svc: fix to make top layer frame non-ref""
Marco Paniconi [Wed, 31 Jan 2018 16:49:16 +0000 (16:49 +0000)]
Revert "vp9 svc: fix to make top layer frame non-ref"
This reverts commit
254e2f5501d000ca66bc65c5f44bb6a882d4167c.
Reason for revert: <INSERT REASONING HERE>
Original change's description:
> vp9 svc: fix to make top layer frame non-ref
>
> Add mismatch check to the datarate test of changing svc pattern on the
> fly.
>
> Change-Id: I6a878736de44e6a40c077ed6430aabd7fadabdd9
TBR=marpan@google.com,builds@webmproject.org,jianj@google.com
Change-Id: Ibcb600438098f8dc380fe7e1de90cb81fc367468
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Johann Koenig [Wed, 31 Jan 2018 14:25:13 +0000 (14:25 +0000)]
Merge "Fix warning about bitwise 'not' on boolean"
Johann Koenig [Wed, 31 Jan 2018 14:23:49 +0000 (14:23 +0000)]
Merge "vp8 bool: verify buffer size"
Johann [Tue, 9 Jan 2018 20:46:45 +0000 (12:46 -0800)]
Fix warning about bitwise 'not' on boolean
cherry-picked from libaom:
commit
cf26ee5ad2b9da79fa68c33b7d22ff53c66d6509
Author: Sebastien Alaiwan <sebastien.alaiwan@allegrodvt.com>
Date: Wed, 4 Oct 2017 10:09:13 +0200
BUG=webm:1491
Change-Id: I36c6e83ed716649f3d9ee10ce3aa9bb847cac2d9
Johann [Tue, 30 Jan 2018 19:12:08 +0000 (11:12 -0800)]
vp8 bool: verify buffer size
In the process of fixing a ubsan warning:
commit
738b829b8cdf079a5fa48c74a28a177c9567d212
Fix incorrect size reading
the inferred check of start < end was removed. This causes fuzzed files
to get a little further and segfault in vp8dx_start_decode.
Change-Id: I316e23058753ba42dbcc46d27eb575f51c8a9e9a
Marco Paniconi [Tue, 30 Jan 2018 16:56:42 +0000 (16:56 +0000)]
Merge "vp9 svc: fix to make top layer frame non-ref"
Johann Koenig [Tue, 30 Jan 2018 15:32:22 +0000 (15:32 +0000)]
Merge "Fix doc comment mismatch in vpx_frame_buffer.h"
Jerome Jiang [Tue, 30 Jan 2018 00:38:28 +0000 (16:38 -0800)]
vp9 svc: fix to make top layer frame non-ref
Add mismatch check to the datarate test of changing svc pattern on the
fly.
Change-Id: I6a878736de44e6a40c077ed6430aabd7fadabdd9
Linfeng Zhang [Tue, 30 Jan 2018 01:20:41 +0000 (01:20 +0000)]
Merge "Update vp9_iht8x8_64_add_neon()"
Jerome Jiang [Tue, 30 Jan 2018 00:01:46 +0000 (00:01 +0000)]
Merge "Datarate test for usage of SVC_SET_REF_FRAME_CONFIG"
Linfeng Zhang [Mon, 29 Jan 2018 23:17:08 +0000 (15:17 -0800)]
Update vp9_iht8x8_64_add_neon()
Change-Id: Ie70ed8b9273df5e1fd06bc93cb469e80630941d2
Brion Vibber [Mon, 29 Jan 2018 23:13:09 +0000 (15:13 -0800)]
Fix doc comment mismatch in vpx_frame_buffer.h
When compiling an app using libvpx in Xcode 9.2, a warning is
thrown in vpx_frame_buffer.h:
"Parameter 'new_size' not found in the function declaration"
Switching it to 'min_size' to match the comment text and the
callback type definition prototype resolves it.
Change-Id: I7a3e4a857c2007c2d0d390e22054d7bc85068aa1
Jerome Jiang [Thu, 25 Jan 2018 18:43:00 +0000 (10:43 -0800)]
Datarate test for usage of SVC_SET_REF_FRAME_CONFIG
Change-Id: Iea7fc1b6cea84826eb45b1f01bd923323c2c9a6f
Linfeng Zhang [Mon, 29 Jan 2018 20:16:47 +0000 (20:16 +0000)]
Merge changes Ica8dbe5f,I8f4e0fc6
* changes:
Update vp9_iht4x4_16_add_neon()
Clean dct_const_round_shift() related neon code
Johann [Mon, 29 Jan 2018 19:57:00 +0000 (11:57 -0800)]
Merge remote-tracking branch 'origin/mandarinduck' into HEAD
The following changes were not carried back from the release branch:
commit
f87a4594fbd0b19071a2befebf52d3f5fabd1a9e
Revert "Add frame width & height to frame pkt. Add test."
commit
c5dc3373dbd442ea299bacf276c4258fa7ce0559
work around pic issue with gcc 6
BUG=webm:1490
Change-Id: Id3e15983d5565680c05a0c454544003a615a4d7f
Linfeng Zhang [Wed, 24 Jan 2018 21:54:55 +0000 (13:54 -0800)]
Update vp9_iht4x4_16_add_neon()
Change-Id: Ica8dbe5f8167e5d370d89d233c598b70bba123b7
Linfeng Zhang [Wed, 24 Jan 2018 21:05:39 +0000 (13:05 -0800)]
Clean dct_const_round_shift() related neon code
Change-Id: I8f4e0fc6ecb77b623519f2dd3cd2886f89218ddd
Linfeng Zhang [Mon, 29 Jan 2018 17:34:11 +0000 (17:34 +0000)]
Merge "cosmetic: clean idct neon functions"
Johann Koenig [Sat, 27 Jan 2018 01:42:58 +0000 (01:42 +0000)]
Merge "Fix incorrect size reading"
Johann [Fri, 26 Jan 2018 23:50:50 +0000 (15:50 -0800)]
Fix incorrect size reading
Cherry pick from vp9:
commit
85770264ac891505730dcd5092d1993a62c74060
Guard against incorrect size values moving *data past data_end.
Check read length against the difference of the buffers.
Change-Id: I5e8679ddd447c4d73deb80be5ec94841a92c5fcd
Jerome Jiang [Fri, 26 Jan 2018 22:45:39 +0000 (22:45 +0000)]
Merge "vp9 svc: Update temporal_layering_mode in config change."
Jerome Jiang [Fri, 26 Jan 2018 21:38:04 +0000 (13:38 -0800)]
vp9 svc: Update temporal_layering_mode in config change.
temporal_layering_mode can be changed on the fly.
BUG=webm:1488
Change-Id: I223fd4085184e41878ddf0f9244d2e3d07636ae3
Marco [Fri, 26 Jan 2018 03:00:31 +0000 (19:00 -0800)]
vp9-svc: Adjust logic on intra mode search.
For SVC, on spatial enhancement layer, intra
search was disabled unless best reference frame
is golden (i.e., spatial/inter-layer prediction),
except for some other conditions (lower layer is key
or golden is not an allowed reference).
Fix is to add the base temporal layer condition,
so intra search will not be force-disabled for base
temporal layer frames.
This improves metrics (-1-2%) for SVC 3 and 2 layer config.
Some small encode time is expected, but since condition
only affect base temporal layers (i.e., every 4 frames
for 3 layers), increase is small.
Change-Id: I10b824faef99560dfdeeb02ba8bf8e3e1eea6255
Marco [Thu, 25 Jan 2018 01:12:43 +0000 (17:12 -0800)]
vp9-svc: Add QP dependency to thresh_svc_skip_golden.
In nonrd-pickmode: the golden/spatial reference for inter-layer
prediction may be skipped in the mode testing. Add QP dependency
to reduce the threshold for skipping (i.e., check it more often)
at high QP, if the lower layer was encoded at lower QP relative
to the current layer.
At high QP, a better quality lower resolution is more likely to
provide good spatial (inter-layer) prediction.
avgPSNR/SSIM metrics up by ~1% (all clips positive gain or neutral).
Some decrease in encode time (~1-2%) expected at lower bitrates,
for 3 layer SVC.
Change-Id: I9ee0f62d4b10d4ebd30165d378ecfa4399ae5ef1
Marco Paniconi [Wed, 24 Jan 2018 23:56:48 +0000 (23:56 +0000)]
Merge "vp9: Fix to vp9_svc sample encoder for bypass mode."
Johann Koenig [Wed, 24 Jan 2018 23:44:12 +0000 (23:44 +0000)]
Merge "remove obsolete doxygen tags"
Marco [Wed, 24 Jan 2018 23:16:34 +0000 (15:16 -0800)]
vp9: Fix to vp9_svc sample encoder for bypass mode.
This fix makes it bitexact to the default SVC pattern,
for the example 2 temporal layer case.
Change-Id: I4df2063b70f7aecbfc7082f29c8439e05f6db8ac
Scott LaVarnway [Wed, 24 Jan 2018 22:54:42 +0000 (22:54 +0000)]
Merge "BUG FIX: sse2 subpel variance is not PIC compliant"
Johann [Wed, 24 Jan 2018 22:29:07 +0000 (14:29 -0800)]
remove obsolete doxygen tags
warning: Tag `XML_SCHEMA' at line 941 of file `doxyfile' has become obsolete.
warning: Tag `XML_DTD' at line 947 of file `doxyfile' has become obsolete.
Change-Id: I85e39c4fb154569b8d7f68bdf362408983e9bd4f
Johann [Thu, 4 Jan 2018 18:54:28 +0000 (10:54 -0800)]
Release 1.7.0 Mandarin Duck
Change-Id: I186440f3643a85694f45400393efb661f6d012fc
Linfeng Zhang [Wed, 24 Jan 2018 00:03:50 +0000 (16:03 -0800)]
cosmetic: clean idct neon functions
Change-Id: I9c7c52567850aded0437b13ba1260e94441bc49d
Marco Paniconi [Wed, 24 Jan 2018 20:29:10 +0000 (20:29 +0000)]
Merge "vp9-svc: Re-adjust some aq-mode=3 control parameters."
Scott LaVarnway [Sat, 13 Jan 2018 15:01:04 +0000 (07:01 -0800)]
BUG FIX: sse2 subpel variance is not PIC compliant
BUG=webm:1464
Change-Id: Ibc15bac54aaf509365bed5892a26a29972ad3540
Scott LaVarnway [Wed, 24 Jan 2018 13:58:08 +0000 (13:58 +0000)]
Merge "vp9_quantize_fp_avx2()"
Marco [Wed, 24 Jan 2018 04:03:19 +0000 (20:03 -0800)]
vp9-svc: Re-adjust some aq-mode=3 control parameters.
Remove an adjustment to two cyclic refresh (aq-mode= 3)
parameters for SVC. The adjustment was to reduce the
delta-qp on second segment, and reduce the motion threshold.
This was done early on in the SVC encoder development,
in the latest codebase removing this adjustment yields
some improvements in metrics.
The avgPSNR/SSIM metrics increase on average by ~1%
(most clip positive gain), for 3 and 2 layer SVC.
Change-Id: I7a4d5114f16b2a1df383dbe6b3fe02940e29e6cc
Johann Koenig [Wed, 24 Jan 2018 04:03:23 +0000 (04:03 +0000)]
Merge "update .clang-format for v5.0.0"
James Zern [Tue, 23 Jan 2018 21:01:23 +0000 (13:01 -0800)]
vpx_codec_enc_init_multi: fix segfault w/vp9
vp9 does not support multi-res encoding, the request should not crash.
+ encode_api_test: unconditionally expose multi-res test
vpx_codec_enc_init_multi should fail independent of
CONFIG_MULTI_RES_ENCODING if not for the same reason.
Change-Id: I44fc58ef70ee4e0e482cb6a5736885f4cb2a8517
(cherry picked from commit
004fb91416e355986dc098883791becf39ffc1f7)
Jerome Jiang [Wed, 17 Jan 2018 19:23:55 +0000 (11:23 -0800)]
Fix crash invalid params for vp8 multres. Add test.
Fix is from the patch in the issue.
Release memories allocated before early exit.
BUG=webm:1482
Change-Id: I64952af99c58241496e03fa55da09fd129a07c77
(cherry picked from commit
5b6ae020b6a972b67b59b3dbf7cf9cbd3140a80d)
James Zern [Wed, 24 Jan 2018 02:12:00 +0000 (02:12 +0000)]
Merge "vpx_codec_enc_init_multi: fix segfault w/vp9"
Jerome Jiang [Wed, 24 Jan 2018 01:12:44 +0000 (01:12 +0000)]
Merge "Fix frame sizes in pkt to support spatial layers."
Shiyou Yin [Wed, 24 Jan 2018 01:06:42 +0000 (01:06 +0000)]
Merge "vp8: [loongson] fix bug of type conflict."
James Zern [Tue, 23 Jan 2018 21:01:23 +0000 (13:01 -0800)]
vpx_codec_enc_init_multi: fix segfault w/vp9
vp9 does not support multi-res encoding, the request should not crash.
+ encode_api_test: unconditionally expose multi-res test
vpx_codec_enc_init_multi should fail independent of
CONFIG_MULTI_RES_ENCODING if not for the same reason.
Change-Id: I44fc58ef70ee4e0e482cb6a5736885f4cb2a8517
Johann [Tue, 23 Jan 2018 21:37:42 +0000 (13:37 -0800)]
update .clang-format for v5.0.0
Change-Id: Id43e8ce9cf3790b728683acc9686e246ccaa90cf
Linfeng Zhang [Tue, 23 Jan 2018 17:47:34 +0000 (09:47 -0800)]
Add vp9_highbd_iht16x16_256_add_sse4_1()
BUG=webm:1413
Change-Id: I8d7eeae1bd219eb848c1a86071046a477f7a91af
Linfeng Zhang [Tue, 23 Jan 2018 18:28:59 +0000 (18:28 +0000)]
Merge "Add "vpx_" prefix to 2 idct x86 functions"
Jerome Jiang [Tue, 23 Jan 2018 17:25:28 +0000 (17:25 +0000)]
Merge "Fix crash invalid params for vp8 multres. Add test."
Linfeng Zhang [Tue, 23 Jan 2018 17:17:38 +0000 (09:17 -0800)]
Add "vpx_" prefix to 2 idct x86 functions
Change-Id: I4f3052d8748e16b06e9155f8daf22f867dfaa7a3
Linfeng Zhang [Tue, 23 Jan 2018 17:04:20 +0000 (17:04 +0000)]
Merge "Add vp9_highbd_iht8x8_64_add_sse4_1()"
Shiyou Yin [Tue, 23 Jan 2018 03:33:25 +0000 (11:33 +0800)]
vp8: [loongson] fix bug of type conflict.
In commit
577d4fa79, int8_t was used to replace char. This will result in a
compilation error, for int8_t was typedefined to signed char, but not char.
Change-Id: I5c9837e01b0b58688a7741f5c9a99a76ca887e4a
Jerome Jiang [Mon, 22 Jan 2018 23:34:59 +0000 (15:34 -0800)]
Fix frame sizes in pkt to support spatial layers.
Add test for svc frame sizes in pkt.
BUG=webm:1485
Change-Id: I983dc229e526d72d22360d7f3016d8358d6beae7
Jerome Jiang [Wed, 17 Jan 2018 19:23:55 +0000 (11:23 -0800)]
Fix crash invalid params for vp8 multres. Add test.
Fix is from the patch in the issue.
Release memories allocated before early exit.
BUG=webm:1482
Change-Id: I64952af99c58241496e03fa55da09fd129a07c77
Johann Koenig [Mon, 22 Jan 2018 19:38:42 +0000 (19:38 +0000)]
Merge changes from topic "clang-format"
* changes:
clang-format v5.0.0 vp9/
remove spurious comments
clang-format v5.0.0 vp8/
clang-format v5.0.0 vpx_dsp/
clang-format v5.0.0 mem_ops.h
clang-format v5.0.0 vpx_util/vpx_atomic.h
clang-format v5.0.0 y4minput.c
clang-format v5.0.0 vpxenc.c
clang-format v5.0.0 examples/
clang-format v5.0.0 test/
Linfeng Zhang [Thu, 18 Jan 2018 23:48:19 +0000 (15:48 -0800)]
Add vp9_highbd_iht8x8_64_add_sse4_1()
BUG=webm:1413
Change-Id: Id9038226902b2d793fc6c17ac81bb104c1a18988
Scott LaVarnway [Fri, 17 Nov 2017 20:34:24 +0000 (12:34 -0800)]
vp9_quantize_fp_avx2()
Started from vp9_quantize_fp_sse2 and tweaked to use avx2.
Change-Id: Ic2da50cc9d73896c7ef2f3cd3db5b1c5d7795b8b
Johann [Fri, 12 Jan 2018 17:39:53 +0000 (09:39 -0800)]
clang-format v5.0.0 vp9/
Remove trailing commas to keep multiple elements on one line.
Add blank lines to prevent comments from being treated as blocks.
clang-format guards for struct with a comment in the middle.
Change-Id: I3bcb8313ae8aaf69179249a13b4087b1272cdbc0
Johann [Fri, 12 Jan 2018 17:14:30 +0000 (09:14 -0800)]
remove spurious comments
These don't appear to make any sense given their context. The
commit log also does not reveal anything.
Discovered due to spurious clang-format indenting:
https://bugs.llvm.org/show_bug.cgi?id=35930
Change-Id: I732a66056ba4c05e3e132a2f236fe10f7a282900
Johann [Fri, 12 Jan 2018 17:12:42 +0000 (09:12 -0800)]
clang-format v5.0.0 vp8/
Allow*OnASingleLine appears to no longer apply to
typedef structs.
Adjust closing parenthesis/opening brace on functions.
Remove trailing commas to keep multiple elements on one line.
Change-Id: I6e535a8ddb15c9b3de8216ce8ddb2a18241af46c
Johann [Fri, 12 Jan 2018 16:42:52 +0000 (08:42 -0800)]
clang-format v5.0.0 vpx_dsp/
Remove comments above #define statements because they get
indented unnecessarily.
https://bugs.llvm.org/show_bug.cgi?id=35930
Add blank lines to prevent comments from being treated as
blocks.
Change-Id: I04dce21b2a10e13b8dc07411a0019c098f6dd705
Marco [Tue, 16 Jan 2018 19:37:40 +0000 (11:37 -0800)]
vp8: Fix to multi-res-encoder for skipping streams.
For the vp8 simulcast/multi-res-encoder:
Add flags to keep track of the disabling/skipping of
streams for the multi-res-encoder. And if the lower spatial
stream is skipped for a given stream, disable the motion
vector reuse for that stream.
Also remove the condition of forcing same frame type
across all streams.
This fix allows for the skipping/disabling of the base
or middle layer streams.
Change-Id: Idfa94b32b6d2256932f6602cde19579b8e50a8bd
Johann Koenig [Wed, 17 Jan 2018 20:17:33 +0000 (20:17 +0000)]
Merge "Revert "Add frame width & height to frame pkt. Add test."" into mandarinduck
Johann [Wed, 17 Jan 2018 19:26:31 +0000 (11:26 -0800)]
Revert "Add frame width & height to frame pkt. Add test."
This reverts commit
bd1d995cd38b4e31a01356079f1d94067273eb28.
Remove the feature from the release as it requires additional work.
BUG=webm:1485
Change-Id: I1a01ac2525703af97a456a3eed85718306c0f734
Vignesh Venkatasubramanian [Tue, 16 Jan 2018 23:42:43 +0000 (15:42 -0800)]
vp8dx.h: Add macro for skipping loop filter
Without this applications cannot use the vpx_codec_control macro
for VP9_SET_SKIP_LOOP_FILTER. The tests only cover the underscored
version vpx_codec_control_().
Change-Id: I3e6c1888307b76636fdc1a8deae70b5c14238163
(cherry picked from commit
373e08f921e5bfd5a96963fabbbbe16ec793d44e)
Vignesh Venkatasubramanian [Tue, 16 Jan 2018 23:42:43 +0000 (15:42 -0800)]
vp8dx.h: Add macro for skipping loop filter
Without this applications cannot use the vpx_codec_control macro
for VP9_SET_SKIP_LOOP_FILTER. The tests only cover the underscored
version vpx_codec_control_().
Change-Id: I3e6c1888307b76636fdc1a8deae70b5c14238163
paulwilkins [Thu, 4 Jan 2018 16:02:42 +0000 (16:02 +0000)]
Fix bug in use of zoom metric as part of arf breakout.
The in/out (or zoom metrics) in accumulate_frame_motion_stats()
are in effect a % of the blocks that have a motion vector pointing
either towards or away from the center. As such they are already
normalized in terms of image size and the thresholds against which
these are tested should be image size independent.
In practice a zoom either in or out is an indicator for a shorter group
length so the abs value is more important as a breakout clause.
This patch fixes the threshold test. Clips without noticeable zoom show
no effect but some with strong zooms such as "station" show a big
gain (5-10%). Average psnr-hvs gain on hdres set was 0.292%
Change-Id: I4f97a72b0e273e4e844ade15285749c32cd81c1c
(cherry picked from commit
0226ce79e9389ccf7d10ed7acacba6840ad911c9)
Paul Wilkins [Fri, 12 Jan 2018 18:45:28 +0000 (18:45 +0000)]
Merge "Add zoom break out for kf boost loop."
Paul Wilkins [Fri, 12 Jan 2018 18:45:13 +0000 (18:45 +0000)]
Merge "Fix kf detection in some slide shows."
Johann [Thu, 11 Jan 2018 23:20:08 +0000 (15:20 -0800)]
clang-format v5.0.0 mem_ops.h
Remove trailing empty line to keep the comment from being indented.
https://bugs.llvm.org/show_bug.cgi?id=35930
Change-Id: I6c51f7afb4cc47f03a190b4c90e29e4ff1e0c689
Johann [Thu, 11 Jan 2018 23:17:29 +0000 (15:17 -0800)]
clang-format v5.0.0 vpx_util/vpx_atomic.h
Allow*OnASingleLine appears to no longer apply to
typedef structs.
Change-Id: If10db1c30c74ee31dad1a0b1926964e850f15fd2
Johann [Thu, 11 Jan 2018 23:08:25 +0000 (15:08 -0800)]
clang-format v5.0.0 y4minput.c
Remove trailing empty line to keep the comment from being indented.
https://bugs.llvm.org/show_bug.cgi?id=35930
Change-Id: If0f0862623b3fa3ae49e850edbbed52c2b4c6672
Johann [Thu, 11 Jan 2018 23:06:32 +0000 (15:06 -0800)]
clang-format v5.0.0 vpxenc.c
Treat the formatted string as one distinct parameter to fprintf
Change-Id: I62cfd5657c4cefc6b3fa45247ba9f33515a292b1
Johann [Thu, 11 Jan 2018 22:55:06 +0000 (14:55 -0800)]
clang-format v5.0.0 examples/
Attempts to group () expression on their own line.
Change-Id: I404f9dd1a91aaa2100925c90162bcdefbead5ad2