platform/upstream/libvpx.git
5 years agoRevert "Set up frame contexts based on frame type"
Yunqing Wang [Mon, 15 Jul 2019 17:15:37 +0000 (17:15 +0000)]
Revert "Set up frame contexts based on frame type"

This reverts commit affd9921e405063ed7815f412b15e634c8c9cfca.

Reason for revert:  Quality regression
(VP9/EndToEndTestLarge.EndtoEndPSNRTest/195 failed)

BUG=webm:1635

Original change's description:
> Set up frame contexts based on frame type
>
> In single layer ARF case, use different frame
> contexts for KF, ARF/GF, LF, OVERLAY update types.
>
> Change-Id: Iebb7f9bb430e483dea1e75fc122b9b67645ce804

Change-Id: I98a4eaa6ec0ae6616ea5ad35d1580501b7422e1b

5 years agoSet up frame contexts based on frame type
Deepa K G [Thu, 20 Jun 2019 13:00:41 +0000 (18:30 +0530)]
Set up frame contexts based on frame type

In single layer ARF case, use different frame
contexts for KF, ARF/GF, LF, OVERLAY update types.

Change-Id: Iebb7f9bb430e483dea1e75fc122b9b67645ce804

5 years agoMerge "Fix memory leak for vp8 multi-res encoder."
Jerome Jiang [Sat, 15 Jun 2019 00:34:40 +0000 (00:34 +0000)]
Merge "Fix memory leak for vp8 multi-res encoder."

5 years agovpx_dec_fuzzer: Remove fmemopen dependency
Harish Mahendrakar [Fri, 14 Jun 2019 18:08:36 +0000 (11:08 -0700)]
vpx_dec_fuzzer: Remove fmemopen dependency

fmemopen is not preferred during fuzzing.
Removed all file operations.

Removed need for allocating a different input buffer.
data buffer is appropriately incremented and passed directly to decoder
This will also test input being sent in an unaligned buffer to the library.

Removed read_frame function and did the required parsing inline.

Change-Id: I32829b0149dba9339f2e8bb4c0249a4987a630c7

5 years agoFix memory leak for vp8 multi-res encoder.
Jerome Jiang [Fri, 14 Jun 2019 16:50:30 +0000 (09:50 -0700)]
Fix memory leak for vp8 multi-res encoder.

BUG=webm:1630

Change-Id: I03e74e78aa0ead66eda7506e921b1774b5442ed5

5 years agoMerge "Use previous ARF as GOLDEN frame for the next GOP"
Deepa K G [Fri, 14 Jun 2019 06:49:43 +0000 (06:49 +0000)]
Merge "Use previous ARF as GOLDEN frame for the next GOP"

5 years agoMerge "ppc: disable vsx for small predictors"
Johann Koenig [Thu, 13 Jun 2019 22:06:22 +0000 (22:06 +0000)]
Merge "ppc: disable vsx for small predictors"

5 years agoppc: disable vsx for small predictors
Johann [Thu, 13 Jun 2019 18:29:09 +0000 (11:29 -0700)]
ppc: disable vsx for small predictors

These functions cause test failures when running the entire suite.

BUG=webm:1522

Change-Id: I2c1dc4923e9f149464f365ef63dc59621cfabf5a

5 years agoMerge "vpx_dec_fuzzer: Add -fsanitize=fuzzer-no-link"
Harish Mahendrakar [Thu, 13 Jun 2019 18:45:02 +0000 (18:45 +0000)]
Merge "vpx_dec_fuzzer: Add -fsanitize=fuzzer-no-link"

5 years agoMerge "ppc: disable vsx optimizations with hbd"
Johann Koenig [Thu, 13 Jun 2019 18:40:42 +0000 (18:40 +0000)]
Merge "ppc: disable vsx optimizations with hbd"

5 years agovpx_dec_fuzzer: Add -fsanitize=fuzzer-no-link
Harish Mahendrakar [Wed, 12 Jun 2019 22:14:15 +0000 (15:14 -0700)]
vpx_dec_fuzzer: Add -fsanitize=fuzzer-no-link

Updated build instructions for vpx_dec_fuzzer to include
-fsanitize=fuzzer-no-link while configuring library

Change-Id: Id158256aa1cfe3d847720e8558cb5998ad4fd777

5 years agoUse previous ARF as GOLDEN frame for the next GOP
Deepa K G [Tue, 9 Apr 2019 12:25:36 +0000 (17:55 +0530)]
Use previous ARF as GOLDEN frame for the next GOP

This patch uses ARF itself as the GOLDEN frame for the
next gf group instead of replacing it with the overlay
frame. By doing so, bits consumed by the overlay frame
will be reduced.

Change-Id: I909ceaa6d501c267d315614075913d45ad426c15

