platform/upstream/libvpx.git
4 years agoMerge "Fix initialization of delta_q_uv"
Jerome Jiang [Wed, 29 Jan 2020 00:53:15 +0000 (00:53 +0000)]
Merge "Fix initialization of delta_q_uv"

4 years agoFix 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

4 years agoChange partition_info to a vector
Cheng Chen [Tue, 28 Jan 2020 17:58:42 +0000 (09:58 -0800)]
Change partition_info to a vector

Change-Id: Ia59229da51671045448ea904ed65026155868993

4 years agoMerge "Add some description about partition info"
Cheng Chen [Tue, 28 Jan 2020 04:41:17 +0000 (04:41 +0000)]
Merge "Add some description about partition info"

4 years agoCorrectly assign 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

4 years agoAdd some description about partition info
Cheng Chen [Mon, 27 Jan 2020 23:26:13 +0000 (15:26 -0800)]
Add some description about partition info

Change-Id: I62e45433aad7887f47e3c88fc40f046feef92ad9

4 years agoMerge "l2e: cosmetic changes of multi-dimension arrays"
Cheng Chen [Mon, 27 Jan 2020 22:50:08 +0000 (22:50 +0000)]
Merge "l2e: cosmetic changes of multi-dimension arrays"

4 years agoMerge "Consistency test for partition info"
Cheng Chen [Mon, 27 Jan 2020 22:49:58 +0000 (22:49 +0000)]
Merge "Consistency test for partition info"

4 years agoMerge "Pass partition info to encode frame result"
Cheng Chen [Mon, 27 Jan 2020 22:14:57 +0000 (22:14 +0000)]
Merge "Pass partition info to encode frame result"

4 years agoConsistency test for partition info
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

4 years agoPass partition info to encode frame result
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

4 years agoMerge "vp9-rtc: Fix condition in regulate_q for cyclic_refresh"
Marco Paniconi [Mon, 27 Jan 2020 06:06:29 +0000 (06:06 +0000)]
Merge "vp9-rtc: Fix condition in regulate_q for cyclic_refresh"

4 years agovp9-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

4 years agol2e: cosmetic changes of multi-dimension arrays
Cheng Chen [Thu, 23 Jan 2020 23:25:51 +0000 (15:25 -0800)]
l2e: cosmetic changes of multi-dimension arrays

Change-Id: I8c504b031cefeb8cfa4df8ca3a85c55fd1ae5a7f

4 years agovp9-svc: Fix to resetting rc flags on change_config
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

4 years agoStore frame partition info
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

4 years agoMerge "vpx_timestamp,gcd: assert params are positive"
James Zern [Thu, 23 Jan 2020 22:53:25 +0000 (22:53 +0000)]
Merge "vpx_timestamp,gcd: assert params are positive"

4 years agovp9-rtc: Lower threshold for color sensitivity for screen
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

4 years agoMerge "vp9: fix control for delta qp for uv"
Jerome Jiang [Wed, 22 Jan 2020 18:03:38 +0000 (18:03 +0000)]
Merge "vp9: fix control for delta qp for uv"

4 years agovpx_timestamp,gcd: assert params are positive
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

4 years agoMerge "add static_assert.h"
James Zern [Wed, 22 Jan 2020 00:10:34 +0000 (00:10 +0000)]
Merge "add static_assert.h"

4 years agovp9: fix control for delta qp for uv
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

4 years agoadd static_assert.h
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

4 years agoMerge "Validate data used by vpx_codec_control..."
James Zern [Sat, 18 Jan 2020 07:14:34 +0000 (07:14 +0000)]
Merge "Validate data used by vpx_codec_control..."

4 years agoValidate 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

4 years agovp9: add delta q for uv channel. add tests.
Jerome Jiang [Fri, 17 Jan 2020 07:17:26 +0000 (23:17 -0800)]
vp9: add delta q for uv channel. add tests.

Add control for delta q for uv. 0 by default.

Change-Id: Ib8ed160b1a5c9a61ba15985076f6c6f121477103

4 years agoAdd comments to frame counts.
Cheng Chen [Mon, 13 Jan 2020 20:31:33 +0000 (12:31 -0800)]
Add comments to frame counts.

Change-Id: I74a1ccb55af78af1153af75734ca43fa140910a7

