18311 Commits

Author SHA1 Message Date
James Zern
3c127f2e36 vp10/encoder/bitstream.[hc]: correct a prototype
quiets a -Wmissing-prototypes warning

BUG=b/29584271

Change-Id: I91aba2a75dccd6752bdf91837564c2aa45817c09
2016-07-11 16:52:09 -07:00
James Zern
9bf5a1ab46 vp10/common/idct.h: add some missing prototypes
quiets the warning of the same name

BUG=b/29584271

Change-Id: I220cd58e1060f77e3910472fed1b167add3a08f8
2016-07-11 16:52:08 -07:00
James Zern
e046f5efef highbd_quantize_intrin_sse2.c: add missing rtcd include
quiets -Wmissing-prototypes warnings

BUG=b/29584271

Change-Id: Iff5214df0d1781810afbfc20bfaf664f109e2f29
2016-07-11 16:52:08 -07:00
James Zern
bc4341fd94 vp10: add some missing includes
quiets some -Wmissing-prototypes warnings

BUG=b/29584271

Change-Id: I9174728459fcabb6d9ac0028ae58029e52c0da92
2016-07-11 16:52:07 -07:00
Yue Chen
68e19472c1 Cosmetics for vp10/common/vp10_rtcd_defs.pl
Change-Id: Iaf8c6f0b1e340f0406df2871a3dc2ded19b7009a
2016-07-11 23:41:30 +00:00
Debargha Mukherjee
5041ff4921 Merge "Add a few branch hints to vp10_optimize_b." into nextgenv2 2016-07-11 22:30:33 +00:00
Debargha Mukherjee
6770c7361e Merge "Optimize and cleanup supertx predictor." into nextgenv2 2016-07-11 22:30:16 +00:00
Debargha Mukherjee
6bbadfb303 Merge "Improve vpx_blend_* functions." into nextgenv2 2016-07-11 19:30:04 +00:00
Geza Lore
cd489264e1 Optimize and cleanup supertx predictor.
Use vpx_blend_a64_hmask and vpx_blend_a64_vmask to speed up
computing the supertx predictor.

Decoder speedup of up to 4% has been observed.

Change-Id: I255a5ba4cc24f78dc905d25b6e2f7fbafac13253
2016-07-11 18:14:21 +00:00
Geza Lore
bfa59b4a5f Improve vpx_blend_* functions.
- Made source buffers pointers to const.
- Renamed vpx_blend_mask6b to vpx_blend_a64_mask. This is more
  indicative that the function does alpha blending. The 6, or 6b
  suffix was misleading, as the max mask value (64) does not fit into
  6 bits.
- Added VPX_BLEND_* macros to use when needing to blend scalars.
- Use VPX_BLEND_A256 in combine_interintra to be more explicit about
  the operation being done.
- Added versions of vpx_blend_a64_* which take 1D horizontal/vertical
  masks directly and apply them to all rows/columns
  (vpx_blend_a64_hmask and vpx_blend_a64_vmask). The SSE4.1 optimzied
  horizontal version now falls back on the 2D version. This can be
  improved upon if it show up high enough in a profile.
- All vpx_blend_a64_* functions now support block sizes down to 1x1
  (ie: a single pixel). This is for usage convenience. The SSE4.1
  optimized versions fall back on the C implementation if
  w <= 2 or h <= 2. This can again be improved if it becomes hot code.

Change-Id: I13ab3835146ffafe3e1d74d8e9cf64a5abe4144d
2016-07-11 19:05:17 +01:00
Pascal Massimino
e5fb2d4e93 remove ROUNDZ_* macros in favor of just ROUND_* ones
Change-Id: I263088be8d71018deb9cc6a9d2c66307770b824d
2016-07-11 06:27:41 -07:00
Geza Lore
1178f71d99 Merge "Fix unused warning without ext-interp" into nextgenv2 2016-07-11 11:29:17 +00:00
Debargha Mukherjee
5d28183fcf Merge "Refactor and clean up on blend_mask6" into nextgenv2 2016-07-09 06:50:32 +00:00
Yue Chen
5b25323c25 Merge "Fix assertion failures in mips+msa setting" into nextgenv2 2016-07-09 01:07:27 +00:00
Yue Chen
4ab19eac62 Fix assertion failures in mips+msa setting
Directly call c functions, otherwise when EXT_TX is enabled, hybrid
transform other than combination of DCT/ADST has not been implemented, thus
will cause assertion failures in the switch loops in vp10_fhtnxn_msa() and
vp10_ihtnxn_nxn_add_msa().