5 years agosse: remove unused HAVE_SSE files
Johann [Mon, 10 Jun 2019 22:08:40 +0000 (15:08 -0700)]
sse: remove unused HAVE_SSE files

There are no sse functions which use these files. Cleans up spurious
warnings when building with --disable-sse2

Change-Id: I04d84b8b7ecfe6da7d5d4df63840796c7b04c085

5 years agoppc: disable vsx optimizations with hbd
Johann [Mon, 10 Jun 2019 21:35:03 +0000 (14:35 -0700)]
ppc: disable vsx optimizations with hbd

vsx optimizations do not support 32 bit tran_low_t values.

BUG=webm:1563

Change-Id: I9e6348078f6e4855acfd381133eb840a435b7f81

5 years agoupdate libwebm to libwebm-1.0.0.27-361-g81de00c
James Zern [Fri, 7 Jun 2019 22:06:29 +0000 (15:06 -0700)]
update libwebm to libwebm-1.0.0.27-361-g81de00c

81de00c Check there is only one settings per ContentCompression
5623013 Fixes a double free in ContentEncoding
93b2ba0 mkvparser: quiet static analysis warnings

Change-Id: Ieaa562ef2f10075381bd856388e6b29f97ca2746

5 years agovp8: fix leak in vp8e_mr_alloc_mem
Jerome Jiang [Thu, 6 Jun 2019 22:38:13 +0000 (15:38 -0700)]
vp8: fix leak in vp8e_mr_alloc_mem

BUG=webm:1596

Change-Id: I09ba00a7b7ad331671a7a285a2ac5630d8b62199

5 years agoMerge "Update performance test results for tune=SSIM"
Sai Deng [Thu, 6 Jun 2019 15:50:14 +0000 (15:50 +0000)]
Merge "Update performance test results for tune=SSIM"

5 years agoMerge "Fix a bug in best RD cost updating"
Sai Deng [Thu, 6 Jun 2019 06:13:08 +0000 (06:13 +0000)]
Merge "Fix a bug in best RD cost updating"

5 years agoUpdate performance test results for tune=SSIM
sdeng [Thu, 6 Jun 2019 03:40:16 +0000 (20:40 -0700)]
Update performance test results for tune=SSIM

I made a mistake (used the outdated baseline) in the CL I
submitted earlier this week:
https://chromium-review.googlesource.com/c/webm/libvpx/+/1638854

The corrected results are following:
The additional gains/loss on top of the tune=ssim are:
Data Set   Overall PSNR   SSIM       MS-SSIM
 Lowres       3.490      -3.164      -2.267
 Midres       2.245      -2.270      -2.287
 HDres        2.562      -1.804      -1.681
Lowres_10bd   3.477      -2.399      -2.689
Midres_10bd   3.467      -1.534      -1.636

The overall gains/loss comparing to tune=psnr are:
Data Set   Overall PSNR   SSIM       MS-SSIM
 Lowres       6.127      -5.818      -4.783
 Midres       4.574      -5.383      -6.242
 HDres        4.908      -6.218      -7.106
Lowres_10bd   6.115      -6.212      -7.790
Midres_10bd   6.238      -6.064      -7.249

Change-Id: Iae72482f7b30f200e5021a98c920eed841d0972a

5 years agoFix a bug in best RD cost updating
sdeng [Tue, 4 Jun 2019 20:54:18 +0000 (13:54 -0700)]
Fix a bug in best RD cost updating

This CL fixed a bug that sometimes we calculate the best rd cost using
uninitialized rd_div. This CL also includes a small refactoring of
rd_pick_partition().

Speed change: (the smaller the better)
 Performance counter stats for './vpxenc park_joy_480p.y4m --limit=50
 -o output.webm':

with this CL:       297,086,181,136      instructions:u
without this CL:    299,285,835,104      instructions:u

Quality change: (negative is better)
          avg_psnr ovr_psnr  ssim
(low_res)  0.007     0.005  -0.002
(mid_res)  0.022     0.028   0.007
(hd_res)  -0.008    -0.003  -0.014

Change-Id: I8924d8426364304212bcef3aba13346783e6f1a8

5 years agoconfigure: test -Wno-* flags used with libyuv
James Zern [Tue, 4 Jun 2019 21:45:36 +0000 (14:45 -0700)]
configure: test -Wno-* flags used with libyuv

with g++ this avoids:
command line option ‘-Wno-missing-prototypes’ is valid for C/ObjC but
not for C++

the flag is necessary with clang.

BUG=webm:1584

Change-Id: I250c76483302d913999e5f9e0d09ee6449b052df

5 years agoMerge changes Ib73136b2,Ie514f663
James Zern [Tue, 4 Jun 2019 21:12:50 +0000 (21:12 +0000)]
Merge changes Ib73136b2,Ie514f663