4 years agoMerge "Copy frame counts to the encode result."
Cheng Chen [Mon, 13 Jan 2020 19:18:21 +0000 (19:18 +0000)]
Merge "Copy frame counts to the encode result."

4 years agoMerge "vp9_encoder.c,cosmetics: fix some typos"
James Zern [Sat, 11 Jan 2020 04:10:07 +0000 (04:10 +0000)]
Merge "vp9_encoder.c,cosmetics: fix some typos"

4 years agoMerge "simple_encode*.cc: add missing copyright"
James Zern [Sat, 11 Jan 2020 04:08:21 +0000 (04:08 +0000)]
Merge "simple_encode*.cc: add missing copyright"

4 years agovp9_encoder.c,cosmetics: fix some typos
James Zern [Sat, 11 Jan 2020 00:53:55 +0000 (16:53 -0800)]
vp9_encoder.c,cosmetics: fix some typos

Change-Id: Iac474fcd1937371a9ef2620110740f60fed6b083

4 years agoMerge "trivial: fix spelling errors"
James Zern [Sat, 11 Jan 2020 01:20:39 +0000 (01:20 +0000)]
Merge "trivial: fix spelling errors"

4 years agoMerge "Add text to clarify the unit of variables for target bitrate"
James Zern [Sat, 11 Jan 2020 01:09:19 +0000 (01:09 +0000)]
Merge "Add text to clarify the unit of variables for target bitrate"

4 years agosimple_encode*.cc: add missing copyright
James Zern [Sat, 11 Jan 2020 00:47:01 +0000 (16:47 -0800)]
simple_encode*.cc: add missing copyright

Change-Id: I58ddf13698e3892aa591af4196ca03d7c09426c6

4 years agotrivial: fix spelling errors
Johann [Fri, 10 Jan 2020 23:59:30 +0000 (15:59 -0800)]
trivial: fix spelling errors

Found when updating a downstream client.

Change-Id: Ibaa20d883ebfea9410d0252e7a19c7acdb78c907

4 years agoMerge "Fix test failure with --size-limit"
Jerome Jiang [Fri, 10 Jan 2020 06:00:31 +0000 (06:00 +0000)]
Merge "Fix test failure with --size-limit"

4 years agoFix test failure with --size-limit
Jerome Jiang [Thu, 9 Jan 2020 18:50:43 +0000 (10:50 -0800)]
Fix test failure with --size-limit

The test didn't verify expected error code with invalid sizes. It
assumed VPX_CODEC_OK.

Added new Encoder class which doesn't run decoding at all. It accepts
expected error code to verify with encoder output.

The encoder behavior was changed in 94a65e8.

BUG=webm:1670

Change-Id: I6324d8f744e6c4aa82aa66913923dc140b07bfc9

4 years agoCopy frame counts to the encode result.
Cheng Chen [Fri, 3 Jan 2020 01:22:21 +0000 (17:22 -0800)]
Copy frame counts to the encode result.

Explicitly copy frame counts of each frame to the encode result
struct.

Change-Id: Icc18ac83a9e2be8d7a4819f2fffcfda6568b275c

4 years agoAvoid reloads in vp9_read_mode_info.
Clement Courbet [Tue, 7 Jan 2020 08:08:24 +0000 (09:08 +0100)]
Avoid reloads in vp9_read_mode_info.

The compiler cannot prove that the buffers do not alias, so it has to emit a
reload. On our internal workloads, the reloads are about 1% of the total time
spent decoding frames.

The loop before the change:

movzwl 0x8(%r15), %edx       # load ref_frame
addq $0xc, %rax
movw %dx, -0x4(%rax)         # store ref_frame
movq 0xc(%r15), %rdx         # load mv
movq %rdx, -0xc(%rax)        # store mv
cmpq %rax, %rcx
jne -0x1a

The loop after the change:

movw %r9w, 0x8(%rax)         # store cached ref_frame
addq $0xc, %rax
movq %r8, -0xc(%rax)         # store cached mv
cmpq %rax, %rdx
jne -0x12

Change-Id: Ia1e9634bcabb4d7e06ed60f470bc4cd67f5ab27e

4 years agoMerge remote-tracking branch 'origin/pekin'
Johann [Thu, 19 Dec 2019 22:24:23 +0000 (14:24 -0800)]
Merge remote-tracking branch 'origin/pekin'