BUG=webm:1239

Change-Id: I2379a07e5406f9489edcd2f3205682f679c9b091
2016-07-08 17:13:52 -07:00
Jingning Han
9c4b041a80 Merge "Properly reset rate and distortion value for zero pred residual case" into nextgenv2 2016-07-08 22:21:27 +00:00
Debargha Mukherjee
72ef6d7704 Refactor and clean up on blend_mask6
Change-Id: Ie9188471e7dc07ab9c95b22f258b1662e895c533
2016-07-08 15:02:57 -07:00
Jingning Han
985dd03ff7 Merge "Integrate ext-interp into dual filter framework" into nextgenv2 2016-07-08 18:25:14 +00:00
Geza Lore
0b9b3d8643 Add a few branch hints to vp10_optimize_b.
vp10_optimize_b now takes between 40% to 60% of the TOTAL runtime
of the encoder, depending on bit-rate. It also contains 2/3 to 3/4
of the mispredicted branch instructions in the whole program.

Adding a few branch hints makes vp10_optimize_b around 2-5% faster
(dependig on bit-rate) when compiled with gcc/clang.

Change-Id: I1572733e18b4166bc10591b958c5018a9561fa2b
2016-07-08 19:20:35 +01:00
Sarah Parker
6c56def33e Merge "Make new_quant bin widths to be uniform" into nextgenv2 2016-07-08 17:40:55 +00:00
Jingning Han
e3a2aeb05d Integrate ext-interp into dual filter framework
The combination of the two experiments improves the compression
performance gains:

lowres 2.5%
midres 2.1%

Change-Id: Id26c0a9474ce08893aa1d946365c7ff850fab57a
2016-07-08 16:38:59 +00:00
Jingning Han
1bf039ccd5 Properly reset rate and distortion value for zero pred residual case
When the prediction residuals are all zero, reset the coeff rate
cost and the distortion value to be zero. This change doesn't affect
lowres set significantly, but improves several clips in the midres
set, like sintel_480p and mobisode2_480p, by a few percents. The
average performance for midres set is improved by 0.2%.

Change-Id: Idd5ebf2652e556a1b1c569fe3c48dacef3f11c32
2016-07-08 09:09:18 -07:00
Geza Lore
bb5059ff9b Fix unused warning without ext-interp
Change-Id: Ibb63c492eb8278d115262b8fc3cbc761c406b107
2016-07-08 15:48:02 +01:00
Jingning Han
7c393d097f Merge "Fix ioc in trellis optimization with hbd" into nextgenv2 2016-07-08 01:11:17 +00:00
Sarah Parker
88faa2b348 Make new_quant bin widths to be uniform
Change-Id: Iceeca8ecbc43919b43189352a307479d666d1dad
2016-07-07 16:22:32 -07:00
Debargha Mukherjee
c6f9b7f4ee Merge "RD costing fix in loop-restoration expt" into nextgenv2 2016-07-07 22:47:58 +00:00
Debargha Mukherjee
51957b4162 Merge "Remove redundant code in new_quant" into nextgenv2 2016-07-07 21:55:38 +00:00
Debargha Mukherjee
fc3ce72674 Merge "Clean up build_wedge_inter_predictor_from_buf" into nextgenv2 2016-07-07 20:05:12 +00:00
Debargha Mukherjee
aab64cdddc RD costing fix in loop-restoration expt
Change-Id: I8dbc1002f5d6bf8f2409db8c6be4346f1df0590c
2016-07-07 12:54:54 -07:00
Jingning Han
07d35de056 Fix ioc in trellis optimization with hbd
Use int64_t type for distortion. This avoids integer overflow
issues in the trellis optimization function in high bit-depth
settings.

Change-Id: I550c3ca9f11a3191ef8638a152887018cd476141
2016-07-07 12:00:38 -07:00
Debargha Mukherjee
a85e84599b Remove redundant code in new_quant
Change-Id: Ie2534c7c0cc3fc59e7389b55cb066f2b347d846e
2016-07-07 11:55:20 -07:00
Geza Lore
e6f8c17ac5 Remove various testing utilities.
test/assertion_helpers.h
test/randomise.{cc,h}
test/snapshot.h

Modfiy blend_mask6_test.cc not to rely on these.

