platform/upstream/libvpx.git
3 years agoMerge "vp8: restrict 1st pass cpu_used range"
James Zern [Fri, 12 Mar 2021 19:44:42 +0000 (19:44 +0000)]
Merge "vp8: restrict 1st pass cpu_used range"

3 years agovp9-rtc: Add postencode_drop control to sample encoder
Marco Paniconi [Fri, 12 Mar 2021 17:54:03 +0000 (09:54 -0800)]
vp9-rtc: Add postencode_drop control to sample encoder

Change-Id: I1c989f26b0a7b9239adf37df8d96776f33b89a8b

3 years agoVizer: Added in experimental max KF boost values.
Paul Wilkins [Tue, 9 Mar 2021 15:11:41 +0000 (15:11 +0000)]
Vizer: Added in experimental max KF boost values.

Added the experimental max per frame KF boost values derived from
the Vizier experiments.

These are still all off by default.

When enabled I expect these to cause significant regression as they
fluctuate wildly and in a way that makes no sense from format to format.

I suspect these values reflect over fitting perhaps from a subset of
training clips with more frequent mid chunk key frames and or short key
frame groups.

Also fixed incorrect value for gf boost for one format.

Experiment to moderate these values and use different values for first
and subsequent KF groups to follow.

Change-Id: Ibeb4268957f2edacdb4549d74930255a22a2fcc5

3 years agoVizier: Add in field for min kf frame boost.
Paul Wilkins [Tue, 9 Mar 2021 14:47:25 +0000 (14:47 +0000)]
Vizier: Add in field for min kf frame boost.

Added kf_frame_min_boost field to hold the minimum per frame
boost in key frame boost calculations. Replaces hard wired value.
To be used in conjunction with and tied to the maximum value.

Change-Id: I67a39ecb3f21b5918512a5ccd9a1b214d7971e45

3 years agoMerge "Vizier: Add defaults for > 1080P"
Paul Wilkins [Wed, 10 Mar 2021 14:35:53 +0000 (14:35 +0000)]
Merge "Vizier: Add defaults for > 1080P"

3 years agoMerge "L2E: let vp9 encoder respect external max frame size constraint"
Cheng Chen [Wed, 10 Mar 2021 05:50:50 +0000 (05:50 +0000)]
Merge "L2E: let vp9 encoder respect external max frame size constraint"

3 years agoMerge "Further integration for Vizier."
Paul Wilkins [Tue, 9 Mar 2021 17:30:04 +0000 (17:30 +0000)]
Merge "Further integration for Vizier."

3 years agoVizier: Add defaults for > 1080P
Paul Wilkins [Tue, 9 Mar 2021 14:07:48 +0000 (14:07 +0000)]
Vizier: Add defaults for > 1080P

Previous code did not have sensible defaults for larger image formats.

Added defaults for Vizier RD parameters for sizes > 1080P and changed
the first pass parameters for large formats to use the 1080P values.
No supplied value  for rd_mult_q_sq_key_high_qp case yet so set to
old hard wired default value.

If the Vizier parameters were enabled the lack of sensible defaults
caused a large regression for 2K clips in one of our test sets.

Change-Id: I306c0cd76eab00d50880c91fadb5842faf6661ff

3 years agoL2E: let vp9 encoder respect external max frame size constraint
Cheng Chen [Mon, 8 Mar 2021 20:25:31 +0000 (12:25 -0800)]
L2E: let vp9 encoder respect external max frame size constraint

Change-Id: Ib926e694d4bc4675af1435a32f6316a587756380

3 years agoFurther integration for Vizier.
Paul Wilkins [Thu, 4 Mar 2021 17:10:09 +0000 (17:10 +0000)]
Further integration for Vizier.

Further integration of Vizier adjustable parameters,

This patch connects up additional configurable two pass rate control
parameters for the Vizier project.  This still needs to be connected up
to a command line interface and at the moment should still be using
default values that match previous behavior.

Do not submit until verified that defaults are all working correctly.

Change-Id: If1241c2dba6759395e6efa349c4659a0c345361d

3 years agoCheck for _WIN32 instead of WIN32. v1.10.0-rc1
James Touton [Fri, 5 Mar 2021 02:43:29 +0000 (18:43 -0800)]
Check for _WIN32 instead of WIN32.

_WIN32 is predefined for the Windows platform in MSVC, whereas WIN32 is not, and WIN32 is also not defined in the makefiles.

Change-Id: I8b58e42d891608dbe1e1313dc9629c2be588d9ec

