2722 Commits

Author SHA1 Message Date
Geza Lore
6d9bec4366 Configure tiles in tests when using row-tile.
With row-tile enabled, the encoder test driver needs to configure the
decoder in order to decode all tiles correctly.

Change-Id: I8b00a766cf5e41255625846f92fd71915c614ec1
2016-05-03 14:42:17 -07:00
Debargha Mukherjee
7a2934550b Merge "Quantization Profiles Strictly on Entropy Context" into nextgen 2016-05-02 19:15:13 +00:00
Brandon Young
43195061b7 Quantization Profiles Strictly on Entropy Context
Allow for 3 quant profiles from entropy context

Refactored dq_offset bands to allow for re-optimization based on number
of quantization profiles

Change-Id: Ib8d7e8854ad4e0bf8745038df28833d91efcfbea
2016-05-01 12:25:57 -07:00
Sarah Parker
b8bf8085be Merge "Search parameter space around gm parameters" into nextgen 2016-04-26 22:08:20 +00:00
Sarah Parker
70266ab130 Increase precision for gm parameters
Change-Id: I151ca8ec9b0c8a920745f4b1665d369a258f6ccb
2016-04-21 11:48:13 -07:00
Sarah Parker
de085787ec Search parameter space around gm parameters
For each global motion parameter, search some step
size to the left and right to try and minimize warp
mse and correct for error.

Change-Id: I1f0b464b0924d56b15460e509f89736af9b7e78f
2016-04-13 17:56:25 -07:00
Debargha Mukherjee
72ee991598 Adds function to return superblock entropy context
For use with switchable quant profiles.

Change-Id: I2a4aa93204f086094457860d1646707d71f33f5e
2016-03-15 14:27:45 -07:00
Debargha Mukherjee
a399281daa Merge "Framework to incorporate switchable dequant levels" into nextgen 2016-03-14 16:34:04 +00:00
Debargha Mukherjee
b8a7d1fe02 Framework to incorporate switchable dequant levels
Changed experiment to allow switchable QUANT_PROFILES

Change-Id: I8e5e76239a4103273e9ef759d46400104ef55599
2016-03-11 23:07:26 -08:00
Sarah Parker
36cbc27587 Merge "Optical flow for computing global motion params" into nextgen 2016-01-25 22:06:32 +00:00
Sarah Parker
a7aab42915 Optical flow for computing global motion params
Addressing comments, fixing style issues

Change-Id: I91b72ab5cdf80d68476858f442616ab3af41e709
2016-01-22 11:29:33 -08:00
Debargha Mukherjee
b765dc8e39 Merge "Changes to CONFIG_NEW_QUANT experiment." into nextgen 2016-01-22 00:15:05 +00:00
Brandon Young
9c9beb1c40 Changes to CONFIG_NEW_QUANT experiment.
Added dq_off_index attribute to mbmi to allow for switching between
dequantization modes.
Reduced number of different dequantization modes from 5 to 3.
Changed dequant_val_nuq to be allow for 3 dequant levels instead of 1.
Fixed lint errors

Change-Id: I7aee3548011aa4eee18adb09d835051c3108d2ee
2016-01-19 15:59:50 -08:00
Debargha Mukherjee
c20adb59b2 Merge "Rework wedge experiment to improve speed." into nextgen 2016-01-14 16:13:38 +00:00
Brandon Young
839ab586f6 Merge "Simplify new_quant experiment" into nextgen 2016-01-14 00:51:56 +00:00
Debargha Mukherjee
f93bdebcf9 Rework wedge experiment to improve speed.
Implements wedge mask generation by pre-computing arrays.
Improves encode speed by 15-20%.

Also consolidates the mask generation code for inter-inter
and inter-intra.

Change-Id: If1d4ae2babb2c05bd50cc30affce22785fd59f95
2016-01-12 15:23:54 -08:00
Yunqing Wang
15a90668a5 Adaptively determine the number of bytes used for tile-data size transmission
In large-scale tile coding, when the number of tiles is large and the tile
size is small, using a fixed number of bytes in the tile header to store
tile-data size information as done in current VP9 codec would bring high
overhead for each tile. This patch implemented 2 ways to lower that overhead
and adaptively determine the number of bytes needed for tile-data size
transmission.

The test on a test clip having the tile size of 64x64 showed that the number
of bytes used for storing tile-data size was reduced from 4 to 1, which
substantially improved the compression ratio in large-scale tile coding.

Change-Id: Ia02fc43eda67fa252fbc2554321957790f53f6fd
2016-01-11 12:46:04 -08:00
Brandon Young
604b909e06 Simplify new_quant experiment
Changes number of non-uniform bins from 5 to 3.
Changed all references to 'KNOTES' to 'KNOTS'.