* changes:
  configure: enable -Wmissing-declarations for more files
  vp9_thread_test: quiet -Wmissing-prototypes

5 years agoMerge "vp9-rtc: Use speed 5 for postencode drop tests."
Marco Paniconi [Tue, 4 Jun 2019 18:35:15 +0000 (18:35 +0000)]
Merge "vp9-rtc: Use speed 5 for postencode drop tests."

5 years agovp9-rtc: Use speed 5 for postencode drop tests.
Marco Paniconi [Tue, 4 Jun 2019 17:07:11 +0000 (10:07 -0700)]
vp9-rtc: Use speed 5 for postencode drop tests.

Test was running at speed 4, which is not used for real-time.
With this change all Datarate tests are now running at
(speed >= 5, 1 pass, real-time mode), which is what they
were intended for.

BUG=webm:1512

Change-Id: I47a721dadd24b73df722c44419df7cfc06c44226

5 years agoMerge "Hierarchical rdmult scaling when tune=ssim"
Sai Deng [Tue, 4 Jun 2019 16:10:51 +0000 (16:10 +0000)]
Merge "Hierarchical rdmult scaling when tune=ssim"

5 years agoconfigure: enable -Wmissing-declarations for more files
James Zern [Mon, 3 Jun 2019 21:43:24 +0000 (14:43 -0700)]
configure: enable -Wmissing-declarations for more files

avoid using it with third_party/libyuv as that still requires some work.

BUG=webm:1584

Change-Id: Ib73136b22c89d927b112364e19d725c51768bbb7

5 years agoHierarchical rdmult scaling when tune=ssim
sdeng [Sat, 1 Jun 2019 00:25:09 +0000 (17:25 -0700)]
Hierarchical rdmult scaling when tune=ssim

Use different lagrangian multiplier scaling factor for different block
size. The blocks whose sizes are less than 16x16 share the same multiplier
of their parent block.

The additional gains/loss on top of the tune=ssim are:
Data Set   Overall PSNR   SSIM    MS-SSIM
Lowres         2.918     -3.691   -2.596
Midres         1.708     -2.656   -2.624
HDres          1.619     -2.496   -2.391
Midres_10bd    1.518     -3.263   -3.561

The overall gains/loss comparing to tune=psnr are:
Data Set   Overall PSNR   SSIM    MS-SSIM
Lowres         5.583     -6.208   -4.978
Midres         4.024     -5.610   -6.411
HDres          4.102     -6.614   -7.457
Midres_10bd    4.647     -7.181   -8.614

Change-Id: I0e6c5008488734e979b2dacde9fc2a17f3aa620f

5 years agovp9_thread_test: quiet -Wmissing-prototypes
James Zern [Tue, 4 Jun 2019 00:08:23 +0000 (17:08 -0700)]
vp9_thread_test: quiet -Wmissing-prototypes

BUG=webm:1584

Change-Id: Ie514f6630acfb018a3ac4a05758c8b4119ae28fa

5 years agoMerge "Remove unused func for CONFIG_REALTIME_ONLY"
Jerome Jiang [Mon, 3 Jun 2019 19:54:28 +0000 (19:54 +0000)]
Merge "Remove unused func for CONFIG_REALTIME_ONLY"

5 years agoRemove unused func for CONFIG_REALTIME_ONLY
Jerome Jiang [Mon, 3 Jun 2019 17:11:34 +0000 (10:11 -0700)]
Remove unused func for CONFIG_REALTIME_ONLY

Change-Id: I503e147e20e5b69b910c425d169e59821874f627

5 years agoMerge changes I7b1d1482,I01588758,I6f17864e
Sai Deng [Mon, 3 Jun 2019 16:19:06 +0000 (16:19 +0000)]
Merge changes I7b1d1482,I01588758,I6f17864e

* changes:
  Update rdcost using the rd_mult in current block
  Use distortion and rate of best_rd as the params
  Use distortion and rate recursively in rd_pick_partition()

5 years agoUpdate rdcost using the rd_mult in current block
sdeng [Fri, 31 May 2019 22:11:53 +0000 (15:11 -0700)]
Update rdcost using the rd_mult in current block

This CL is a preparation for implementing hierarchical SSIM rdmult scaling.
There is very little impact on metrics and speed:
       avg_psnr ovr_psnr  ssim
midres   0.009   0.009   0.015

perf stat -e instructions:u ./vpxenc park_joy_480p.y4m --limit=50
with this cl: 317,722,808,461
before:       317,700,108,619

Change-Id: I7b1d1482ac69f7bc87065a93223a0274bcbe8ce3

5 years agoUse distortion and rate of best_rd as the params
sdeng [Fri, 31 May 2019 21:35:02 +0000 (14:35 -0700)]
Use distortion and rate of best_rd as the params

