]>
granicus.if.org Git - libvpx/log
Johann [Mon, 6 Apr 2020 07:06:45 +0000 (16:06 +0900)]
x86_abi_support: do not decorate coff functions
:private_extern only applies to macho. Match x86inc.asm logic:
%if FORMAT_ELF
global %2:function hidden
%elif FORMAT_MACHO
global %2:private_extern
%else
global %2
%endif
May fix a build issue on windows:
vp8/encoder/x86/block_error_sse2.asm:18: error:
COFF format does not support any special symbol types
BUG=webm:1679
Change-Id: I7e1f4043b064a04752d1cedd030cbe7f5461fe40
Johann Koenig [Mon, 6 Apr 2020 00:09:56 +0000 (00:09 +0000)]
Merge changes I24997420,Ie4ca7435,I36011727,Ibb01b09c,Ifb17acbe, ...
* changes:
x86inc.asm: update to
3e5aed95c
x86inc.asm: namespace ARCH_* defines
x86inc.asm: only set visibility for chromium builds
x86inc.asm: do not align .text for aout
x86inc.asm: use .text on march32
x86inc.asm: copy PIC macros from x86_abi_support.asm
x86inc.asm: set PREFIX from libvpx defines
x86inc.asm: pull settings from libvpx
x86inc.asm: update to
3e5aed95
Wan-Teh Chang [Fri, 3 Apr 2020 03:49:47 +0000 (20:49 -0700)]
Return VPX_CODEC_INCAPABLE on capability failure
All decoder functions should return the VPX_CODEC_INCAPABLE error code
if the algorithm does not have the requested capability.
Move the definitions of VPX_CODEC_CAP_FRAME_THREADING and
VPX_CODEC_CAP_EXTERNAL_FRAME_BUFFER to the VPX_CODEC_CAP_* section.
Change "PUT_SLICE and PUT_FRAME events are posted" to "put_slice and
put_frame callbacks are invoked".
Also fix some other minor comment errors.
This carries back to libvpx the following libaom CL:
https://aomedia-review.googlesource.com/c/aom/+/108405
Change-Id: If67a271c9abbb3eebc2359719cc7d9f235b690d2
Johann [Thu, 2 Apr 2020 02:07:47 +0000 (11:07 +0900)]
x86inc.asm: update to
3e5aed95c
BUG=webm:1679
Change-Id: I24997420b7b43cac3c674300c667eb493794893e
Johann [Thu, 2 Apr 2020 02:04:37 +0000 (11:04 +0900)]
x86inc.asm: namespace ARCH_* defines
Reapply
fad865c54 to prevent redefinition warnings.
BUG=webm:1679
Change-Id: Ie4ca7435b1f84711d0231e7957129580b05b3918
Johann [Thu, 2 Apr 2020 01:59:01 +0000 (10:59 +0900)]
x86inc.asm: only set visibility for chromium builds
Reapply and update
a4b47b89f . This restores the previous version's
behavior avoiding issues with builds that may split sources on
directory boundaries; protected visibility may work in this case.
BUG=webm:1679
Change-Id: I36011727485847dd11f06782bc6beddedc39019c
Johann [Thu, 2 Apr 2020 01:49:19 +0000 (10:49 +0900)]
x86inc.asm: do not align .text for aout
Reapply
a97c83f7a . Only use .text sections for aout and do not specify
an alignment.
BUG=webm:1679
Change-Id: Ibb01b09c205f9e0ecd4bfa0241e3d5e01ae5a55e
Johann [Thu, 2 Apr 2020 01:47:30 +0000 (10:47 +0900)]
x86inc.asm: use .text on march32
Reapply
9679be4bc . The read only sections are getting stripped on some
OS X builds. As a result, random data is used in place of the intended
tables.
BUG=webm:1679
Change-Id: Ifb17acbed73df4b9949a8badae2d9305a3073b83
Johann [Thu, 2 Apr 2020 01:41:24 +0000 (10:41 +0900)]
x86inc.asm: copy PIC macros from x86_abi_support.asm
Reapply
7e065cd57 . x86inc.asm always defines PIC for x86_64. We undefine
it for x32.
Incorporate
e56f96394 as well to ensure GET_GOT_DEFINED is defined.
BUG=webm:1679
Change-Id: I1535d57bcb4223327ca63b4fd11bffcda1009332
Johann [Thu, 2 Apr 2020 01:14:38 +0000 (10:14 +0900)]
x86inc.asm: set PREFIX from libvpx defines
Reapply
4de9641f1
BUG=webm:1679
Change-Id: I70b2224121f8f997fcd04c38a07a8126c2855ec6
Johann [Thu, 2 Apr 2020 01:06:43 +0000 (10:06 +0900)]
x86inc.asm: pull settings from libvpx
Reapply
1be46ef6b . Include vpx_config.asm and prefix functions with vpx.
BUG=webm:1679
Change-Id: I5fba3154203822a829bc88ad0e302adf2ce3bbee
Johann [Thu, 2 Apr 2020 01:00:23 +0000 (10:00 +0900)]
x86inc.asm: update to
3e5aed95
Pull a clean copy in and name it _new. Will apply the libvpx
patches and then move it over.
BUG=webm:1679
Change-Id: I48d3d4ab7911340c0997dd79a0dbadccf5697682
Johann [Mon, 30 Mar 2020 23:49:15 +0000 (08:49 +0900)]
x86_abi_support: use correct hidden syntax
Chromium needs :function hidden and the space between the symbol and the
colon removed, at least for nasm. This matches x86inc.asm.
BUG=webm:1679
Change-Id: Ie47bb75d44d3130791639cbf4e2ebe019e2d686e
Johann Koenig [Tue, 31 Mar 2020 23:41:42 +0000 (23:41 +0000)]
Merge "nasm: require 2.14 with -DCHROMIUM"
Johann Koenig [Tue, 31 Mar 2020 23:41:26 +0000 (23:41 +0000)]
Merge "auto-detect darwin19"
Marco Paniconi [Tue, 31 Mar 2020 17:31:32 +0000 (10:31 -0700)]
vp9-rtc: Refactor postencode for 1 pass
Move some code for 1 pass, that is not
directly related to rate control, out of
the postencode.
This avoids the need of extra flag for the
RC interface in:
https://chromium-review.googlesource.com/c/webm/libvpx/+/
2118915
Change-Id: I3992ea8255196a762c1174c35dd7dcc9b01d317e
Johann [Tue, 31 Mar 2020 06:52:30 +0000 (15:52 +0900)]
auto-detect darwin19
Change-Id: I3912c79d0f0f7a65fc753ae29bb10cdcac76878a
Johann [Tue, 31 Mar 2020 06:35:24 +0000 (15:35 +0900)]
nasm: require 2.14 with -DCHROMIUM
BUG=webm:1679
Change-Id: I75b1f860d111febf0aabe38b89d845ef296728a4
Marco Paniconi [Mon, 30 Mar 2020 16:16:09 +0000 (09:16 -0700)]
rtc: Increase resize limit resoln for rtc
Increase resize limit to avoid resized frame
from going below 320x180.
Change-Id: If736ac3fac4731b47844e4d8c771ecf5c66550de
Marco Paniconi [Fri, 27 Mar 2020 17:54:39 +0000 (10:54 -0700)]
vp9-rtc: Increase resize down limit to 320x180
For RTC dynamic resize: don't allow resize for
resoln <= 320x180.
Change-Id: I9109e9e1338e5420e72436a57d266ae46e9f2d60
angiebird [Thu, 26 Mar 2020 01:18:23 +0000 (18:18 -0700)]
Init frames_to_key in vp9_rc_init()
Change-Id: Ic667c77ff58672212fc2e9dd5066c650b0152226
James Zern [Wed, 25 Mar 2020 00:56:41 +0000 (00:56 +0000)]
Merge "Optimize vp9_get_sub_block_energy."
James Zern [Sat, 21 Mar 2020 23:12:39 +0000 (16:12 -0700)]
vp8/{ratectrl,onyx_if}: fix some signed integer overflows
in calculations involving bitrate in encode_frame_to_data_rate() and
vp8_compute_frame_size_bounds()
note this isn't exhaustive, it's just the result of a vpxenc run with:
-w 800 -h 480 --cpu-used=8 --rt --target-bitrate=
1400000000
Bug: b/
151945689
Change-Id: I3a4f878046fcf80e87482761588c977c283ae917
James Zern [Sat, 21 Mar 2020 22:46:48 +0000 (15:46 -0700)]
vp9_ratectrl: fix some signed integer overflows
in calculations involving bitrate in vp9_rc_postencode_update() and
calc_pframe_target_size_one_pass_vbr()
note this isn't exhaustive, it's just the result of a vpxenc run with:
-w 800 -h 480 --cpu-used=8 --rt --target-bitrate=
1400000000
Bug: b/
151945689
Change-Id: I941a77340fd44b09fc965dd182d7aeab9f1f3da0
Clement Courbet [Fri, 20 Mar 2020 08:22:55 +0000 (09:22 +0100)]
Optimize vp9_get_sub_block_energy.
Because energy scaling is non-decreasing, we can work on the variance
and scale after the loop. This avoids costly computations (in
particular, log()) within the loop.
We've measured that we spend 0.8% of our total time computing the log.
Change-Id: I302fc0ecd9fd8cf96ee9f31b8673e82de1b2b3e2
Angie Chiang [Tue, 17 Mar 2020 23:32:15 +0000 (23:32 +0000)]
Merge changes I8a14fcad,Iad7ca261,I2063c592,I9c5c74ab
* changes:
Correct time_base of ivf header in SimpleEncode
Add detail comments on valid_list in SimpleEncode
Add missing Copyright to python files
Move member functions up in simple_encode.h
angiebird [Mon, 16 Mar 2020 19:34:02 +0000 (12:34 -0700)]
Correct time_base of ivf header in SimpleEncode
Change-Id: I8a14fcad3e7b4c4689f4e7387414e59ba9c4c20a
angiebird [Sat, 14 Mar 2020 00:28:28 +0000 (17:28 -0700)]
Add detail comments on valid_list in SimpleEncode
Change-Id: Iad7ca261a99c7b5f082cf3cc6504f4af438bf409
angiebird [Sat, 14 Mar 2020 00:25:49 +0000 (17:25 -0700)]
Add missing Copyright to python files
BUG=webm:1655,webm:1654
Change-Id: I2063c59218e082f40958dddbdcb1c105d5440199
James Zern [Sat, 14 Mar 2020 03:29:09 +0000 (20:29 -0700)]
vpx_codec_enc_config_default: rm unnecessary loop
quiets -Wunreachable-code-loop-increment, present since:
e57f388bc vpx_codec_enc_config_default: disable 'usage'
as g_usage was never supported for vp8/9 this was always a single
iteration. if additional usages are added in the future similar to av1
this can be restored.
Bug: b/
150166387
Change-Id: Ic6f0985829e87694de8b5e0340cffa6c451ed1c2
angiebird [Fri, 13 Mar 2020 23:22:06 +0000 (16:22 -0700)]
Move member functions up in simple_encode.h
Change-Id: I9c5c74ab52361bcd73aef110729c6e332066c2af
Johann [Thu, 12 Mar 2020 23:25:47 +0000 (08:25 +0900)]
fix minor spelling errors
Change-Id: I929fec66d541705fe94365b56a5bdd8cf5ee7c37
Angie Chiang [Thu, 5 Mar 2020 19:24:29 +0000 (19:24 +0000)]
Merge changes Ie7c70a1d,I2c5abbe2,If41a1ea6,Id6ba4664,I156308bc
* changes:
Add unit test for ref_frame_info
Add key frame group info to SimpleEncode
Add ref_frame_info to encode_frame_result
Add init/update_frame_indexes()
Add GetVectorData()
Marco Paniconi [Thu, 5 Mar 2020 00:08:41 +0000 (16:08 -0800)]
rtc: Update svc test for resize
Add count on expected number of resizes,
and use the speed_setting_ for base layer.
Also allow AQ_MODE=3 for the tests with
dynamic layer disabling/enabling.
Change-Id: I03fb0789a2210ba00b8b153941bf79fb774d51bf
Marco Paniconi [Tue, 3 Mar 2020 23:14:02 +0000 (15:14 -0800)]
vp9-svc: Allow for dynamic resize for single layer SVC
Make internal dynamic resize work for SVC mode
when single layer SVC is running (i.e, other layers
are dropped due to 0 bitrate).
Added unittest.
Change-Id: Icf03e1f276d9c4ba2734c87c927f7881c6b0a116
angiebird [Tue, 3 Mar 2020 04:04:11 +0000 (20:04 -0800)]
Add unit test for ref_frame_info
Fix several bugs to make the test pass.
1) Move update_frame_indexes() out of show_frame check.
2) Init coding_indexes[i] to -1 when key frame appears
3) Fix a bug in PostUpdateRefFrameInfo()
Change-Id: Ie7c70a1d460e5b89475a1aef77416fc9a88387e1
angiebird [Tue, 3 Mar 2020 00:50:39 +0000 (16:50 -0800)]
Add key frame group info to SimpleEncode
Change-Id: I2c5abbe23c84c6d794e06ed6429136b10fb18683
angiebird [Fri, 28 Feb 2020 04:03:11 +0000 (20:03 -0800)]
Add ref_frame_info to encode_frame_result
Change-Id: If41a1ea6ce0a2b8db3811f2fa8efcf16f97fa0bd
angiebird [Thu, 27 Feb 2020 00:43:50 +0000 (16:43 -0800)]
Add init/update_frame_indexes()
We will init and update current_video_frame and
current_frame_coding_index in the functions.
So it's easier to keep track of when the frame indexes are updated.
Change-Id: Id6ba46643f8923348bb4f81c5dd9ace553244057
angiebird [Wed, 26 Feb 2020 23:18:52 +0000 (15:18 -0800)]
Add GetVectorData()
It's necessary to get data pointer from a vector sometimes.
This function will guarantee that the data pointer is nullptr
if the vector is empty.
Change-Id: I156308bcb193fe404452d3cd3b24b3f80c3c3727
angiebird [Wed, 26 Feb 2020 01:30:14 +0000 (17:30 -0800)]
Add RefFrameInfo
RefFrameInfo contains the coding_indexes and valid_list of
three reference frame types.
Note that I will add unit test in the follow-up CLs.
Change-Id: Ia055df1f8a5537b2bdd02c78991df9bbf48e951a
angiebird [Mon, 24 Feb 2020 19:20:10 +0000 (11:20 -0800)]
Keep ref frame coding indexes in SimpleEncode
Change-Id: Id76aeb54ef93b11ca9a582f76289da0e60368e56
Cheng Chen [Tue, 18 Feb 2020 20:20:58 +0000 (12:20 -0800)]
Make external arf consistent with vp9
Add a test to ensure that encoding with the external arfs gets the
same result as long as the arfs are the same as the vp9 baseline.
Change-Id: I92c79001018f4df3bc16e9fc56c733509bebb9dc
Cheng Chen [Tue, 18 Feb 2020 17:57:46 +0000 (09:57 -0800)]
Allow external arf to determine gop size
When "rate_ctrl" experiment is on, we allow the external arf
passed from outside to determine group of picture size
in define_gf_group().
Change-Id: I0b8c3e1bf3087f21a4e484354168df4967d35bba
Cheng Chen [Tue, 18 Feb 2020 00:19:44 +0000 (16:19 -0800)]
Add interface for external arf indexes.
Pass in external arf indexes to encode command.
Change-Id: Ifea5a7d835643760fc5effc594bb448848f6d639
angiebird [Fri, 21 Feb 2020 01:26:14 +0000 (17:26 -0800)]
Rename values in RefFrameType and FrameType
Replace golden and altref by past and future in RefFrameType.
So that we don't get confused with FrameType and RefFrameType.
Change-Id: I1be45d49f76c68869fc4bf53ff946fee9ce7eb9d
angiebird [Fri, 21 Feb 2020 01:14:31 +0000 (17:14 -0800)]
Use ref_frame[0] to determine mv_count
The motion vector counts should be determined by whether this
block is using intra_mode or not.
Change-Id: If866c91fb8a3f2b3944e5b219a90154d2172690d
angiebird [Fri, 21 Feb 2020 00:35:30 +0000 (16:35 -0800)]
Consistency test for GroupOfPicture
Make sure frame_type, show_idx and coding_index in GroupOfPicture
match the results in EncodeFrameInfo.
Change-Id: I3b477a03b5efd651c2d174e7146a4cd4f5551604
angiebird [Fri, 21 Feb 2020 00:16:38 +0000 (16:16 -0800)]
Use ObserveGroupOfPicture() in EncodeFrame test
In the previous version, we assume the number of coding frames is
known.
Although the assumption is true for now with rate_ctrl flag on,
it's more proper to use ObserveGroupOfPicture() to get
the partial info about how many coding frames are in the group.
Because We want to keep the flexibility of changing the size of
group of pictures on the fly in the future.
Change-Id: Ibbe6ab49268c468bf1cef8344efd3a3e1eab972a
angiebird [Thu, 20 Feb 2020 22:11:25 +0000 (14:11 -0800)]
Add kGoldenFrame and kOverlayFrame to FrameType
Add coding_index to EncodeFrameInfo
Add start_coding_index to GroupOfPicture
Add frame_coding_index_ to SimpleEncode
The definition of coding index is as follows.
Each show or no show frame is assigned with a coding index based
on its coding order (starting from zero) in the coding process of
the entire video. The coding index for each frame is unique.
Change-Id: I43e18434a0dff0d1cd6f927a693d6860e4038337
James Zern [Wed, 19 Feb 2020 21:41:41 +0000 (21:41 +0000)]
Merge "x86_simd_caps: make mask value unsigned"
Marco Paniconi [Wed, 19 Feb 2020 02:24:39 +0000 (02:24 +0000)]
Merge "vp9-rtc: Increase partition threshold to 8x8 for high Q"
Jerome Jiang [Tue, 18 Feb 2020 23:40:47 +0000 (23:40 +0000)]
Merge "Cap delta_q_uv to -15..15"
Marco Paniconi [Tue, 18 Feb 2020 23:04:32 +0000 (15:04 -0800)]
vp9-rtc: Increase partition threshold to 8x8 for high Q
For low resolutions: increase the partition threshold
to split to 8x8 blocks for high Q.
Some improvement in quality for low bitrates at low resoln.
On rtc_derf speed 7: ~1.7 bdrate gain for low bitrates.
Change-Id: I1900c32497b75da4e8b882fedc8f4b440b017480
Jerome Jiang [Tue, 18 Feb 2020 18:46:03 +0000 (10:46 -0800)]
Cap delta_q_uv to -15..15
only 4 bits in bitstream
Change-Id: I338fe54475e094ee5e556467e0b66c982bb560fa
Marco Paniconi [Tue, 18 Feb 2020 18:12:18 +0000 (10:12 -0800)]
vp9-rtc: Set enable_adaptive_subpel_force_stop to 0
Set enable_adaptive_subpel_force_stop to 0 as default
for all speeds. Its only enabled for speed >= 9.
Change-Id: I23a1c1cb9765994d2153ef401976c11a07f3fe7f
James Zern [Sat, 15 Feb 2020 05:00:21 +0000 (21:00 -0800)]
vp8_decode: add missing vpx_clear_system_state
this avoids leaving the floating point unit in an inconsistent state on
error and breaking subsequent tests on x86
the test clip invalid-bug-
148271109 .ivf would also result in a sanitizer
error prior to:
vp8,GetSigned: silence unsigned int overflow warning
BUG=b/
148271109
Change-Id: Ia254f3892ac1eeec51db5e9d42ea071545db0cd8
James Zern [Sat, 15 Feb 2020 01:36:47 +0000 (17:36 -0800)]
vp8,GetSigned: silence unsigned int overflow warning
in non-conformant fuzzed bitstreams the calculation of br->value may
overflow. this is defined behavior and harmless in that the stream is
already corrupt.
BUG=b/
148271109
Change-Id: I3668ada57e0bd68cea86b82917fb03c19ac1283d
James Zern [Sat, 15 Feb 2020 01:31:42 +0000 (17:31 -0800)]
move common attribute defs to compiler_attributes.h
BUG=b/
148271109
Change-Id: I620e26ff1233fcd34ebe0723cb913e82eb58271c
James Zern [Sat, 15 Feb 2020 01:39:22 +0000 (17:39 -0800)]
x86_simd_caps: make mask value unsigned
fixes -fsanitize=integer warning:
runtime error: implicit conversion from type 'int' of value -1 (32-bit,
signed) to type 'unsigned int' changed the value to
4294967295 (32-bit,
unsigned)
Change-Id: I95d41aade78cea5e4f870a804d3f358c2cf618d7
Cheng Chen [Tue, 11 Feb 2020 20:30:50 +0000 (20:30 +0000)]
Merge "Set mv to zero if the second ref does not exist"
Cheng Chen [Tue, 11 Feb 2020 20:21:19 +0000 (20:21 +0000)]
Merge "Add a unit test to check partition info"
Cheng Chen [Tue, 28 Jan 2020 02:58:31 +0000 (18:58 -0800)]
Add a unit test to check partition info
Change-Id: I397d7005961a037c9c9cb29e3ff0a3d39a501d15
Cheng Chen [Tue, 11 Feb 2020 00:13:58 +0000 (16:13 -0800)]
Set mv to zero if the second ref does not exist
Change-Id: I94b936c2642981eccdff073fc71c12e2dccb7909
angiebird [Mon, 10 Feb 2020 20:04:26 +0000 (12:04 -0800)]
Do save/restore_encode_params when rate_ctrl is on
Change-Id: I06492a4d1511869cb243477a47295d5f82608fca
angiebird [Fri, 7 Feb 2020 02:15:02 +0000 (18:15 -0800)]
Replace NULL by nullptr in simple_encode.c/h
Change-Id: Ib68740a02be852d03a3a2ad4d9d4a7d84d537590
angiebird [Thu, 6 Feb 2020 22:53:21 +0000 (14:53 -0800)]
Sync simple_encode.h
Change-Id: I046b8c65c96e1864813f9a82649dd6b41ba0aa1f
angiebird [Thu, 6 Feb 2020 22:51:51 +0000 (14:51 -0800)]
Rename inverse_vpx_rational to invert_vpx_rational
Change-Id: I9139ebc22be74e9726eee157821faf22d44bd30f
Cheng Chen [Sun, 2 Feb 2020 21:12:49 +0000 (13:12 -0800)]
Consistency test for motion vector info
Change-Id: Ie1d77e231b973eb16f4e9c520721b47cdf86622c
Cheng Chen [Sun, 2 Feb 2020 21:12:49 +0000 (13:12 -0800)]
Pass motion vector info to encode frame result
Pass the motion vector info stored to the encode frame result
through the interface "update_encode_frame_result()".
Change-Id: I589affa0c4c4d0fd4d639edff9068e44a715beff
angiebird [Tue, 4 Feb 2020 00:44:43 +0000 (16:44 -0800)]
Let SimpleEncode be able to output bitstream
Add outfile_path to SimpleEncode() with default value NULL.
The encoder will only output bitstream when outfile_path is set.
Change-Id: Ic68e5358ea454358c510bb0ae214f4201cb3db39
angiebird [Thu, 23 Jan 2020 22:56:01 +0000 (14:56 -0800)]
Add coded_frame to EncodeFrameResults
This coded_frame represents the raw coded image.
Change-Id: Iea439da2f9e84c4507b082d77ebaac49bfd74fff
Cheng Chen [Wed, 5 Feb 2020 21:21:47 +0000 (21:21 +0000)]
Merge "Store frame motion vector info"
James Zern [Tue, 4 Feb 2020 00:57:58 +0000 (16:57 -0800)]
loopfilter_sse2: call unsuffixed lpf functions
this allows calls to use better versions (e.g., avx2) if available. in
most other cases the function pointer will be defined to the sse2
variant if another isn't available. this improves performance at 1080P
by ~2% on a Xeon E5-2690.
Change-Id: Ie9da3a567021f8416651a29b8c9ab9238dc4bdf1
Cheng Chen [Mon, 27 Jan 2020 20:58:10 +0000 (12:58 -0800)]
Store frame motion vector info
Allocate motion vector information for the frame, and store it
when a superblock (64x64) is encoded.
The unit size of the smallest block is 4x4.
A special requirement by the vp9 spec is that sub 8x8 blocks
of a 8x8 block must have the same reference frame.
There is no such requirement for blocks large or equal to 8x8.
Change-Id: Iba17c568c450361e5d059503c6fb7bc458184c31
Jerome Jiang [Wed, 29 Jan 2020 00:53:15 +0000 (00:53 +0000)]
Merge "Fix initialization of delta_q_uv"
Jerome Jiang [Tue, 28 Jan 2020 23:25:31 +0000 (15:25 -0800)]
Fix initialization of delta_q_uv
Change-Id: If778c6534a5e68a9bcd5974f778e97e1c5cc89ee
Cheng Chen [Tue, 28 Jan 2020 17:58:42 +0000 (09:58 -0800)]
Change partition_info to a vector
Change-Id: Ia59229da51671045448ea904ed65026155868993
Cheng Chen [Tue, 28 Jan 2020 04:41:17 +0000 (04:41 +0000)]
Merge "Add some description about partition info"
Cheng Chen [Tue, 28 Jan 2020 01:17:56 +0000 (17:17 -0800)]
Correctly assign partition info
If partition type is horz or vert, the info of the second rectangle
block should be stored.
Change-Id: I8af5f37eb2c9140cf75d4b87a0fadcec5e4d7b28
Cheng Chen [Mon, 27 Jan 2020 23:26:13 +0000 (15:26 -0800)]
Add some description about partition info
Change-Id: I62e45433aad7887f47e3c88fc40f046feef92ad9
Cheng Chen [Mon, 27 Jan 2020 22:50:08 +0000 (22:50 +0000)]
Merge "l2e: cosmetic changes of multi-dimension arrays"
Cheng Chen [Mon, 27 Jan 2020 22:49:58 +0000 (22:49 +0000)]
Merge "Consistency test for partition info"
Cheng Chen [Mon, 27 Jan 2020 22:14:57 +0000 (22:14 +0000)]
Merge "Pass partition info to encode frame result"
Cheng Chen [Tue, 21 Jan 2020 23:59:41 +0000 (15:59 -0800)]
Consistency test for partition info
Test the information stored in the encoder is the same
between two encode runs.
Change-Id: I4f97fac4f212602f766aee0a6cbef566ca43b41e
Cheng Chen [Tue, 21 Jan 2020 23:59:41 +0000 (15:59 -0800)]
Pass partition info to encode frame result
Init the memory for partition information in "EncodeFrameResult".
And pass the partition information of vp9 encoder to it through
the interface: "update_encode_frame_result()".
Change-Id: Iea049e661da79f54d41da7924b9ef28ff7cfbfa3
Marco Paniconi [Mon, 27 Jan 2020 06:06:29 +0000 (06:06 +0000)]
Merge "vp9-rtc: Fix condition in regulate_q for cyclic_refresh"
Marco Paniconi [Mon, 27 Jan 2020 02:06:28 +0000 (18:06 -0800)]
vp9-rtc: Fix condition in regulate_q for cyclic_refresh
The bits_per_mb factor from cyclic refresh does not
need to be conditioned on seg_enabled, cr->apply_cyclic_refresh
is sufficient. This is more correct for the case where
the refresh is turned off/on dynamically.
Small/neutral change in bdrate metrics.
Change-Id: Ifbeda9d3e022e6b61cdefa1482d3075f076d7253
Cheng Chen [Thu, 23 Jan 2020 23:25:51 +0000 (15:25 -0800)]
l2e: cosmetic changes of multi-dimension arrays
Change-Id: I8c504b031cefeb8cfa4df8ca3a85c55fd1ae5a7f
Marco Paniconi [Mon, 27 Jan 2020 01:54:02 +0000 (17:54 -0800)]
vp9-svc: Fix to resetting rc flags on change_config
Condition should account for spatial layers.
Change-Id: I53ef27800d6cba1ae9d313d8f476e5137734d3d8
Cheng Chen [Fri, 17 Jan 2020 19:25:56 +0000 (11:25 -0800)]
Store frame partition info
Allocate partition information for the frame, and update it
when a superblock (64x64) is encoded.
The unit size of the smallest block is 4x4.
For each 4x4 block, store the current positition (row, column),
the start positition (row_start, column_start) of the partition,
and the block width and height of the partition.
Change-Id: I11c16bbca7e89a088715a1200abd23fe2f9ca1d6
James Zern [Thu, 23 Jan 2020 22:53:25 +0000 (22:53 +0000)]
Merge "vpx_timestamp,gcd: assert params are positive"
Marco Paniconi [Wed, 22 Jan 2020 23:29:41 +0000 (15:29 -0800)]
vp9-rtc: Lower threshold for color sensitivity for screen
For screen content: lower the threshold for setting
color sensitivity on scene change.
Reduces artifacts in color slide change content.
Change-Id: Ie9a375dee9b8a546dede8afbd241e0e46f79a7f4
Jerome Jiang [Wed, 22 Jan 2020 18:03:38 +0000 (18:03 +0000)]
Merge "vp9: fix control for delta qp for uv"
James Zern [Sat, 18 Jan 2020 07:33:35 +0000 (23:33 -0800)]
vpx_timestamp,gcd: assert params are positive
this function is currently only used with range checked timestamp
values, but this documents the function's expectations in case it's used
elsewhere
Change-Id: I9de314fc500a49f34f8a1df3598d64bc5070248e
James Zern [Wed, 22 Jan 2020 00:10:34 +0000 (00:10 +0000)]
Merge "add static_assert.h"
Jerome Jiang [Tue, 21 Jan 2020 22:46:47 +0000 (14:46 -0800)]
vp9: fix control for delta qp for uv
It could be overwritten by other controls.
Change-Id: I86b430842d6819d3858bc65e728f7cb2bd471284
James Zern [Sat, 18 Jan 2020 07:15:19 +0000 (23:15 -0800)]
add static_assert.h
unify COMPILE_TIME_ASSERT definitions and rename to VPX_STATIC_ASSERT
Change-Id: Id51150c204e0c4eaf355ee45b20915113209d524
James Zern [Sat, 18 Jan 2020 07:14:34 +0000 (07:14 +0000)]
Merge "Validate data used by vpx_codec_control..."
Brian Foley [Fri, 17 Jan 2020 04:33:48 +0000 (20:33 -0800)]
Validate data used by vpx_codec_control...
...instead of blindly derefing NULL.
Found by some additional fuzzing of the vp8/vp9 decoders to be
upstreamed soon.
Change-Id: I2ea08c2d15f689f3fac8cc73622056a82d94ec00