Change-Id: I6f8e21696023fa4067960a7dedb6e7bbdb531ff9

4 years agoAdd text to clarify the unit of variables for target bitrate
Wonkap Jang [Wed, 18 Dec 2019 21:29:09 +0000 (13:29 -0800)]
Add text to clarify the unit of variables for target bitrate

ts_target_bitrate, layer_target_bitrate, and ss_target_bitrate

Change-Id: I845c4b67b5b8b546f7a185e97ad9e510bc246ce0

4 years agoMerge "vp8: move error check earlier"
Johann Koenig [Wed, 18 Dec 2019 06:01:54 +0000 (06:01 +0000)]
Merge "vp8: move error check earlier"

4 years agoMerge "trivial: remove reference to error correction"
Johann Koenig [Tue, 17 Dec 2019 20:44:58 +0000 (20:44 +0000)]
Merge "trivial: remove reference to error correction"

4 years agoMerge "trivial: fix 'fragment' spelling"
Johann Koenig [Tue, 17 Dec 2019 20:22:07 +0000 (20:22 +0000)]
Merge "trivial: fix 'fragment' spelling"

4 years agovp8: move error check earlier
Johann [Tue, 17 Dec 2019 19:44:26 +0000 (11:44 -0800)]
vp8: move error check earlier

This avoids assigning variables which will not be used. A
similar change was made to vpx_dsp/bitreader.c a long time
ago.

Change-Id: Ia5012091b8d85ca9bfefc7735a2aa69c5c2bf516

4 years agoMerge "vp8 boolreader: ignore invalid input"
Johann Koenig [Tue, 17 Dec 2019 19:41:23 +0000 (19:41 +0000)]
Merge "vp8 boolreader: ignore invalid input"

4 years agoRename encode_frame_index
angiebird [Mon, 16 Dec 2019 23:19:35 +0000 (15:19 -0800)]
Rename encode_frame_index

to next_encode_frame_index

Change-Id: Id9bd2a0f6c4278bf0f0c270eb937a317232dead6

4 years agoAdd start_show_index/show_frame_count
angiebird [Sat, 14 Dec 2019 00:44:21 +0000 (16:44 -0800)]
Add start_show_index/show_frame_count

to GroupOfPicture

Change-Id: I905be72686b6c0e27ea782a12f1e8a8176c8b0f5

4 years agoCosmetic change of update_encode_frame_result()
angiebird [Fri, 13 Dec 2019 00:14:05 +0000 (16:14 -0800)]
Cosmetic change of update_encode_frame_result()

Move output parameter to the end.

Change-Id: I579a118768d29cb1ae2e3c8995a952ef11cfeb8d

4 years agoMove psnr/sse computation under RATE_CTRL flag
angiebird [Thu, 12 Dec 2019 23:43:48 +0000 (15:43 -0800)]
Move psnr/sse computation under RATE_CTRL flag

in update_encode_frame_result()

Change-Id: Ie86d11f66744ef95dd224c7daf325750a5e5458b

4 years agoAdd detailed description about GroupOfPicture
angiebird [Thu, 12 Dec 2019 20:40:43 +0000 (12:40 -0800)]
Add detailed description about GroupOfPicture

Change-Id: I96a447e59bdcf156ab6fbf9e766d867633ca47f3

4 years agoCosmetic change of vp9_get_gop_coding_frame_count
angiebird [Thu, 12 Dec 2019 20:15:33 +0000 (12:15 -0800)]
Cosmetic change of vp9_get_gop_coding_frame_count

Move the output parameter to the end.

Change-Id: I39c718b683a76cd7c5998724c3a07e88275198bf

4 years agoAdd GetFramePixelCount to SimpleEncode
angiebird [Wed, 11 Dec 2019 23:43:48 +0000 (15:43 -0800)]
Add GetFramePixelCount to SimpleEncode

Gets the total number of pixels of YUV planes per frame.

Change-Id: Ifdf35190cdde1378de6d7e93ab4428868a5795fa

4 years agoCosmetic changes for RATE_CTRL related functions
angiebird [Wed, 11 Dec 2019 21:49:39 +0000 (13:49 -0800)]
Cosmetic changes for RATE_CTRL related functions