Change-Id: I88b8933fe0a729a606797e5cd421795a544c612d
2016-07-07 16:22:07 +01:00
Geza Lore
fc28be3b23 Clean up build_wedge_inter_predictor_from_buf
Change-Id: I715f8ffa3e81056a74ca8ac94793009afb781221
2016-07-07 13:12:57 +01:00
Debargha Mukherjee
fabc0ed7ad Merge "Reinstate tests for wedge partition selection optimizations." into nextgenv2 2016-07-07 05:55:07 +00:00
Debargha Mukherjee
9303d428a2 Merge "Add tests for vpx_sum_squares_i16." into nextgenv2 2016-07-07 05:54:45 +00:00
Yue Chen
c7a92f2cad Merge "Add SSE4.1 vpx_obmc_sad* implementations." into nextgenv2 2016-07-07 01:12:20 +00:00
James Zern
abf05c3e60 Merge changes I9433d858,Iafd05637,If08ce6ca into nextgenv2
* changes:
  tests: remove redundant round() definition
  remove visual studio < 2010 workarounds
  configure: remove old visual studio support (<2010)
2016-07-06 23:25:35 +00:00
Yue Chen
87aec58f11 Merge "Refactoring in preparation for OBMC optimizations." into nextgenv2 2016-07-06 22:44:27 +00:00
Geza Lore
aacdf98c9a Add SSE4.1 vpx_obmc_sad* implementations.
Speedup for these functions: 4x

Change-Id: I21baa04f53c6ab308ea3edf3ebacc62970e97454
2016-07-06 19:46:13 +00:00
hui su
4a18771330 mcomp.c: rename variables and remove unnecessary codes
Change-Id: I4ad4061875fa1c8f3801efbcdcb0da47e7c032a5
2016-07-06 10:25:46 -07:00
Geza Lore
471362f61f Add tests for vpx_sum_squares_i16.
Change-Id: I529c34d5bfa85719cb6499a9a3c9d907eccccd56
2016-07-06 15:14:59 +01:00
Geza Lore
2791d9db1e Reinstate tests for wedge partition selection optimizations.
This reinstates the tests from commit
efda2831e5f758b4f350679b5c55c0b9282449b0 with the appropriate
fixes for 32 bit x86 builds.

Change-Id: Ib331906c5b448ca964895ee9cbfd4266f67d1089
2016-07-06 15:09:46 +01:00
Geza Lore
007aa7dd65 Refactoring in preparation for OBMC optimizations.
- Use int32_t instead of int in vpx_obmc{variance,sad} functions
- Remove weigthed_src and obmc mask strides and assume contiguous
  buffers. These inputs can always be packed as contiguous arrays.

Change-Id: I74c09b3fb3337f13d39e13a9cb61e140536f345d
2016-07-04 16:57:17 +01:00
Wei-ting Lin
f9e38a7bb9 Remove reference frame buffer update for show_exsiting_frame
Originally we need to send the refresh flag and the virtual indices
mapping for the reference frame buffer update for show_existing_frame to
have the BWDREF_FRAME replace the LAST_FRAME.

To remove sending this information, we update the the virtual indices
of the reference frame buffer after the last_bipred_frame is encoded,
and therefore the decoder will receive the updated reference mapping
at the next non-show-existing frame.

As a result, we can save 4 bytes per show-existing frame, and get 0.12,
0.2, and 0.07 BDRATE improvement in lowres, derf, and midref test set
respectively.

Change-Id: I63d41ee6ea99884798f0778b789d2701e2f2d3e0
2016-07-01 09:26:54 -07:00
Geza Lore
b04ea832a4 Minor cleanup of inter mode search.
Change-Id: I523a3b30eb80fc6c6ed83638fdb82cf65c22b2e5
2016-07-01 09:00:05 +01:00
Debargha Mukherjee
e5e37e310b Merge "Reject ext-inter compound modes based on modelled RD." into nextgenv2 2016-06-30 18:18:53 +00:00
Jingning Han
3d8cde6618 Merge "Remove unused BITDEPTH_10 definition" into nextgenv2 2016-06-30 16:26:25 +00:00
Jingning Han
fce34bc8ac Merge "Fix shift value in dist_block with hbd" into nextgenv2 2016-06-30 16:26:18 +00:00
Debargha Mukherjee
2756b2f004 Merge "Various cosmetics on the new_quant experiment" into nextgenv2 2016-06-30 16:03:49 +00:00
Geza Lore
532304e468 Reject ext-inter compound modes based on modelled RD.
Reject ext-inter compound modes before doing full rate distortion
evaluation, if the corresponding single reference modes had a lower
modelled RD.

ext-inter speedup up to TBD.

Coding performance: TBD

Change-Id: I358bfb879c5ebe5e7afbf6f540cc784f8de14857
2016-06-30 09:56:17 +01:00