3 years agoMerge "Add fields into RC for Vizier ML experiments."
Paul Wilkins [Thu, 4 Mar 2021 21:17:28 +0000 (21:17 +0000)]
Merge "Add fields into RC for Vizier ML experiments."

3 years agoMerge "override assembler with --as option on msvs"
Jerome Jiang [Thu, 4 Mar 2021 20:30:02 +0000 (20:30 +0000)]
Merge "override assembler with --as option on msvs"

3 years agoUse -std=gnu++11 instead of -std=c++11
Jerome Jiang [Thu, 4 Mar 2021 01:33:30 +0000 (17:33 -0800)]
Use -std=gnu++11 instead of -std=c++11

Cygwin and msys2 have stricter compliance requirement over standard c
headers.

Bug: webm:1708
Change-Id: I676b1227b9dd304149e50016468df0f057c6a78f

3 years agooverride assembler with --as option on msvs
Jerome Jiang [Wed, 3 Mar 2021 22:46:48 +0000 (14:46 -0800)]
override assembler with --as option on msvs

Bug: webm:1709
Change-Id: I962a64c00042fe95cc1cd845b187f71ad6cfd1b7

3 years agoAdd fields into RC for Vizier ML experiments.
Paul Wilkins [Wed, 3 Mar 2021 16:45:42 +0000 (16:45 +0000)]
Add fields into RC for Vizier ML experiments.

This patch adds fields into the RC data structure for the Vizier.

The added fields allow control of some extra rate control parameters
and rate distortion.

This patch also adds functions to initialize the various parameters
though many are not yet used / wired in and for now all are set to
default values. Ultimately many will be set through new command
line options.

Change-Id: I41591bb627d3837d2104fb363845adedbddf2e02

3 years agoRemove comments for removed 'active_map' parameter
Wan-Teh Chang [Sat, 27 Feb 2021 02:02:24 +0000 (18:02 -0800)]
Remove comments for removed 'active_map' parameter

Change-Id: I8635f6121e13089c25e201df033d5bc68e2862b4

3 years agoRemove two pass related code from svc sample encoder.
Jerome Jiang [Thu, 18 Feb 2021 01:34:27 +0000 (17:34 -0800)]
Remove two pass related code from svc sample encoder.

SVC sample encoder is only supposed to be used for realtime SVC.

Bug: webm:1705
Change-Id: I5c0c3491732db3e148073aaf7f90ee8d662b57b5

3 years agovp8_denoiser_sse2_test: disable BitexactCheck w/gcc-8+
James Zern [Fri, 5 Feb 2021 18:21:39 +0000 (10:21 -0800)]
vp8_denoiser_sse2_test: disable BitexactCheck w/gcc-8+

this test fails under gcc 8-10, but not with other compilers

Bug: webm:1718
Change-Id: I8c6c7a25c4aaf019a7f91f835a1a2c9a731cfadc

3 years agosvc: Fix an existing unittest for flexible mode
Marco Paniconi [Thu, 4 Feb 2021 06:09:24 +0000 (22:09 -0800)]
svc: Fix an existing unittest for flexible mode

The flag update_pattern_ was being set to 0
(because it was set before reset) instead of 1.
And the example flexible mode pattern was not setting
non-reference frame on top temporal top spatial.

Change-Id: I8aee56ce13cc4e0d614126592f9d0f691fe527b0

3 years agoMerge "L2E: let external rate control pass in a max frame size"
Cheng Chen [Wed, 3 Feb 2021 23:57:00 +0000 (23:57 +0000)]
Merge "L2E: let external rate control pass in a max frame size"

3 years agoMerge "svc: Unittest for ksvc flexible mode with no updates on TL > 0"
Marco Paniconi [Wed, 3 Feb 2021 22:30:41 +0000 (22:30 +0000)]
Merge "svc: Unittest for ksvc flexible mode with no updates on TL > 0"

3 years agosvc: Unittest for ksvc flexible mode with no updates on TL > 0
Marco Paniconi [Mon, 1 Feb 2021 06:11:33 +0000 (22:11 -0800)]
svc: Unittest for ksvc flexible mode with no updates on TL > 0

Catches tsan issue fixed in: 7b93b56

Change-Id: I34b17c289afd0f8691987a1e4afa533f6c7f2806

3 years agoMerge "vp8_denoiser_sse2_test: use ASSERT instead of EXPECT"
James Zern [Wed, 3 Feb 2021 21:16:01 +0000 (21:16 +0000)]
Merge "vp8_denoiser_sse2_test: use ASSERT instead of EXPECT"