Also added rd calculation for negative rates and distortions.
This CL is a preparation for implementing hierarchical SSIM rdmult scaling.

Little impact on quality and speed:
            avg_psnr  ovr_psnr   ssim
(mid_res)    -0.015    -0.009   -0.018

perf stat -e instructions:u ./vpxenc park_joy_480p.y4m --limit=50
with this cl: 317,700,108,619
before:       317,669,279,763

Change-Id: I01588758b7be2aab32236440ec0e57d7af56e920

5 years agoMerge "Remove RD code for CONFIG_REALTIME_ONLY in vp9."
Jerome Jiang [Sat, 1 Jun 2019 00:07:27 +0000 (00:07 +0000)]
Merge "Remove RD code for CONFIG_REALTIME_ONLY in vp9."

5 years agoRemove RD code for CONFIG_REALTIME_ONLY in vp9.
Jerome Jiang [Fri, 31 May 2019 16:41:14 +0000 (09:41 -0700)]
Remove RD code for CONFIG_REALTIME_ONLY in vp9.

This reduces vp9 only binary size by ~5.7%.

Change-Id: I57e46baf591d68b0a0cecbc9319a1190df8b0457

5 years agoUse distortion and rate recursively in rd_pick_partition()
sdeng [Fri, 31 May 2019 20:10:08 +0000 (13:10 -0700)]
Use distortion and rate recursively in rd_pick_partition()

This CL is a preparation for implementing hierarchical SSIM rdmult scaling,
There is very little impact on metrics and speed:
       avg_psnr ovr_psnr  ssim
midres   -0.04   0.005    0.012

perf stat -e instructions:u ./vpxenc park_joy_480p.y4m --limit=50
with this cl: 317,669,279,763
before:       317,717,562,045

Change-Id: I6f17864e7b17aad06a04ae4f470f75e975549db9

5 years agolibvpx,vp9_datarate_test: drop one-pass vod mode
James Zern [Thu, 30 May 2019 22:22:58 +0000 (15:22 -0700)]
libvpx,vp9_datarate_test: drop one-pass vod mode

this test is only useful for realtime mode testing given the number of
frames and that one-pass vod has never been a primary focus for
development.

BUG=webm:1512

Change-Id: I23208393a5fcc5bcf9b267fab4b0d1aad500918a

5 years agoMerge "added error logging to video_writer.c similar to video_reader.c"
Aidan Welch [Thu, 30 May 2019 01:50:10 +0000 (01:50 +0000)]
Merge "added error logging to video_writer.c similar to video_reader.c"

5 years agoMerge "remove unused svc exports"
Johann Koenig [Wed, 29 May 2019 22:16:48 +0000 (22:16 +0000)]
Merge "remove unused svc exports"

5 years agoadded error logging to video_writer.c similar to video_reader.c
Aidan Welch [Tue, 28 May 2019 04:46:00 +0000 (00:46 -0400)]
added error logging to video_writer.c similar to video_reader.c

Change-Id: Ib56b3e309113574a69ae09db1ee5b0fcc14ebe88

5 years agoremove unused svc exports
Johann [Tue, 21 May 2019 21:15:18 +0000 (14:15 -0700)]
remove unused svc exports

The spatial svc implementation has moved outside the library:
commit ed8f189cccda9168fd400d1ba6661b1bc14a3afa
  Refactor: move svc example files to from vpx/ to  examples/

BUG=webm:1629

Change-Id: I31c3ae7b20a6bd50615d1d6e48d4f93beca939e6

5 years agoMerge "Fix calculations in GF only group case"
Deepa K G [Wed, 29 May 2019 08:02:07 +0000 (08:02 +0000)]
Merge "Fix calculations in GF only group case"

5 years agoMerge "Increase the bits allocated to key frame"
Deepa K G [Wed, 29 May 2019 08:01:23 +0000 (08:01 +0000)]
Merge "Increase the bits allocated to key frame"

5 years agoMerge "vp9-rtc: Update overshoot_detection speed feature"
Marco Paniconi [Tue, 28 May 2019 15:32:10 +0000 (15:32 +0000)]
Merge "vp9-rtc: Update overshoot_detection speed feature"

5 years agoMerge "Fix section intra rating for first ARF interval"
Paul Wilkins [Tue, 28 May 2019 10:40:48 +0000 (10:40 +0000)]
Merge "Fix section intra rating for first ARF interval"

5 years agovp9-rtc: Update overshoot_detection speed feature
Marco Paniconi [Fri, 24 May 2019 17:32:08 +0000 (10:32 -0700)]
vp9-rtc: Update overshoot_detection speed feature

Keep the overshoot_detection_cbr_rt to the fast mode
(FAST_DETECTION_MAXQ), except for low-resoln at speed 5,
for non-screen content.