Move input parameters ahead of output parameters.

Change-Id: I384f69523b6be92224535d05373ebb33467a040e

4 years agoMerge changes I54f60f62,Idbc437d3
Angie Chiang [Wed, 11 Dec 2019 00:42:01 +0000 (00:42 +0000)]
Merge changes I54f60f62,Idbc437d3

* changes:
  Rename parameter two_pass to twopass.
  Add GetNextEncodeFrameInfo ObserveGroupOfPicture

4 years agoRename parameter two_pass to twopass.
angiebird [Tue, 10 Dec 2019 01:00:27 +0000 (17:00 -0800)]
Rename parameter two_pass to twopass.

Change-Id: I54f60f62f27f9ef96db892d5b6219c9591ce2dc9

4 years agoAdd GetNextEncodeFrameInfo ObserveGroupOfPicture
angiebird [Wed, 27 Nov 2019 00:40:48 +0000 (16:40 -0800)]
Add GetNextEncodeFrameInfo ObserveGroupOfPicture

GetNextEncodeFrameInfo()
Gets encode_frame_info for the next coding frame.

ObserveGroupOfPicture()
Provides the group of pictures that the next coding frame is in.

Change-Id: Idbc437d32c392f25b06efb2d4e1ec01347d678f2

4 years agoRelease v1.8.2 Pekin Duck v1.8.2
Johann [Mon, 9 Dec 2019 23:08:49 +0000 (15:08 -0800)]
Release v1.8.2 Pekin Duck

Fixed: webm:1661

Change-Id: Icc17635d63fbd533a084e17cc291693b9a453887

4 years agoMerge changes I41ff04bb,I3d88d719
Angie Chiang [Mon, 9 Dec 2019 22:15:50 +0000 (22:15 +0000)]
Merge changes I41ff04bb,I3d88d719

* changes:
  Set frames_since_key in vp9_get_coding_frame_num
  Add vp9_get_gop_coding_frame_count()

4 years agoSet frames_since_key in vp9_get_coding_frame_num
angiebird [Mon, 9 Dec 2019 19:27:46 +0000 (11:27 -0800)]
Set frames_since_key in vp9_get_coding_frame_num

Set frames_since_key to 0 whenever a key frame appears.

Add dependency notes to get_gop_coding_frame_num()

Change-Id: I41ff04bb1c6176e60946b05fe21c72fbb82be62a

4 years agoAdd vp9_get_gop_coding_frame_count()
angiebird [Sat, 7 Dec 2019 01:24:27 +0000 (17:24 -0800)]
Add vp9_get_gop_coding_frame_count()

Call this function before coding a new group of picture to get
information about it.

Change-Id: I3d88d719dd27c6d7383eb8f92307a93096b30706

4 years agoMerge "Merge Timestamp TestVpxRollover tests for Vp8/Vp9"
Debargha Mukherjee [Sat, 7 Dec 2019 02:10:33 +0000 (02:10 +0000)]
Merge "Merge Timestamp TestVpxRollover tests for Vp8/Vp9"

4 years agoMerge Timestamp TestVpxRollover tests for Vp8/Vp9
Debargha Mukherjee [Fri, 6 Dec 2019 22:20:56 +0000 (14:20 -0800)]
Merge Timestamp TestVpxRollover tests for Vp8/Vp9

BUG=webm:701

Change-Id: Id0b928db3cbb6263d136d7b9eb8d9453b3c63824

4 years agoAdd GetKeyFrameGroupSize()
angiebird [Mon, 25 Nov 2019 20:26:08 +0000 (12:26 -0800)]
Add GetKeyFrameGroupSize()

Makes vp9_get_frames_to_next_key() public.

Change-Id: I903cefbb3925d6ffc641412c6d60d95a2ff256a4

4 years agoconfigure.sh,darwin: fix asm conv w/external build
James Zern [Fri, 6 Dec 2019 21:18:37 +0000 (13:18 -0800)]
configure.sh,darwin: fix asm conv w/external build

always set asm_conversion_cmd as e.g., vpx_config.asm may still be
generated with make when using --enable-external-build

BUG=webm:1535

Change-Id: I120452d4e06580b67119aee8d0a710998ac87a7a