3 years agovp8_denoiser_sse2_test: use ASSERT instead of EXPECT
James Zern [Wed, 3 Feb 2021 02:14:44 +0000 (18:14 -0800)]
vp8_denoiser_sse2_test: use ASSERT instead of EXPECT

when test block contents to avoid producing unnecessary output on
failure.

Bug: webm:1718
Change-Id: Ie2cf8245ec8c03556549ad1eea65c8bef15a9735

3 years agoL2E: let external rate control pass in a max frame size
Cheng Chen [Tue, 2 Feb 2021 00:57:09 +0000 (16:57 -0800)]
L2E: let external rate control pass in a max frame size

And allow the frame to recode when the frame size is larger
than the input max frame size.

If the max frame size is not specified, let vp9 decide whether
to recode.  The recode follows the vp9's current recoding mechanism.

The rate control api will return the new qindex back to the
external model.

Change-Id: I796fbf713ad50a5b413b0e2501583b565ed2343f

3 years agoFix to vpx_temporal_svc_encoder
Marco Paniconi [Wed, 3 Feb 2021 18:04:52 +0000 (10:04 -0800)]
Fix to vpx_temporal_svc_encoder

Avoid division by zero.

Change-Id: Icf3f40aa32fe30f42c46417a1437ebe235e3ac96

3 years agoRelax constraints on Y4M header parsing
Elliott Karpilovsky [Fri, 29 Jan 2021 17:37:31 +0000 (09:37 -0800)]
Relax constraints on Y4M header parsing

Previous parser assumed that the header would not exceed
80 characters. However, with latest FFMPEG changes, the header
of Y4M files can exceed this limit.

New parser can parse an arbitrarily long header, as long each
tag is 255 or less characters.

BUG=aomedia:2876

Change-Id: I9e6e42c50f4e49251dd697eef8036485ad5a1228

3 years agoRelax constraints on Y4M header parsing
Elliott Karpilovsky [Thu, 28 Jan 2021 19:22:58 +0000 (11:22 -0800)]
Relax constraints on Y4M header parsing

Previous parser assumed that the header would not exceed
80 characters. However, with latest FFMPEG changes, the header
of Y4M files can exceed this limit.

New parser can parse up to ~200 characters. Arbitrary parsing in
future commit.

BUG=aomedia:2876

Change-Id: I2ab8a7930cb5b76004e6731321d0ea20ddf333c1

3 years agoMerge changes I43d9d477,I8d4661ec
James Zern [Wed, 27 Jan 2021 23:39:14 +0000 (23:39 +0000)]
Merge changes I43d9d477,I8d4661ec

* changes:
  vp9_end_to_end_test: fix compile with gcc 4.8.5
  sad_test: fix compilation w/gcc 4.8.5

3 years agoMerge "svc: turn off use_base_mv on non base layer."
Jerome Jiang [Wed, 27 Jan 2021 20:08:47 +0000 (20:08 +0000)]
Merge "svc: turn off use_base_mv on non base layer."

3 years agosvc: turn off use_base_mv on non base layer.
Jerome Jiang [Wed, 27 Jan 2021 17:41:18 +0000 (09:41 -0800)]
svc: turn off use_base_mv on non base layer.

Change-Id: I4a9402f468e54c58081c882ed37f59ee0269c0fc

3 years agovp9_end_to_end_test: fix compile with gcc 4.8.5
James Zern [Wed, 27 Jan 2021 02:05:47 +0000 (18:05 -0800)]
vp9_end_to_end_test: fix compile with gcc 4.8.5

use Values() rather than ValuesIn() with an initializer list as this
version of gcc under CentOS fails to deduce the type:

../third_party/googletest/src/include/gtest/gtest-param-test.h:304:29:
note:   template argument deduction/substitution failed:
../test/vp9_end_to_end_test.cc:346:59: note:   couldn't deduce template
parameter â€˜T’
                            ::testing::ValuesIn({ 6, 7, 8 }));

Bug: webm:1690
Change-Id: I43d9d4777fcd74a4f8fa8bdcd9834cdca5e546ff

3 years agosad_test: fix compilation w/gcc 4.8.5
James Zern [Wed, 27 Jan 2021 02:03:17 +0000 (18:03 -0800)]
sad_test: fix compilation w/gcc 4.8.5

use a #define for kDataAlignment as it's used with DECLARE_ALIGNED
(__attribute__((aligned(n)))) and this version under CentOS is more
strict over integer constants:

../vpx_ports/mem.h:18:72: error: requested alignment is not an integer constant
 #define DECLARE_ALIGNED(n, typ, val) typ val __attribute__((aligned(n)))

Bug: webm:1690
Change-Id: I8d4661ec1c2c1b1522bdc210689715d2302c7e72

