platform/upstream/libvpx.git
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 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 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 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 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"

5 years agoMerge "make vpx_debug_util.c inclusion conditional"
James Zern [Wed, 1 May 2019 19:51:41 +0000 (19:51 +0000)]
Merge "make vpx_debug_util.c inclusion conditional"

5 years agovp8: quiet conversion warnings when packing bits
Johann [Wed, 1 May 2019 19:10:53 +0000 (12:10 -0700)]
vp8: quiet conversion warnings when packing bits

Mask the values to show that we only want to store 1 byte. Switch
to lowercase ff since it's more prevalent in the file.

BUG=webm:1615

Change-Id: Ia8ede79cb3a4a39c868198ae207d606e30cfb1cb

5 years agoRework the wiener variance buffer
Jingning Han [Tue, 30 Apr 2019 18:54:07 +0000 (11:54 -0700)]
Rework the wiener variance buffer

Support the potential frame scaling use case. The operation flow
now allows the codec to allocate the memory buffer only when
perceptual AQ mode is enabled.

Change-Id: I7529e63131276dbe3a29f910d3a227f20dbc94a2

5 years agoDeprecate stack_rank_buffer usage
Jingning Han [Tue, 30 Apr 2019 17:58:03 +0000 (10:58 -0700)]
Deprecate stack_rank_buffer usage

This large buffer is no longer needed.

Change-Id: I9f2b3b28663d299649208f6172bba136103342ad

5 years agoRefactor perceptual aq control
Jingning Han [Tue, 30 Apr 2019 17:54:17 +0000 (10:54 -0700)]
Refactor perceptual aq control

Move the activation control to vpxenc interface using aq-mode.

Change-Id: Iae406d4f7e74bdc7bfd3b149f0811093454f879e

5 years agoMerge "Add PERCEPTUAL_AQ tag"
Jingning Han [Wed, 1 May 2019 03:37:04 +0000 (03:37 +0000)]
Merge "Add PERCEPTUAL_AQ tag"

5 years agomake vpx_debug_util.c inclusion conditional
James Zern [Wed, 1 May 2019 00:42:46 +0000 (17:42 -0700)]
make vpx_debug_util.c inclusion conditional

on CONFIG_BITSTREAM_DEBUG. this avoids an object file containing no
symbols which may cause warnings on some platforms.

Change-Id: I02af97d6970de949466c29f50d272733d97ee8d2

5 years agoMerge "vp8cx.h,vpxenc: add note about alt ref ranges"
James Zern [Tue, 30 Apr 2019 22:09:39 +0000 (22:09 +0000)]
Merge "vp8cx.h,vpxenc: add note about alt ref ranges"

5 years agoFix the use of uninitialized value in qsort
Jingning Han [Tue, 30 Apr 2019 17:36:54 +0000 (10:36 -0700)]
Fix the use of uninitialized value in qsort

Search within the effective transform coefficient window.

Change-Id: If432eaab5ffca1cdfe57ee23052bf5dc60a2f893

5 years agocast ambiguous _mm_set1_epiNN() constants
Johann [Tue, 30 Apr 2019 19:26:18 +0000 (12:26 -0700)]
cast ambiguous _mm_set1_epiNN() constants

clang 7 integer sanitizer warns on unsigned->signed conversions when
the highest bit is 1.

BUG=webm:1615

Change-Id: I6381efaff9233254b40cb78f7bcf87090e0ad353

5 years agoMerge "vp8: quiet conversion warning when packing sizes"
Johann Koenig [Tue, 30 Apr 2019 16:46:59 +0000 (16:46 +0000)]
Merge "vp8: quiet conversion warning when packing sizes"

5 years agoMerge "Refine active best quality of layered ARF frames"
Deepa K G [Tue, 30 Apr 2019 07:59:01 +0000 (07:59 +0000)]
Merge "Refine active best quality of layered ARF frames"

