platform/upstream/libvpx.git
4 years agoSync simple_encode.h
angiebird [Thu, 6 Feb 2020 22:53:21 +0000 (14:53 -0800)]
Sync simple_encode.h

Change-Id: I046b8c65c96e1864813f9a82649dd6b41ba0aa1f

4 years agoRename inverse_vpx_rational to invert_vpx_rational
angiebird [Thu, 6 Feb 2020 22:51:51 +0000 (14:51 -0800)]
Rename inverse_vpx_rational to invert_vpx_rational

Change-Id: I9139ebc22be74e9726eee157821faf22d44bd30f

4 years agoConsistency test for motion vector info
Cheng Chen [Sun, 2 Feb 2020 21:12:49 +0000 (13:12 -0800)]
Consistency test for motion vector info

Change-Id: Ie1d77e231b973eb16f4e9c520721b47cdf86622c

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

4 years agoLet SimpleEncode be able to output bitstream
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

4 years agoAdd coded_frame to EncodeFrameResults
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

4 years agoMerge "Store frame motion vector info"
Cheng Chen [Wed, 5 Feb 2020 21:21:47 +0000 (21:21 +0000)]
Merge "Store frame motion vector info"

4 years agoloopfilter_sse2: call unsuffixed lpf functions
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

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

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