3 years agoMerge "Do not reuse mv in base spatial layer if curr buf same as prev."
Jerome Jiang [Sat, 23 Jan 2021 02:19:55 +0000 (02:19 +0000)]
Merge "Do not reuse mv in base spatial layer if curr buf same as prev."

3 years agoDo not reuse mv in base spatial layer if curr buf same as prev.
Jerome Jiang [Thu, 21 Jan 2021 21:07:20 +0000 (13:07 -0800)]
Do not reuse mv in base spatial layer if curr buf same as prev.

Bug: b/154890543
Change-Id: Iad5791912f781d225e610a61bc13f3dbaef81bb9

3 years agoUse VPX_CODEC_INVALID_PARAM when ext_ratectrl=NULL
Angie Chiang [Wed, 20 Jan 2021 02:56:48 +0000 (18:56 -0800)]
Use VPX_CODEC_INVALID_PARAM when ext_ratectrl=NULL

Bug: webm:1716

Change-Id: Ic60c367aabfc03d94816e85476895b988aced5f1

3 years agoHandle vp9_extrc functions' return status properly
Angie Chiang [Wed, 20 Jan 2021 02:45:38 +0000 (18:45 -0800)]
Handle vp9_extrc functions' return status properly

Bug: webm:1716
Change-Id: I204cd3ab35b493759808500b799da3b9e55686d4

3 years agoMerge changes Ib016ab5a,Ie6d63a68,I96b18436,I0b98741d
Angie Chiang [Thu, 21 Jan 2021 01:33:09 +0000 (01:33 +0000)]
Merge changes Ib016ab5a,Ie6d63a68,I96b18436,I0b98741d

* changes:
  Add return to vp9_extrc_update_encodeframe_result
  Add status in vp9_extrc_get_encodeframe_decision
  Return status in vp9_extrc_send_firstpass_stats
  Return status in vp9_extrc_create/init/delete

3 years agoAdd return to vp9_extrc_update_encodeframe_result
Angie Chiang [Wed, 20 Jan 2021 02:18:20 +0000 (18:18 -0800)]
Add return to vp9_extrc_update_encodeframe_result

Bug: webm:1716
Change-Id: Ib016ab5a49c765971366cc8d2b75bcca3ed5bd0f

3 years agoAdd status in vp9_extrc_get_encodeframe_decision
Angie Chiang [Wed, 20 Jan 2021 01:57:00 +0000 (17:57 -0800)]
Add status in vp9_extrc_get_encodeframe_decision

Bug: webm:1716
Change-Id: Ie6d63a68539369c51fefefa528e299b00a967e29

3 years agoReturn status in vp9_extrc_send_firstpass_stats
Angie Chiang [Wed, 20 Jan 2021 01:48:07 +0000 (17:48 -0800)]
Return status in vp9_extrc_send_firstpass_stats

Bug: webm:1716

Change-Id: I96b18436c58ed888fcf677097819cc0093b6f41d

3 years agoReturn status in vp9_extrc_create/init/delete
Angie Chiang [Wed, 20 Jan 2021 01:36:12 +0000 (17:36 -0800)]
Return status in vp9_extrc_create/init/delete

Bug: webm:1716

Change-Id: I0b98741db8c639bdddd899fd6ad359da7b916086

3 years ago{highbd_,}loopfilter_neon.c: quiet -Wmaybe-uninitialized
James Zern [Wed, 20 Jan 2021 02:38:23 +0000 (18:38 -0800)]
{highbd_,}loopfilter_neon.c: quiet -Wmaybe-uninitialized

Seen with arm-linux-gnueabihf-gcc-8 (8.3.0 & 8.4.0)

Without reworking the code or adding an additional branch this warning
cannot be silenced otherwise. The loopfilter is only called when needed
for a block so these output pixels will be set.

BUG=b/176822719

Change-Id: I9cf6e59bd5de901e168867ccbe021d28d0c04933

3 years agoRelax constraints on Y4M header parsing
Elliott Karpilovsky [Thu, 14 Jan 2021 22:17:08 +0000 (14:17 -0800)]
Relax constraints on Y4M header parsing

Some refactoring and cleanup -- do not count the first 9 bytes against
the header limit. Add a unit test.

BUG=aomedia:2876

Change-Id: Id897d565e2917b48460cc77cd082cec4c98b42cb

3 years agovpxenc: initalize the image object
Hui Su [Wed, 13 Jan 2021 18:51:39 +0000 (10:51 -0800)]
vpxenc: initalize the image object

Otherwise it would cause problem when calling vpx_img_free() at the end
if no frame is read.