Change-Id: If39d7cef00dbe07307035e44cb29194d0783b475
2015-12-17 12:25:27 -08:00
Debargha Mukherjee
e6790e30c5 Replace DST1 with DST2 for ext-tx experiment
A small gain (0.1 - 0.2%) with this experiment on derflr/hevcmr.

The DST2 can be implemened very efficiently using sign flipping
of odd indexed inputs, followed by DCT, followed by reversal of
the output. This is how it is implemented in this patch.
SIMD optimization is pending.

Change-Id: Ic2fc211ce0e6b7c6702974d76d6573f55cc4da0e
2015-12-14 13:54:41 -08:00
Julia Robson
711600e5f1 SSSE3 optimisations of high bit depth masked variance functions
Includes tests which compare output of new SSSE3 functions with
their C equivalents, and fixes to the C code to ensure these tests
pass.

Change-Id: Iec3980cce95a8ee6bf9421fa4793130e92c162e3
2015-12-04 11:59:30 -08:00
Yunqing Wang
9227a372d3 Merge "Reduce the memset call in tile decoding" into nextgen 2015-12-02 00:24:06 +00:00
Julia Robson
ea167a5855 Adding SSSE3 accelerations of masked SAD functions
Includes tests of masked SAD function optimisations against C
versions

Change-Id: I42f198767a113b58ae9456841f4ec71075591720
2015-12-01 09:55:24 -08:00
Julia Robson
8e4d779137 SSSE3 optimisations of masked variance function (8bit ONLY)
Includes test which compares output of new SSSE3 functions with their
C equivalents

Change-Id: I4488cd7672cdb57efff93c0b3b8bff07f07ec544
2015-12-01 12:07:22 +00:00
Julia Robson
ef01ea152d Changes so other expts work with 128x128 coding unit size expt
Changes ensure wedge_partition, interintra and palette expts all
work alongside the ext_coding_unit_size experiment.

Change-Id: I18f17acb29071f6fc6784e815661c73cc21144d6
2015-11-26 17:43:00 +00:00
Yunqing Wang
7099feaeed Reduce the memset call in tile decoding
When the error resilient mode is on, the decoder resets mode info structure
to zero once per frame. This makes decoder about 10x slower if we decode
a single tile at a time. This patch resolves the issue by only memset mode
info of those decoded tiles. Currently, to decode a frame, tile decoding is
less than 2x slower than frame decoding.

Change-Id: Ia3fd88d91a4e74e7bbbc6547d87c24d085a1533e
2015-11-25 15:28:03 -08:00
Julia Robson
d52cc33891 Changes to allow 128x128 to work with copy_mode
Change-Id: I1fff46e7733e5e1d15c012d6a204536243c6e090
2015-11-24 10:15:10 -08:00
Peter de Rivaz
d79850e60c Bug fix for high bitdepth using flipped transforms.
Fixes mismatch and performance drop.

Change-Id: Ib99711eb3b78257a8105073e2b6d7031459357bb
2015-11-23 12:04:55 -08:00
Geza Lore
85ab9d56cc Flip the result of the inv transform for FLIPADST.
This is a port of 4f5108090a6047d5d4d9ce1df302da23b2ef4bc5

This commit also fixes a bug where FLIPADST transforms when combined
with a DST (that is FLIPADST_DST and DST_FLIPADST) did not actually did
a flipped transform but a straight ADST instead. This was due to the C
implementation that it fell back on not implementing flipping.  This is
now fixed as well and FLIPADST_DST and DST_FLIPADST does what it is
supposed to do.

There are 3 functions in the SR_MODE experiment that should be updated,
but given that the build of SR_MODE is broken at the upstream tip of
nextgen, I could not test these, so I have put in assertions and FIXME
notes at the problematic places.

Change-Id: I5b8175b85f944f2369b183a26256e08d97f4bdef
2015-11-17 14:31:28 -08:00
Debargha Mukherjee
0c29af2767 Merge last4_ref with multi-ref experiment
Change-Id: I9778670ff6d02fb021099b17f292edadf87603e6
2015-11-13 14:54:38 -08:00
Debargha Mukherjee
ec6d31781d Merge "Remove dst1 config option and merge with ext-tx" into nextgen 2015-11-13 21:01:21 +00:00
Debargha Mukherjee
3a45a1edfd Remove dst1 config option and merge with ext-tx
Change-Id: I0152ed352ae2a0a725a508b5c209ef2c1dc2302d
2015-11-13 11:24:38 -08:00
Julia Robson
3d9133b2a5 SSE2 optim of vp9_subtract_block for 128x128 units
Extending the SSE2 implementation of vp9_subtract_block to work
with the 128x128 coding unit experiment