4 years agoFix argv leak on Unrecognized input file type err
Wan-Teh Chang [Fri, 6 Dec 2019 18:42:49 +0000 (10:42 -0800)]
Fix argv leak on Unrecognized input file type err

Free argv (allocated by argv_dup) after the
"Unrecognized input file type" error.

Change-Id: I2b6273a1abca2ff8e51445fb15839bd993c41741

4 years agoAdd missing typecast and re-enable timestamp test
Debargha Mukherjee [Fri, 6 Dec 2019 03:14:41 +0000 (19:14 -0800)]
Add missing typecast and re-enable timestamp test

BUG=webm:701

Change-Id: I1d8a6e263fddb9e4cc6265a313011a18d18bbf9e

4 years agotrivial: fix 'fragment' spelling
Johann [Wed, 4 Dec 2019 23:02:47 +0000 (15:02 -0800)]
trivial: fix 'fragment' spelling

Change-Id: I71b17f3dcb72d5cb2c1d7fe94dd5228433c6eef5

4 years agotrivial: remove reference to error correction
Johann [Wed, 4 Dec 2019 23:07:12 +0000 (15:07 -0800)]
trivial: remove reference to error correction

vp9 does not support error correction

Change-Id: I89517ae97abfa60833c9150495556d49c9656778

4 years agovp8 boolreader: ignore invalid input
Johann [Tue, 3 Dec 2019 23:29:35 +0000 (15:29 -0800)]
vp8 boolreader: ignore invalid input

Do basic initialization even when the result will not be used.

BUG=chromium:1026961

Change-Id: Iaa480534b49efe1ecc66484b316f8d654e8a1245

4 years agoremove init_motion_estimation from update_initial_width
Jerome Jiang [Wed, 4 Dec 2019 20:46:56 +0000 (12:46 -0800)]
remove init_motion_estimation from update_initial_width

Change-Id: I04da24eb6a87425490b25e50ead7a8fd8117e7cb

4 years agoMerge "Fix the encode inconsistency of SimpleEncode"
Angie Chiang [Wed, 4 Dec 2019 20:26:28 +0000 (20:26 +0000)]
Merge "Fix the encode inconsistency of SimpleEncode"

4 years agoMerge "Describe ObserveFirstPassStats with more details"
Angie Chiang [Wed, 4 Dec 2019 19:31:02 +0000 (19:31 +0000)]
Merge "Describe ObserveFirstPassStats with more details"

4 years agoFix the encode inconsistency of SimpleEncode
angiebird [Tue, 3 Dec 2019 23:34:03 +0000 (15:34 -0800)]
Fix the encode inconsistency of SimpleEncode

Make sure restore_coding_context() is always called in the end
of encode_with_recode_loop().

Add EncodeConsistencyTest.

Change-Id: I3c8e4c8fcff4e3f7afef9bec469beef2a5fb6eeb

4 years agoDescribe ObserveFirstPassStats with more details
angiebird [Tue, 26 Nov 2019 21:43:03 +0000 (13:43 -0800)]
Describe ObserveFirstPassStats with more details

Change-Id: I7c15aeaf0c0884b7c7b265fb03fbbb9ccc6b73be

4 years agoMerge "Avoid dividing by 0 in vp8 gf_group bits compute"
Debargha Mukherjee [Tue, 3 Dec 2019 02:29:30 +0000 (02:29 +0000)]
Merge "Avoid dividing by 0 in vp8 gf_group bits compute"

4 years agoAvoid dividing by 0 in vp8 gf_group bits compute
Debargha Mukherjee [Mon, 2 Dec 2019 22:49:50 +0000 (14:49 -0800)]
Avoid dividing by 0 in vp8 gf_group bits compute

BUG=webm:1653

Change-Id: Ic59fe5e573f08dbca678d3927d4a750ae75f903c

4 years agoFix SVC regression in webrtc tests.
Jerome Jiang [Mon, 2 Dec 2019 20:20:17 +0000 (12:20 -0800)]
Fix SVC regression in webrtc tests.

BUG=1029438

Change-Id: I4495fc7bb45e77e9d91059a5c6c4695d8da1bf34

4 years agoMerge "Fix mutex free in multi-thread lpf"
James Zern [Mon, 2 Dec 2019 20:16:33 +0000 (20:16 +0000)]
Merge "Fix mutex free in multi-thread lpf"