5 years agoMerge "Call set_error_per_bit in SSIM rdmult update"
Sai Deng [Mon, 29 Apr 2019 23:38:30 +0000 (23:38 +0000)]
Merge "Call set_error_per_bit in SSIM rdmult update"

5 years agovp8: quiet conversion warning when packing sizes
Johann [Mon, 29 Apr 2019 23:07:02 +0000 (16:07 -0700)]
vp8: quiet conversion warning when packing sizes

The values are or'd together and then stored 8 bits at a time:
9.1. Uncompressed Data Chunk
* 16 bits: (2 bits Horizontal Scale << 14) | Width (14 bits)
* 16 bits: (2 bits Vertical Scale << 14) | Height (14 bits)

BUG=webm:1615

Change-Id: Id2eb3deaccec299a0619990d3a6f1eb4f71e50e2

5 years agoMerge "vp8 quantize: silence conversion warning"
Johann Koenig [Mon, 29 Apr 2019 22:53:22 +0000 (22:53 +0000)]
Merge "vp8 quantize: silence conversion warning"

5 years agoMerge "vp8 quantize: use native abs/sign implementations"
Johann Koenig [Mon, 29 Apr 2019 22:32:02 +0000 (22:32 +0000)]
Merge "vp8 quantize: use native abs/sign implementations"

5 years agovp8cx.h,vpxenc: add note about alt ref ranges
James Zern [Mon, 29 Apr 2019 22:21:40 +0000 (15:21 -0700)]
vp8cx.h,vpxenc: add note about alt ref ranges

BUG=webm:1597

Change-Id: I56345ec621a06dfe1eae7f205874f34bfb40e6e5

5 years agoMerge "Add bistream_debug tool"
Angie Chiang [Mon, 29 Apr 2019 22:22:04 +0000 (22:22 +0000)]
Merge "Add bistream_debug tool"

5 years agovp8 quantize: silence conversion warning
Johann [Mon, 29 Apr 2019 21:38:27 +0000 (14:38 -0700)]
vp8 quantize: silence conversion warning

clang 7 integer sanitizer warns about storing any int16_t value
where the high bit is 1. Treated as an int, such number would
be positive. Treated as an int16_t, it is negative.

BUG=webm:1615

Change-Id: Idf655cd92d26b7c1180910159be3f64164577eca

5 years agovp8 quantize: use native abs/sign implementations
Johann [Mon, 29 Apr 2019 20:05:30 +0000 (13:05 -0700)]
vp8 quantize: use native abs/sign implementations

~4% improvement with a very rudimentary speed test

Change-Id: Iad8868327e3276dbead783a79849295b0e4b135c

5 years agoAdd PERCEPTUAL_AQ tag
Jingning Han [Mon, 29 Apr 2019 18:40:42 +0000 (11:40 -0700)]
Add PERCEPTUAL_AQ tag

Refactor the percetual AQ mode control.

Change-Id: I9c00c32139ec98fd6aebc1d5086e042730f3616f

5 years agoMerge "Refactor the SSIM based rdmult update function"
Sai Deng [Mon, 29 Apr 2019 18:35:59 +0000 (18:35 +0000)]
Merge "Refactor the SSIM based rdmult update function"

5 years agoCall set_error_per_bit in SSIM rdmult update
sdeng [Mon, 29 Apr 2019 16:34:46 +0000 (09:34 -0700)]
Call set_error_per_bit in SSIM rdmult update

This CL improves objective metrics: (midres)
avg_psnr ovr_psnr ssim    ms_ssim
-0.149   -0.038   -0.108  -0.129

Change-Id: I21f3e478f81ead5a3bcce6041f32fbceb53828f3

5 years agoRefactor the SSIM based rdmult update function
sdeng [Mon, 29 Apr 2019 16:31:13 +0000 (09:31 -0700)]
Refactor the SSIM based rdmult update function

Change-Id: I335103689659d9a2b291c4da54f07cdd9c2b1a6d

5 years agoMerge "Fix in key frame detection"
Paul Wilkins [Mon, 29 Apr 2019 13:50:37 +0000 (13:50 +0000)]
Merge "Fix in key frame detection"