The increase in encode time (from using the more accurate
RE_ENCODE_MAXQ) is acceptable for speed 5 at low resoln.

Change-Id: I3089d1505553154ef046056465bc18130f7bd55a

5 years agoFix calculations in GF only group case
Deepa K G [Mon, 27 May 2019 12:32:00 +0000 (18:02 +0530)]
Fix calculations in GF only group case

- Fix the number of frames considered in calculation of
  twopass active worst quality. For GF only group, frames
  considered should be one less than baseline gf interval
  accounting for the golden frame.
- Fix in calculation of normal_frames. As baseline gf
  interval includes the golden frame, the number of
  normal frames should be one less than baseline gf
  interval.

Change-Id: Ic752f7d13d23772687e2fa407698766b3fdf5c67

5 years agoMerge "Revert "Fix calculations in GF only group case""
James Zern [Sat, 25 May 2019 23:41:30 +0000 (23:41 +0000)]
Merge "Revert "Fix calculations in GF only group case""

5 years agoRevert "Fix calculations in GF only group case"
James Zern [Sat, 25 May 2019 19:55:35 +0000 (19:55 +0000)]
Revert "Fix calculations in GF only group case"

This reverts commit c87ff4a09ddf50152918c127eebf11e3a6ef7b1e.

Reason for revert: causes division by zero

Original change's description:
> Fix calculations in GF only group case
>
> - Fix the number of frames considered in calculation of
>   twopass active worst quality. For GF only group, frames
>   considered should be one less than baseline gf interval
>   accounting for the golden frame.
> - Fix in calculation of normal_frames. As baseline gf
>   interval includes the golden frame, the number of
>   normal frames should be one less than baseline gf
>   interval.
>
> Change-Id: I6c0cd0a39db23586fc390a6fba5d7aebc0dfce08

Change-Id: I522da652587ae7ca4177f6d4bb9f72abcff35637

5 years agoMerge "Increase active best quality linearly"
Jingning Han [Fri, 24 May 2019 16:35:27 +0000 (16:35 +0000)]
Merge "Increase active best quality linearly"

5 years agoMerge "Fix calculations in GF only group case"
Paul Wilkins [Fri, 24 May 2019 15:38:56 +0000 (15:38 +0000)]
Merge "Fix calculations in GF only group case"

5 years agoMerge "Exclude VP9 files from vpx_dsp.mk for VP8 build"
Venkatarama Avadhani [Fri, 24 May 2019 05:22:16 +0000 (05:22 +0000)]
Merge "Exclude VP9 files from vpx_dsp.mk for VP8 build"

5 years agoMerge "Clamp for min_frame_target"
Jingning Han [Wed, 22 May 2019 16:42:54 +0000 (16:42 +0000)]
Merge "Clamp for min_frame_target"

5 years agoExclude VP9 files from vpx_dsp.mk for VP8 build
Venkatarama NG. Avadhani [Wed, 8 May 2019 14:23:58 +0000 (19:53 +0530)]
Exclude VP9 files from vpx_dsp.mk for VP8 build

Change-Id: Ifab64a783c205cc79b841a3f77fb77b156b23b23

5 years agoClamp for min_frame_target
Jingning Han [Tue, 21 May 2019 23:47:24 +0000 (16:47 -0700)]
Clamp for min_frame_target

Apply the minimum frame size clamp for all applicable frames. This
avoids bit-rate undershooting issue as reported in

BUG=b/133260125

Change-Id: I59ec028eee999ad5238602adf96465af7c4f4514

5 years agoIncrease the bits allocated to key frame
Deepa K G [Fri, 17 May 2019 10:35:06 +0000 (16:05 +0530)]
Increase the bits allocated to key frame

Based on the spatial complexity, increase the
bits allocated to key frame.

Change-Id: I4f96990a13bcc3bdb7a22d50e67e2bd622f1ff7b

5 years agovp8: Disallow copy flag behavior under forced refresh
Marco Paniconi [Tue, 14 May 2019 22:47:23 +0000 (15:47 -0700)]
vp8: Disallow copy flag behavior under forced refresh

Don't allow the setting of copy_buffer_to_arf when the
application/user sets the refresh/update flags. Add new flag
(ext_refresh_frame_flags_pending) to indicate user sets the flags.

Change-Id: I482098c0f2552b04885132a728629ab3e207f08b

5 years agovp9-rtc: Increase qp thresh for overshoot detection
Marco Paniconi [Fri, 17 May 2019 17:50:42 +0000 (10:50 -0700)]
vp9-rtc: Increase qp thresh for overshoot detection

For video mode (non-screen) in CBR real-time mode:
increase the qp thresh to trigger setting to active_worst
on scene changes. Avoid big overshoots in content with
scene changes.

Change-Id: I74721b07b0d7b742cbef468ece70cca7da0f89eb