Change-Id: Ide0ed28eeb142d65d04703442cc4f098ac8edb34

3 years agoFix show_index in vp9_extrc_encodeframe_decision()
Angie Chiang [Fri, 18 Dec 2020 02:09:55 +0000 (18:09 -0800)]
Fix show_index in vp9_extrc_encodeframe_decision()

Change-Id: I93bb1fb3c14126d881d3f691d30875a0062e436c

3 years agoCorrect pixel_count in encode_frame_result
Angie Chiang [Fri, 18 Dec 2020 01:32:26 +0000 (17:32 -0800)]
Correct pixel_count in encode_frame_result

Change-Id: I3270af4f793f8e453e10d1caf8ffa1a8d5d584a7

3 years agoFirst pass: skip motion search for intra-only
Hui Su [Wed, 16 Dec 2020 06:40:09 +0000 (22:40 -0800)]
First pass: skip motion search for intra-only

BUG=webm:1713

Change-Id: Ibad79cf5d12aa913e8c87a31d7d2124c00958691

3 years agoMerge "configure: add darwin20 cross-compile support"
James Zern [Fri, 11 Dec 2020 19:58:17 +0000 (19:58 +0000)]
Merge "configure: add darwin20 cross-compile support"

3 years agoconfigure: add darwin20 cross-compile support
Gregor Jasny [Fri, 11 Dec 2020 07:00:07 +0000 (08:00 +0100)]
configure: add darwin20 cross-compile support

Change-Id: I91c0e832a6e76172397e97413329fd43edc81c78

3 years agoFix nullptr with offset.
Jeremy Leconte [Thu, 10 Dec 2020 16:54:54 +0000 (17:54 +0100)]
Fix nullptr with offset.

The error occurs with low resolution when LibvpxVp8Encoder::NumberOfThreads returns 1.

Bug: b:175283098
Change-Id: Icc9387c75f4ac6e4f09f102b3143e83c998c5e38

3 years agoFix typos in simple_encode.h
Angie Chiang [Wed, 25 Nov 2020 20:58:24 +0000 (12:58 -0800)]
Fix typos in simple_encode.h

Change-Id: Id83eff6cc12c441ce991fb1a73820d106311cf5e

3 years agoMerge "Revert "Close out file in EndEncode()""
Angie Chiang [Tue, 24 Nov 2020 03:10:44 +0000 (03:10 +0000)]
Merge "Revert "Close out file in EndEncode()""

3 years agoRevert "Close out file in EndEncode()"
Angie Chiang [Tue, 24 Nov 2020 02:55:24 +0000 (02:55 +0000)]
Revert "Close out file in EndEncode()"

This reverts commit 7370cecd8929141adb8140b924d3dd8ac1887d36.

Reason for revert: I accidentally check in this CL

Change-Id: I71ff0b98649070df3edd13b98170a7091541057b

3 years agoMerge "Close out file in EndEncode()"
Angie Chiang [Tue, 24 Nov 2020 02:49:12 +0000 (02:49 +0000)]
Merge "Close out file in EndEncode()"

3 years agoMerge "Refine documentation of vpx_ext_ratectrl.h"
Angie Chiang [Tue, 24 Nov 2020 02:49:01 +0000 (02:49 +0000)]
Merge "Refine documentation of vpx_ext_ratectrl.h"

3 years agoMerge "Allow user to set rc_mode and cq_level in SimpleEncode"
Angie Chiang [Tue, 24 Nov 2020 02:47:28 +0000 (02:47 +0000)]
Merge "Allow user to set rc_mode and cq_level in SimpleEncode"

3 years agoRefine documentation of vpx_ext_ratectrl.h
Angie Chiang [Sat, 21 Nov 2020 01:41:09 +0000 (17:41 -0800)]
Refine documentation of vpx_ext_ratectrl.h

Bug: webm:1707
Change-Id: Iba04b5292c157e22dd8618a79e8c977ec9fc2199

3 years agoAllow user to set rc_mode and cq_level in SimpleEncode
Angie Chiang [Fri, 20 Nov 2020 03:55:33 +0000 (19:55 -0800)]
Allow user to set rc_mode and cq_level in SimpleEncode

Change-Id: If3f56837e2c78a8b0fe7e0040f297c3f3ddb9c8b

3 years agoAdd gop_index to vpx_ext_ratectrl.h
Angie Chiang [Wed, 18 Nov 2020 01:25:31 +0000 (17:25 -0800)]
Add gop_index to vpx_ext_ratectrl.h

Bug: webm:1707

Change-Id: I48826d5f3a7cc292825a7f1e30ac6d0f57adc569