5 years agoAdd bistream_debug tool
Angie Chiang [Wed, 24 Apr 2019 01:19:30 +0000 (18:19 -0700)]
Add bistream_debug tool

Change-Id: I339899cff65c7ef563f9411f2d7af9a32a08a705

5 years agovp9-rtc: Adjust thresh for 4x4 tx selection
Marco Paniconi [Thu, 25 Apr 2019 23:12:19 +0000 (16:12 -0700)]
vp9-rtc: Adjust thresh for 4x4 tx selection

For screen content nonrd_pickmode: reduce
threshold to select 4x4 tx_size, under certain
conditions.

Change-Id: If68c30172272868033f0e3011e53c76b4e7c48b6

5 years agovp9-rtc: Fix int conversion error in nonrd_pickmode.
Marco Paniconi [Thu, 25 Apr 2019 16:01:52 +0000 (09:01 -0700)]
vp9-rtc: Fix int conversion error in nonrd_pickmode.

Change-Id: I1be775d8c11f530ff26121f1ffaf1dae100b2510

5 years agovp9-rtc: Pass source variance and mode to select tx
Marco Paniconi [Wed, 24 Apr 2019 17:31:15 +0000 (10:31 -0700)]
vp9-rtc: Pass source variance and mode to select tx

For nonrd-pickmode: pass the source variance and the
mode (intra/inter) to select tx_size, for better tuning.

Neutral change for video mode, speed 7.
Some quality improvement for screen content.

Change-Id: I53336f23fa4f14076aa1cdf8036e9af73c43060a

5 years agoMerge "vp9-rtc: tx_size selection for intra mode in nonrd"
Marco Paniconi [Wed, 24 Apr 2019 06:15:25 +0000 (06:15 +0000)]
Merge "vp9-rtc: tx_size selection for intra mode in nonrd"

5 years agoMerge changes I1af88144,I9eaf9563,I58c1bc0f,I8d173add
Angie Chiang [Tue, 23 Apr 2019 23:36:50 +0000 (23:36 +0000)]
Merge changes I1af88144,I9eaf9563,I58c1bc0f,I8d173add

* changes:
  Remove mv_dist and mv_cost from TplDepStats
  Remove inter_cost_arr and recon_error_arr
  Remove RE_COMPUTE_MV_INCONSISTENCY
  Remove unused mv_[dist/cost]_sum

5 years agoMerge "Revert "Add VPX_TUNE_SSIM and VPX_TUNE_PSNR enums""
Sai Deng [Tue, 23 Apr 2019 23:11:54 +0000 (23:11 +0000)]
Merge "Revert "Add VPX_TUNE_SSIM and VPX_TUNE_PSNR enums""

5 years agoRevert "Add VPX_TUNE_SSIM and VPX_TUNE_PSNR enums"
Sai Deng [Tue, 23 Apr 2019 22:59:34 +0000 (22:59 +0000)]
Revert "Add VPX_TUNE_SSIM and VPX_TUNE_PSNR enums"

This reverts commit 1d8d8f562bf382e47071bb38d13b7ded366820af.

Reason for revert: change the api names will break existing code.

Original change's description:
> Add VPX_TUNE_SSIM and VPX_TUNE_PSNR enums
>
> Change-Id: I3df5af2c60b774e6d395062077542c52db868236

TBR=jingning@google.com,builds@webmproject.org,sdeng@google.com

Change-Id: Ic94c19739f595f4544e8b68892ab9d9c1bbccd79
No-Presubmit: true
No-Tree-Checks: true
No-Try: true

5 years agovp9-rtc: tx_size selection for intra mode in nonrd
Marco Paniconi [Mon, 15 Apr 2019 22:59:49 +0000 (15:59 -0700)]
vp9-rtc: tx_size selection for intra mode in nonrd

In nonrd_pickmode for intra modes: add tx_size selection
based on Y prediction signal for the bsize.