5 years agoIncrease active best quality linearly
Ravi Chaudhary [Mon, 22 Apr 2019 13:25:12 +0000 (18:55 +0530)]
Increase active best quality linearly

The ARF frames in last few gf intervals, would be
used as a reference by fewer ARF frames in the same
kf interval. Also, the ARF frames in the last GF
group would not be used as a reference in future.
Hence the active best quality for these ARF frames
is increased based on their temporal distance from
the next key frame.

Change-Id: Ice7eaa8a25384104b1d9cc021eec588c03053fc2

5 years agoFix calculations in GF only group case
Deepa K G [Fri, 26 Apr 2019 10:09:13 +0000 (15:39 +0530)]
Fix calculations in GF only group case

- Fix the number of frames considered in calculation of
  twopass active worst quality. For GF only group, frames
  considered should be one less than baseline gf interval
  accounting for the golden frame.
- Fix in calculation of normal_frames. As baseline gf
  interval includes the golden frame, the number of
  normal frames should be one less than baseline gf
  interval.

Change-Id: I6c0cd0a39db23586fc390a6fba5d7aebc0dfce08

5 years agoFix section intra rating for first ARF interval
Deepa K G [Tue, 14 May 2019 08:40:21 +0000 (14:10 +0530)]
Fix section intra rating for first ARF interval

The section intra rating used for the frames in the
first ARF interval was based on entire key frame
interval. However, for subsequent ARF intervals it was
based on that ARF interval. This discrepancy is fixed.

Change-Id: I3df358861d720e536c9c6f15da1cbd78f2dfffbc

5 years agoMerge "Revert "disable row mt test""
Johann Koenig [Wed, 15 May 2019 18:40:02 +0000 (18:40 +0000)]
Merge "Revert "disable row mt test""

5 years agoRevert "disable row mt test"
Johann Koenig [Wed, 15 May 2019 17:06:22 +0000 (17:06 +0000)]
Revert "disable row mt test"

This reverts commit 6d6cc17dc852a216395611bf651e57c19c95b9c4.

Reason for revert:
This has not been reproduced on hardware. There is a strange
libc bug which may account for the behavior on arm because
the environment qemu is using is somewhat old. See discussion
on the webm bug.

To work around the failures in the nightly test the jenkins
job has been switched to use the hardfloat compiler and qemu
environment. Even though this is the same version, it has
not shown the hanging behavior.

Original change's description:
> disable row mt test
>
> deadlock is being investigated in attached bug.
>
> BUG=webm:1626
>
> Change-Id: Ia6d7020b8b1d274433aa89f36c9ed5b9facc5808

Bug: webm:1626
Change-Id: I104a82696a4c90bfbadfd39407c073adce73af0d

5 years agoMerge "Increase the active best quality in CQ"
Deepa K G [Wed, 15 May 2019 04:26:02 +0000 (04:26 +0000)]
Merge "Increase the active best quality in CQ"

5 years agoReland "vp9: Enable ml based partition for speed>=8 low res."
Jerome Jiang [Mon, 13 May 2019 18:29:55 +0000 (11:29 -0700)]
Reland "vp9: Enable ml based partition for speed>=8 low res."

Disable in high bitdepth build.

This reverts commit 152358da777d45613b386be3a116719b8b16bd6d.

Change-Id: I9996d0963915ed4db0fde80c6290d91b3ce63719

5 years agoMerge "Fix update of mb_smooth_pct and mb_av_energy"
Paul Wilkins [Mon, 13 May 2019 08:08:37 +0000 (08:08 +0000)]
Merge "Fix update of mb_smooth_pct and mb_av_energy"

5 years agoMerge "Revert "vp9: Enable ml based partition for speed>=8 low res.""
Jerome Jiang [Fri, 10 May 2019 23:15:04 +0000 (23:15 +0000)]
Merge "Revert "vp9: Enable ml based partition for speed>=8 low res.""

5 years agoMerge "disable row mt test"
Johann Koenig [Fri, 10 May 2019 22:57:50 +0000 (22:57 +0000)]
Merge "disable row mt test"

5 years agoMerge "Cast buffer offset to int64_t"
Jerome Jiang [Fri, 10 May 2019 21:38:16 +0000 (21:38 +0000)]
Merge "Cast buffer offset to int64_t"

5 years agoRevert "vp9: Enable ml based partition for speed>=8 low res."
Jerome Jiang [Fri, 10 May 2019 21:29:12 +0000 (14:29 -0700)]
Revert "vp9: Enable ml based partition for speed>=8 low res."

This reverts commit eed8d47769ddc78c277f8a45b12af4b65096b59a.

BUG=chromium:946409

Change-Id: Iaf9929de841445f63e93792d1fee06d9a1035ef4