3 years agoCapitalize VPX_RC_OK / VPX_RC_ERROR
Angie Chiang [Tue, 17 Nov 2020 23:30:55 +0000 (15:30 -0800)]
Capitalize VPX_RC_OK / VPX_RC_ERROR

Change-Id: I526bd6a6c2d2095db564f96d63c7ab7ee4dd90ad

3 years agoAdd doxygen for vpx_rc_funcs_t
Angie Chiang [Tue, 17 Nov 2020 22:37:20 +0000 (14:37 -0800)]
Add doxygen for vpx_rc_funcs_t

Change-Id: If75215d574fe0b075add50154a9eece5d387741a

3 years agoAdd doxygen for vpx_rc_config
Angie Chiang [Sat, 14 Nov 2020 03:40:13 +0000 (19:40 -0800)]
Add doxygen for vpx_rc_config

Bug: webm:1707

Change-Id: I65bab6b2b792653e70cb136a5f9a21796e34b829

3 years agoCopy first pass stats documentation from AV1 to VP9
Angie Chiang [Sat, 14 Nov 2020 03:26:14 +0000 (19:26 -0800)]
Copy first pass stats documentation from AV1 to VP9

Bug: webm:1707
Change-Id: Iae7eaa9ba681272b70b6dad17cd2247edab6ef79

3 years agoAdd doxygen to structs in vpx_ext_ratectrl.h
Angie Chiang [Sat, 14 Nov 2020 02:32:34 +0000 (18:32 -0800)]
Add doxygen to structs in vpx_ext_ratectrl.h

Bug: webm:1707

Change-Id: Ib5f6b6f143f55e5279e39eb386fcd3340211de59

3 years agoMerge changes I12a72d3a,I1a6c5752
Angie Chiang [Tue, 17 Nov 2020 21:40:55 +0000 (21:40 +0000)]
Merge changes I12a72d3a,I1a6c5752

* changes:
  Fix uninitialized warning in resize_test.cc
  Fix the warning of C90 mixed declarations and code

3 years agoRemove condition on copying svc loopfilter flag
Jerome Jiang [Mon, 16 Nov 2020 22:12:50 +0000 (14:12 -0800)]
Remove condition on copying svc loopfilter flag

Change-Id: Ib37ef0aa3dc0ec73b25332be6d89969093bd7aeb

3 years agoFix uninitialized warning in resize_test.cc
Angie Chiang [Sat, 14 Nov 2020 02:17:48 +0000 (18:17 -0800)]
Fix uninitialized warning in resize_test.cc

Change-Id: I12a72d3aa57b13dbcbeb037e1deea41529ea4194

3 years agoFix the warning of C90 mixed declarations and code
Angie Chiang [Sat, 14 Nov 2020 02:13:14 +0000 (18:13 -0800)]
Fix the warning of C90 mixed declarations and code

Change-Id: I1a6c57525bbe8bf1a97057ecd64985bc23d1df2e

3 years agoMerge "vp9: Allow for disabling loopfilter per spatial layer"
Marco Paniconi [Fri, 13 Nov 2020 04:26:34 +0000 (04:26 +0000)]
Merge "vp9: Allow for disabling loopfilter per spatial layer"

3 years agovp9: Allow for disabling loopfilter per spatial layer
Marco Paniconi [Thu, 12 Nov 2020 07:11:16 +0000 (23:11 -0800)]
vp9: Allow for disabling loopfilter per spatial layer

For SVC: add parameter to the control SET_SVC_PARAMS to
allow for disabling the loopfilter per spatial layer.
Note this svc setting will override the setting via
VP9E_SET_DISABLE_LOOPFILTER (which should only be used
for non-SVC).

Add unittest to handle both SVC (spatial or temporal layers)
and non-SVC (single layer) case.

Change-Id: I4092f01668bae42aac724a6df5b6f6a604337448

3 years agoAccumulate frame tpl stats and pass through rate control api
Cheng Chen [Thu, 5 Nov 2020 23:26:54 +0000 (15:26 -0800)]
Accumulate frame tpl stats and pass through rate control api

Tpl stats is computed at the beginning of encoding the altref
frame. We aggregate tpl stats of all blocks for every frame of
the current group of picture.

After the altref frame is encoded, the tpl stats is passed through
the encode frame result to external environment.
Change-Id: I2284f8cf9c45d35ba02f3ea45f0187edbbf48294

3 years agoMerge "libs.mk: set LC_ALL=C w/egrep invocations"
James Zern [Fri, 30 Oct 2020 04:57:32 +0000 (04:57 +0000)]
Merge "libs.mk: set LC_ALL=C w/egrep invocations"