4 years agoFix mutex free in multi-thread lpf
Venkatarama NG. Avadhani [Mon, 25 Nov 2019 10:45:52 +0000 (16:15 +0530)]
Fix mutex free in multi-thread lpf

The mutex lf_mutex will now be allocated and destroyed, making it easier
to verify if it has been inited before destruction.

BUG=webm:1662

Change-Id: I8169bea9e117bd615d68b8d02da98aeab570b53f

4 years agoMerge "fix __has_attribute in visual studio"
Johann Koenig [Tue, 26 Nov 2019 14:44:15 +0000 (14:44 +0000)]
Merge "fix __has_attribute in visual studio"

4 years agoMake GetCodingFrameNum const function
angiebird [Fri, 22 Nov 2019 18:53:09 +0000 (10:53 -0800)]
Make GetCodingFrameNum const function

Change-Id: I6a5a2400cfb6e122c77667e0950c80026c48a1f6

4 years agoAdd missing includes to simple_encode.h
angiebird [Fri, 22 Nov 2019 18:44:02 +0000 (10:44 -0800)]
Add missing includes to simple_encode.h

Change-Id: Ic3bb2450443c52ba3df1ed6729cecdab51245e76

4 years agoCorrect typo in simple_encode.h
angiebird [Thu, 21 Nov 2019 19:09:52 +0000 (11:09 -0800)]
Correct typo in simple_encode.h

Change-Id: Ifa858acad8b943d1579283fd1c72ff41434c0710

4 years agoCosmetic change of GetBitrateInKbps
angiebird [Thu, 21 Nov 2019 19:08:52 +0000 (11:08 -0800)]
Cosmetic change of GetBitrateInKbps

Change-Id: Id4b852cdfba0f6fa1e12a05e2617df0de395be9d

4 years agoMerge "Change vp9_get_encoder_config."
Angie Chiang [Mon, 25 Nov 2019 18:34:26 +0000 (18:34 +0000)]
Merge "Change vp9_get_encoder_config."

4 years agofix __has_attribute in visual studio
Johann [Mon, 25 Nov 2019 16:00:50 +0000 (08:00 -0800)]
fix __has_attribute in visual studio

Similar to __has_feature, __has_attribute needs to be defined
away on unsupported platforms.

BUG=chromium:1020220,chromium:977230

Change-Id: I803fff0fef2b18b535604f3b7f9f8300e45f7ef8

4 years agoDisable -ftrivial-auto-var-init= for hot code
Vitaly Buka [Thu, 21 Nov 2019 02:08:14 +0000 (18:08 -0800)]
Disable -ftrivial-auto-var-init= for hot code

Improves encode_time by 10% on FullStackTest.VP9KSVC_3SL_High and other
tests when -ftrivial-auto-var-init= is used.

vp9_pick_inter_mode can be called recursevely so multiple pred_buf is
neede. So alternative to attribute should be list of bufferes in
ThreadData or TileData.

Bug: 1020220, 977230
Change-Id: I939a468f88c2b5dd2ec235de7564b92bfaa356f5

4 years agoDisable -ftrivial-auto-var-init= for hot code
Vitaly Buka [Fri, 15 Nov 2019 18:40:47 +0000 (10:40 -0800)]
Disable -ftrivial-auto-var-init= for hot code

This helps to improve some benchmarks by 10%, e.g. decode_time
PCFullStackTest.VP9SVC_3SL_Low

Bug: 1020220, 977230
Change-Id: Ic992f1eec369f46a08e19eb33bc3a7c15c1e7c87

4 years agoMerge "Move buffer from extend_and_predict into TileWorkerData"
Jerome Jiang [Fri, 22 Nov 2019 22:50:30 +0000 (22:50 +0000)]
Merge "Move buffer from extend_and_predict into TileWorkerData"

4 years agoChange vp9_get_encoder_config.
angiebird [Wed, 20 Nov 2019 23:54:54 +0000 (15:54 -0800)]
Change vp9_get_encoder_config.

Add vp9_dump_encoder_config for config comparison.

This function will generate the same VP9EncoderConfig used by the
vpxenc command given below.
The configs in the vpxenc command corresponds to parameters of
vp9_get_encoder_config() as follows.