5 years agoMerge "Assign perceptual AQ mode as 5"
Jingning Han [Fri, 10 May 2019 21:28:47 +0000 (21:28 +0000)]
Merge "Assign perceptual AQ mode as 5"

5 years agoAssign perceptual AQ mode as 5
Jingning Han [Fri, 10 May 2019 20:25:32 +0000 (13:25 -0700)]
Assign perceptual AQ mode as 5

Change-Id: I8f301fab3bedcd71588c57ccd6e49dcb7042e220

5 years agoCast buffer offset to int64_t
Jerome Jiang [Fri, 10 May 2019 18:46:19 +0000 (11:46 -0700)]
Cast buffer offset to int64_t

To prevent integer overflow with extreme frame sizes.

Change-Id: Ib77f1c11f0264257d9e6c162f474d637592e7b09

5 years agoReland "vp9-rtc: tx_size selection for intra mode in nonrd"
Jerome Jiang [Fri, 10 May 2019 16:47:08 +0000 (09:47 -0700)]
Reland "vp9-rtc: tx_size selection for intra mode in nonrd"

Reland this change since tsan failure is fixed.

Change-Id: I20e3d3d23e34befabb43a36d491d27dfc2a908b6

5 years agoFix tsan failure in webrtc test.
Jerome Jiang [Fri, 10 May 2019 04:04:11 +0000 (21:04 -0700)]
Fix tsan failure in webrtc test.

plane block size is used when computing model rd for uv.
However, it iterates thru sub-blocks based on tx size on uv planes
and plane block size could be bigger than that, which leads to reading
beyond tile boundary when the block is on it.

BUG=b/131414589

Change-Id: I362091484b1325b89d2175039323b235a06ebffc

5 years agodisable row mt test
Johann [Thu, 9 May 2019 18:57:30 +0000 (11:57 -0700)]
disable row mt test

deadlock is being investigated in attached bug.

BUG=webm:1626

Change-Id: Ia6d7020b8b1d274433aa89f36c9ed5b9facc5808

5 years agoMerge "Fix key frame detection"
Jingning Han [Wed, 8 May 2019 21:29:07 +0000 (21:29 +0000)]
Merge "Fix key frame detection"

5 years agoFix key frame detection
Jingning Han [Wed, 8 May 2019 20:16:10 +0000 (13:16 -0700)]
Fix key frame detection

This solves the regression issue seen in certain animation clips.

BUG=b/132108583

Change-Id: Ib28413c95160a5f15fbcf9ea6a322fd4f69a57ce

5 years agoMerge "android: clarify RTCD usage"
Johann Koenig [Wed, 8 May 2019 16:21:24 +0000 (16:21 +0000)]
Merge "android: clarify RTCD usage"

5 years agoMerge "Avoid two GF only groups just before a kf"
Paul Wilkins [Wed, 8 May 2019 10:55:25 +0000 (10:55 +0000)]
Merge "Avoid two GF only groups just before a kf"

5 years agoMerge "Cap arf boost in perceptual quality mode"
Jingning Han [Tue, 7 May 2019 05:29:01 +0000 (05:29 +0000)]
Merge "Cap arf boost in perceptual quality mode"

5 years agoMerge "Increase min arf boost from 240 to 250"
Jingning Han [Tue, 7 May 2019 05:28:43 +0000 (05:28 +0000)]
Merge "Increase min arf boost from 240 to 250"

5 years agoMerge "vp8: Remove duplicated code in datarate tests."
Jerome Jiang [Tue, 7 May 2019 04:01:44 +0000 (04:01 +0000)]
Merge "vp8: Remove duplicated code in datarate tests."

5 years agovp8: Remove duplicated code in datarate tests.
Jerome Jiang [Fri, 3 May 2019 22:07:58 +0000 (15:07 -0700)]
vp8: Remove duplicated code in datarate tests.

Duplicated code between *Large and other tests.

Change-Id: I0cea7472c3520175339bc921dfd8a090b5d5484d

5 years agoAdd mismatch_debug tool
Angie Chiang [Thu, 2 May 2019 21:56:56 +0000 (14:56 -0700)]
Add mismatch_debug tool

Change-Id: I045b4cf625d428109688303ced5433d824df2790

5 years agoMerge "Revert "vp9-rtc: tx_size selection for intra mode in nonrd""
Jerome Jiang [Mon, 6 May 2019 22:14:58 +0000 (22:14 +0000)]
Merge "Revert "vp9-rtc: tx_size selection for intra mode in nonrd""

5 years agoCap arf boost in perceptual quality mode
Jingning Han [Mon, 6 May 2019 21:09:18 +0000 (14:09 -0700)]
Cap arf boost in perceptual quality mode

When the perceptual AQ mode is enabled, cap the ARF boost to 2.5x
of the regular frame. This allows more consistent frame quality
across consecutive frames and sufficient bit rate allocation at
frame level for AQ mode.