3 years agoMerge "Add a comment about bitdeptharg and inbitdeptharg"
Wan-Teh Chang [Thu, 29 Oct 2020 23:33:54 +0000 (23:33 +0000)]
Merge "Add a comment about bitdeptharg and inbitdeptharg"

3 years agolibs.mk: set LC_ALL=C w/egrep invocations
James Zern [Thu, 29 Oct 2020 22:46:21 +0000 (15:46 -0700)]
libs.mk: set LC_ALL=C w/egrep invocations

this guarantees consistent interpretation of the character ranges

BUG=webm:1711

Change-Id: Ia9123f079cc7ac248b9eff4d817e2e103d627b2b

3 years agoAdd a comment about bitdeptharg and inbitdeptharg
Wan-Teh Chang [Sun, 20 Sep 2020 18:57:13 +0000 (11:57 -0700)]
Add a comment about bitdeptharg and inbitdeptharg

Add a comment to vp9_args to point out that bitdeptharg and
inbitdeptharg do not have a corresponding entry in vp9_arg_ctrl_map and
must be listed at the end of vp9_args.

Change-Id: Ic9834ab72599c067156ca5a315824c7f0760824a

3 years agovp9_ext_ratectrl_test: add missing override
James Zern [Wed, 28 Oct 2020 00:09:08 +0000 (17:09 -0700)]
vp9_ext_ratectrl_test: add missing override

for ~ExtRateCtrlTest()

Change-Id: I311a400093c8c1ee2c002ba000d0b33c4fde209f

3 years agoMerge "Add cmd line option to control loopfilter for vpxenc"
Jerome Jiang [Tue, 27 Oct 2020 22:33:20 +0000 (22:33 +0000)]
Merge "Add cmd line option to control loopfilter for vpxenc"

3 years agoAdd cmd line option to control loopfilter for vpxenc
Jerome Jiang [Tue, 27 Oct 2020 18:02:13 +0000 (11:02 -0700)]
Add cmd line option to control loopfilter for vpxenc

Change-Id: I4f5e6ce2f1b535a586bdb6c9e55a3d49ebf61af4

3 years agoDownload bus_352x288_420_f20_b8.yuv properly
Angie Chiang [Mon, 26 Oct 2020 18:09:59 +0000 (11:09 -0700)]
Download bus_352x288_420_f20_b8.yuv properly

Bug: webm:1707

Change-Id: I6aabad7cdcddf2bc41a0cc7b5cdfd7d9759f9fae

3 years agoMerge changes I27932c41,I2ff9e54a,I4ebed472
Angie Chiang [Wed, 21 Oct 2020 21:26:34 +0000 (21:26 +0000)]
Merge changes I27932c41,I2ff9e54a,I4ebed472

* changes:
  Small changes of vp9_ext_ratectrl_test.cc
  Add ref frame info to vpx_rc_encodeframe_info_t
  Add vpx_rc_status_t

3 years agoSmall changes of vp9_ext_ratectrl_test.cc
Angie Chiang [Wed, 21 Oct 2020 00:32:27 +0000 (17:32 -0700)]
Small changes of vp9_ext_ratectrl_test.cc

Change-Id: I27932c41a826cd3c10cc7801956cd32e4877133a

3 years agoMerge "Add unit test for vp9_ext_ratectrl"
Angie Chiang [Wed, 21 Oct 2020 00:21:51 +0000 (00:21 +0000)]
Merge "Add unit test for vp9_ext_ratectrl"

3 years agoAdd ref frame info to vpx_rc_encodeframe_info_t
Angie Chiang [Sat, 17 Oct 2020 01:36:09 +0000 (18:36 -0700)]
Add ref frame info to vpx_rc_encodeframe_info_t

Bug: webm:1707

Change-Id: I2ff9e54a9c8ae535628c1c471a2d078652f49a31

3 years agoAdd vpx_rc_status_t
angiebird [Mon, 12 Oct 2020 22:12:03 +0000 (15:12 -0700)]
Add vpx_rc_status_t

Let callback functions in vpx_ext_ratectrl.h
return vpx_rc_status_t

Bug: webm:1707

Change-Id: I4ebed47278b228740f6c73b07aa472787b2617d2

3 years agovp9-rtc: Fix to control for disabling loopfilter
Marco Paniconi [Mon, 19 Oct 2020 05:42:48 +0000 (22:42 -0700)]
vp9-rtc: Fix to control for disabling loopfilter

Adding unit test.

Change-Id: Ic3c03fee7e9c2c224d927bb09914551422bdf816