Change-Id: Ib3cc16bf5801ef2c7eecc19d3cc07a8c50631580
2015-11-13 11:12:56 -08:00
Debargha Mukherjee
59de0c0bc7 Adding encoder support for 128x128 coding units
Changes to allow the encoder to make use of 128x128 coding units.

Change-Id: I340bd38f9d9750cb6346d83885efb00443852910
2015-11-13 09:21:22 -08:00
Julia Robson
d90a3265f0 Changes to use defined constants rather than hard-coded numbers
Also fixes a valgrind error when optimizations are disabled.
Done in preparation for the work on the extended coding unit size
experiment.

Change-Id: Ib074c5a02c94ebed7dd61ff0465d26fa89834545
2015-11-12 15:42:32 -08:00
Julia Robson
84a5403bab Added decoder support for 128x128 coding units
Change-Id: Icf3c6b64caaf8a86cd27231aa27baf5fd99c0fde
2015-11-02 16:03:30 +00:00
Julia Robson
2a1f8c74aa Changes to use defined constants rather than hard-coded numbers
These changes have been made in preparation for the work on the
extended coding unit size experiment.

Change-Id: I83f289812426bb9aba6c4a5fedd2b0e0a4fe17cb
2015-11-02 16:02:55 +00:00
Sarah Parker
42abac9374 Fixed final style issues
WIP.

Change-Id: Iafcbcfdc2139e77eb2c6849a52a9dc94ea498d66
2015-10-27 18:39:54 -07:00
Debargha Mukherjee
9ef4023569 Remove some unused variables
Change-Id: I3ab263b4c42cc3bfd598a1fc280fbaffba2d4461
2015-10-15 12:50:15 -07:00
Debargha Mukherjee
9fc51184b7 Merge "Speed up of wedge search" into nextgen 2015-10-06 00:33:50 +00:00
Debargha Mukherjee
597204298a Speed up of wedge search
Speeds up wedge search by pre-calculating single predictions
before computing the wedge combination.

About 20% speed up achieved.

Change-Id: I72f76568559d1899c8ac0afaa133d433ba388e6d
2015-10-04 23:43:25 -07:00
Debargha Mukherjee
ff6a66a0b2 Merge "tx64 prob tweaks." into nextgen 2015-10-03 17:59:54 +00:00
Debargha Mukherjee
b80a04bd63 tx64 prob tweaks.
A little improvement in results on hevchd

Change-Id: Ib71a57c4bec34bf688e1d53dbf73eb4525e7805b
2015-10-02 11:44:02 -07:00
Debargha Mukherjee
ff9aa146cb Reimplementatio of dst1 for speed
Encoder with --enable-ext-tx --enable-dst1 is now 4 times faster.

Change-Id: Ia750ad3516698ce94da4ceb566b1c51539537a95
2015-10-02 11:06:55 -07:00
Debargha Mukherjee
4f371ac4f2 Merge "64x64 idct fix." into nextgen 2015-09-25 23:36:42 +00:00
Zoe Liu
90dede3f5b Merge "Merged LAST2 and LAST3 to one experiment MULTI_REF" into nextgen 2015-09-25 16:47:28 +00:00
Debargha Mukherjee
5a25d567d7 64x64 idct fix.
Change-Id: If0e0cd7cbe71e9586657f5e8ffa87dcdebc686ba
2015-09-25 05:54:23 -07:00
Debargha Mukherjee
1e2cbf515e Merge "tx64x64 experiment fix for high-bitdepth" into nextgen 2015-09-25 03:22:54 +00:00
Zoe Liu
e8e58402f0 Merged LAST2 and LAST3 to one experiment MULTI_REF
Change-Id: I220be17af317520dccb62fa6b19da5c7ce10652d
2015-09-24 17:08:15 -07:00
Debargha Mukherjee
cdcebfba29 tx64x64 experiment fix for high-bitdepth
Change-Id: Ia8d769b43bad0f9ad0684ecf6925e580339c7397
2015-09-24 05:45:03 -07:00
Zoe Liu
829dbf7a79 Added another reference frame LAST4_FRAME
Under the experiment of CONFIG_LAST4_REF. On derflr testset, using
highbitdepth (HBD), in average PSNR,

(1) LAST2+LAST3+LAST4 obtained +0.361% against LAST2+LAST3;
(2) LAST2+LAST3+LAST4 obtained +1.567% against baesline.

Change-Id: Ic8b14272de6a569df2b54418fa72b505e1ed3aad
2015-09-23 17:10:44 -07:00