Change-Id: I10f5e2860a3e4b412efe25cca635405bae293ebf

5 years agoIncrease min arf boost from 240 to 250
Jingning Han [Mon, 6 May 2019 19:56:57 +0000 (12:56 -0700)]
Increase min arf boost from 240 to 250

This imposes nearly zero change in low/mid/hd res test sets.

Change-Id: I121716b96263f2a382d35e7ff05ed8b72e5e6bc7

5 years agoMerge "android: do not attempt standalone builds"
Johann Koenig [Mon, 6 May 2019 20:38:04 +0000 (20:38 +0000)]
Merge "android: do not attempt standalone builds"

5 years agoMerge "Exclude VP9 assemblies from VP8 builds"
Harish Mahendrakar [Mon, 6 May 2019 19:49:56 +0000 (19:49 +0000)]
Merge "Exclude VP9 assemblies from VP8 builds"

5 years agoandroid: clarify RTCD usage
Johann [Mon, 6 May 2019 19:48:50 +0000 (12:48 -0700)]
android: clarify RTCD usage

Note that when using --disable-runtime-cpu-detect the developer
must keep in mind what devices the library will be run on.

BUG=webm:1623

Change-Id: I0359e226bb678f8e5145bb30cd1cefc7e30c6c79

5 years agoRevert "vp9-rtc: tx_size selection for intra mode in nonrd"
Jerome Jiang [Mon, 6 May 2019 19:29:02 +0000 (12:29 -0700)]
Revert "vp9-rtc: tx_size selection for intra mode in nonrd"

This reverts commit cdd40d1cd042d8c139b3426f311b8b5722d696bb.

Cause tsan failure in webrtc tests.

BUG=b/131414589

Change-Id: I04f98153bc1f9d013d3d1eb8d06df312fe12f8b4

5 years agoandroid: do not attempt standalone builds
Johann [Thu, 2 May 2019 18:40:52 +0000 (11:40 -0700)]
android: do not attempt standalone builds

arm builds require too many tweaks to keep up with changes
to the ndk. Recommend ndk-build instead.

Update documentation and drop --sdk-path references. If
--enable-external-build is used instead we do not need the compiler
path.

BUG=webm:1622

Change-Id: Id024345afd7af988321f8f97ebab19c425cb0493

5 years agoFix update of mb_smooth_pct and mb_av_energy
Ravi Chaudhary [Mon, 4 Mar 2019 05:27:17 +0000 (10:57 +0530)]
Fix update of mb_smooth_pct and mb_av_energy

Values of mb_smooth_pct and mb_av_energy have been updated
correctly in vp9_rc_get_second_pass_params for higher layer
ARF frames.

Change-Id: Ic176e393eb8cc5f418235fee9accee84e9809607

5 years agoExclude VP9 assemblies from VP8 builds
Venkatarama NG. Avadhani [Thu, 2 May 2019 04:37:54 +0000 (10:07 +0530)]
Exclude VP9 assemblies from VP8 builds

Add a macro to to exclude VP9 specific assembly files from build if VP9
is not configured. This would otherwise cause a linking error for VP8
only builds.

BUG=webm:1625

Change-Id: I6d892b7c2837a2574538d18b776fd2b6d706da96

5 years agoMerge "vp8: clamp uv mv after calculation."
Jerome Jiang [Fri, 3 May 2019 18:13:46 +0000 (18:13 +0000)]
Merge "vp8: clamp uv mv after calculation."

5 years agoAvoid two GF only groups just before a kf
Deepa K G [Mon, 29 Apr 2019 13:09:14 +0000 (18:39 +0530)]
Avoid two GF only groups just before a kf

Trap the case where we end up with two short GF only groups just
before a key frame. For example, if the KF is 22 frames away
we are better doing one ARF group of size 16 followed by a GF
only group of 6 than two GF only groups of size 11 (when
min_gf_interval is 12).

Change-Id: Ie598a8a21c6e104cbe381b4792e77fd92d047725

5 years agovp8: clamp uv mv after calculation.
Jerome Jiang [Wed, 1 May 2019 18:51:26 +0000 (11:51 -0700)]
vp8: clamp uv mv after calculation.

BUG=oss-fuzz:14478

Change-Id: Ia978a1e7829bf486681385cd715ed0b50fe3b072

5 years agoMerge "vp8: quiet conversion warnings when packing bits"
Johann Koenig [Thu, 2 May 2019 19:04:47 +0000 (19:04 +0000)]
Merge "vp8: quiet conversion warnings when packing bits"

5 years agoMerge "Fix the use of uninitialized value in qsort"
Angie Chiang [Thu, 2 May 2019 18:44:13 +0000 (18:44 +0000)]
Merge "Fix the use of uninitialized value in qsort"