WIDTH:   frame_width
HEIGHT:  frame_height
FPS:     frame_rate
BITRATE: target_bitrate

INPUT, OUTPUT, LIMIT will not affect VP9EncoderConfig

vpxenc command:
INPUT=bus_cif.y4m
OUTPUT=output.webm
WIDTH=352
HEIGHT=288
BITRATE=600
FPS=30/1
LIMIT=150
./vpxenc --limit=$LIMIT --width=$WIDTH --height=$HEIGHT --fps=$FPS
--lag-in-frames=25 \
 --codec=vp9 --good --cpu-used=0 --threads=0 --profile=0 \
 --min-q=0 --max-q=63 --auto-alt-ref=1 --passes=2 --kf-max-dist=150 \
 --kf-min-dist=0 --drop-frame=0 --static-thresh=0 --bias-pct=50 \
 --minsection-pct=0 --maxsection-pct=150 --arnr-maxframes=7 --psnr \
 --arnr-strength=5 --sharpness=0 --undershoot-pct=100 --overshoot-pct=100 \
 --frame-parallel=0 --tile-columns=0 --cpu-used=0 --end-usage=vbr \
 --target-bitrate=$BITRATE -o $OUTPUT $INPUT

Change-Id: If7fd635d6f3fad4e6199a4fbcd556323efc1c250

4 years agoAdd trailing underscore to members of SimpleEncode
angiebird [Wed, 20 Nov 2019 20:48:58 +0000 (12:48 -0800)]
Add trailing underscore to members of SimpleEncode

Change-Id: I7a1d19ed4fd60fef374392c86df69d2122c335f0

4 years agoRename impl by EncodeImpl
angiebird [Wed, 20 Nov 2019 20:34:26 +0000 (12:34 -0800)]
Rename impl by EncodeImpl

Change-Id: Id182cd234c9f4f37c2854ea5ca761d8cfa113791

4 years agoCosmetic changes of SimpleEncode code
angiebird [Tue, 19 Nov 2019 22:04:02 +0000 (14:04 -0800)]
Cosmetic changes of SimpleEncode code

Change-Id: Ied06630d605a4978711070778b92bfb731c32161

4 years agoFix a bug related to use_external_quantize_index
angiebird [Tue, 19 Nov 2019 21:58:36 +0000 (13:58 -0800)]
Fix a bug related to use_external_quantize_index

Move the break point in encode_with_recode_loop after
save_coding_context() so that restore_coding_context
can work properly.

Change-Id: I58f46928c8cae0ae542fd8343076670fb35681bf

4 years agoFix a bug in free_encoder()
angiebird [Tue, 19 Nov 2019 20:58:05 +0000 (12:58 -0800)]
Fix a bug in free_encoder()

Move vpx_free(buffer_pool) after vp9_remove_compressor()

buffer_pool needs to be free after cpi because buffer_pool
contains allocated buffers that will be free in
vp9_remove_compressor()

Change-Id: I8bcedae2858cfe132bde110c8f3f6b55dcbe3f36

4 years agoUse indicative mood in comments of SimpleEncode
angiebird [Mon, 18 Nov 2019 18:54:18 +0000 (10:54 -0800)]
Use indicative mood in comments of SimpleEncode

Change-Id: I913e14994646945a7237c9ab65097647fb3a5b5c

4 years agoRename pimpl by impl_ptr in SimpleEncode
angiebird [Mon, 18 Nov 2019 18:41:52 +0000 (10:41 -0800)]
Rename pimpl by impl_ptr in SimpleEncode

Change-Id: I0071216b710544731a6f8e8c7a63c7a28f25bbac

4 years agoMove pimpl to the function body of SimpleEncode
angiebird [Mon, 18 Nov 2019 18:37:15 +0000 (10:37 -0800)]
Move pimpl to the function body of SimpleEncode

Change-Id: Id4757d61916b8348d76c99dddbe48e68f2b3ef1a

4 years agoFix a bug in EncodeFrame test
angiebird [Fri, 15 Nov 2019 01:04:58 +0000 (17:04 -0800)]
Fix a bug in EncodeFrame test

Move key frame checks after EncodeFrame()

Change-Id: I4e3eded5dc54e757f85e846c4920cddc1ea7444b