3 years agoAdd unit test for vp9_ext_ratectrl
Angie Chiang [Thu, 15 Oct 2020 19:05:37 +0000 (12:05 -0700)]
Add unit test for vp9_ext_ratectrl

Fix three bugs along the way.
1) Call vp9_extrc_send_firstpass_stats() after vp9_extrc_create()
2) Pass in model pointer in vp9_extrc_create()
3) Free frame_stats buffer in vp9_extrc_delete()

Bug: webm:1707

Change-Id: Ic8bd62c7b4ebd85a7479ae5e4c82d7f6059d782f

3 years agoAdd vp9_extrc_update_encodeframe_result()
angiebird [Tue, 13 Oct 2020 00:58:16 +0000 (17:58 -0700)]
Add vp9_extrc_update_encodeframe_result()

Bug: webm:1707

Change-Id: I962ffa23f03b953f7c0dfd81f49dc79d1975bbba

3 years agovp9_extrc_get_encodeframe_decision()
angiebird [Sat, 10 Oct 2020 02:03:23 +0000 (19:03 -0700)]
vp9_extrc_get_encodeframe_decision()

Bug: webm:1707

Change-Id: I90a327b97d7158b65767fe3fbfd5f260030e17f5

3 years agoinstall vpx_ext_ratectrl.h
James Zern [Thu, 15 Oct 2020 22:24:36 +0000 (15:24 -0700)]
install vpx_ext_ratectrl.h

fixes encoder detection / compile with installed headers after:
6dba0d0a0 Add callback functions for external_rate_control

Bug: webm:1707
Change-Id: I370d8c94d6f1b8201002a722077ecf6b3d8cede5

3 years agoCall vp9_extrc_send_firstpass_stats() properly
angiebird [Sat, 10 Oct 2020 00:47:02 +0000 (17:47 -0700)]
Call vp9_extrc_send_firstpass_stats() properly

Change-Id: I28db5010ba647cc91b8c0aa59309d7e953cd1216

3 years agoAdd vpx_rc_frame_stats_t
angiebird [Sat, 10 Oct 2020 00:12:51 +0000 (17:12 -0700)]
Add vpx_rc_frame_stats_t

Change-Id: I496ce13592f71779bb00cc8bbb601835bca8ff09

3 years agoAdd vp9_extrc_send_firstpass_stats()
angiebird [Fri, 9 Oct 2020 01:40:34 +0000 (18:40 -0700)]
Add vp9_extrc_send_firstpass_stats()

Change-Id: Ia2457b416200a2b2d1558600bff90ac2746cf396

3 years agoAdd vp9_extrc_init/create/delete
angiebird [Wed, 7 Oct 2020 22:29:51 +0000 (15:29 -0700)]
Add vp9_extrc_init/create/delete

Change-Id: I9fcb9f4cc5c565794229593fadde87286fcf0ffd

3 years agoAdd callback functions for external_rate_control
angiebird [Wed, 7 Oct 2020 22:29:51 +0000 (15:29 -0700)]
Add callback functions for external_rate_control

Change-Id: I20a1179a2131d2cd069dae9076aa2c18b80784f3

3 years agoAdd codec control for external rate control lib
angiebird [Thu, 24 Sep 2020 18:33:55 +0000 (11:33 -0700)]
Add codec control for external rate control lib

VP9E_SET_EXTERNAL_RATE_CONTROL
One can assign an external library using the control flag,
VP9E_SET_EXTERNAL_RATE_CONTROL.
The args alongside the control flag should be of type char**.
args[0]: char* points to the path of rate control library
args[1]: char* points to the config of the rate control library.

Change-Id: Iae47362cdfafa00614bac427884bffcf6944c583

3 years agoAdd SetEncodeConfig and DumpEncodeConfigs
angiebird [Fri, 2 Oct 2020 02:18:09 +0000 (19:18 -0700)]
Add SetEncodeConfig and DumpEncodeConfigs

Change-Id: Ie6864b1133c26021d9c4883df033ecd2969585ed

3 years agoAdd codec control to disable loopfilter for vp9
Jerome Jiang [Fri, 2 Oct 2020 17:47:47 +0000 (10:47 -0700)]
Add codec control to disable loopfilter for vp9

Change-Id: I6d693e84570c353d20ec314acea43363956c0590

3 years agoMerge "ratectrl_rtc_test.cc: fix signed/unsigned comparison"
James Zern [Thu, 1 Oct 2020 02:40:49 +0000 (02:40 +0000)]
Merge "ratectrl_rtc_test.cc: fix signed/unsigned comparison"