The tx selection is done in model_rd, same as inter-modes.

Existing code for intra mode was first setting a tx_size based
only on the bsize, and then in some cases in block_yrd
(during the loop over bsize in units of tx_size) the tx_size
may be set again if model_rd is called in block_yrd.

This CL separates out the tx_size setting (based on Y channel
prediction via model_rd), and then block_yrd is called once
for whole bsize. This allows for better tuning of the tx
selection for intra modes in future change.

Adjust threshold in svc datarate test.

Negligible/neutral change in psnr/ssim metrics
for speed 7 and 8, 1 layer and SVC mode.

Change-Id: I33bc8447afdc3785482e13aac5c3636e13c59644

5 years agoMerge "Add VPX_TUNE_SSIM and VPX_TUNE_PSNR enums"
Sai Deng [Tue, 23 Apr 2019 21:50:56 +0000 (21:50 +0000)]
Merge "Add VPX_TUNE_SSIM and VPX_TUNE_PSNR enums"

5 years agoMerge changes I6e837e6f,Ibec70e66
Johann Koenig [Tue, 23 Apr 2019 21:40:14 +0000 (21:40 +0000)]
Merge changes I6e837e6f,Ibec70e66

* changes:
  remove WIDE_REFERENCE definition
  remove ARCHITECTURE definition

5 years agoAdd VPX_TUNE_SSIM and VPX_TUNE_PSNR enums
sdeng [Fri, 12 Apr 2019 13:00:20 +0000 (06:00 -0700)]
Add VPX_TUNE_SSIM and VPX_TUNE_PSNR enums

Change-Id: I3df5af2c60b774e6d395062077542c52db868236

5 years agoremove WIDE_REFERENCE definition
Johann [Tue, 23 Apr 2019 17:02:49 +0000 (10:02 -0700)]
remove WIDE_REFERENCE definition

The last usage was removed in 2011:
https://chromium.googlesource.com/webm/libvpx/+/cbf923b12cec2fe7ceea0b94091d64953e56b1fe%5E%21/#F33

Change-Id: I6e837e6f1e55eeea6bbeb3159ce6ddf861bcbd72

5 years agoremove ARCHITECTURE definition
Johann [Tue, 23 Apr 2019 16:47:56 +0000 (09:47 -0700)]
remove ARCHITECTURE definition

In the distant past this was used to distinguish between
armv5/6/7 targets when building the assembly files. The
project has not supported armv5/6 for a long time.

BUG=webm:1623

Change-Id: Ibec70e6624b651df0fa6f882ab6f201dc73e92e2

5 years agoAdd vpx_clear_system_state() in SSIM based rdmult adjustments
sdeng [Mon, 22 Apr 2019 23:10:39 +0000 (16:10 -0700)]
Add vpx_clear_system_state() in SSIM based rdmult adjustments

Change-Id: I2a0cdec3bfce864e975aaa408cfdcb855db8680f

5 years ago[vp9] Fix handling of skip in row_mt=1
Harish Mahendrakar [Fri, 19 Apr 2019 23:37:37 +0000 (16:37 -0700)]
[vp9] Fix handling of skip in row_mt=1

For row_mt=1, when mi->skip is set to 1 after parse based on
eobtotal for that partition, dqcoeff and eob need to be restored
as recon_partition doesn't increment these pointers for skip cases

Change-Id: I79711b0c175937aa6da3bba3b3bc053f91a8ce35

5 years agoMerge "test_vector_test: Add row-mt and lpf-opt tests for vp9 decoder"
Harish Mahendrakar [Mon, 22 Apr 2019 15:54:53 +0000 (15:54 +0000)]
Merge "test_vector_test: Add row-mt and lpf-opt tests for vp9 decoder"

5 years agoMerge "Refine interval for key frame boost calculation"
Jingning Han [Mon, 22 Apr 2019 04:59:22 +0000 (04:59 +0000)]
Merge "Refine interval for key frame boost calculation"