]> granicus.if.org Git - libvpx/log
libvpx
9 years agoAdjust optimize_b RD parameters nextgen
hui su [Fri, 6 May 2016 01:08:11 +0000 (18:08 -0700)]
Adjust optimize_b RD parameters

Coding gain
lowres 0.51%
midres 0.36%

Change-Id: I1e9f2f9341bad12d9023f97c73d0e991ae5ec7f0

9 years agoEnable optimize_b for intra blocks
hui su [Fri, 6 May 2016 00:36:04 +0000 (17:36 -0700)]
Enable optimize_b for intra blocks

Coding gain
lowres 0.13%
midres 0.36%

Change-Id: Ia65d2d7513685dfcffbe3939fea473fb6d7036b9

9 years agoConfigure tiles in tests when using row-tile.
Geza Lore [Tue, 3 May 2016 13:28:59 +0000 (14:28 +0100)]
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

9 years agoMerge "Quantization Profiles Strictly on Entropy Context" into nextgen
Debargha Mukherjee [Mon, 2 May 2016 19:15:13 +0000 (19:15 +0000)]
Merge "Quantization Profiles Strictly on Entropy Context" into nextgen

9 years agoQuantization Profiles Strictly on Entropy Context
Brandon Young [Wed, 23 Mar 2016 18:47:07 +0000 (11:47 -0700)]
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

9 years agoMerge "Search parameter space around gm parameters" into nextgen
Sarah Parker [Tue, 26 Apr 2016 22:08:20 +0000 (22:08 +0000)]
Merge "Search parameter space around gm parameters" into nextgen

9 years agoMerge "Make feature based motion estimation the default" into nextgen
Sarah Parker [Fri, 22 Apr 2016 01:21:09 +0000 (01:21 +0000)]
Merge "Make feature based motion estimation the default" into nextgen

9 years agoMake feature based motion estimation the default
Sarah Parker [Wed, 20 Apr 2016 23:15:31 +0000 (16:15 -0700)]
Make feature based motion estimation the default

Optical flow parameters still need to be tweaked and is much slower
so feature based should be the default for now.

Change-Id: Id6cafb5a245e329f728e9c66c89c0ed1018c347c

9 years agoIncrease precision for gm parameters
Sarah Parker [Wed, 20 Apr 2016 23:20:26 +0000 (16:20 -0700)]
Increase precision for gm parameters

Change-Id: I151ca8ec9b0c8a920745f4b1665d369a258f6ccb

9 years agoFix comipler warnings in opticalflow.c
Sarah Parker [Thu, 21 Apr 2016 00:27:13 +0000 (17:27 -0700)]
Fix comipler warnings in opticalflow.c

Change-Id: I4561c2676d8a7793ade47e1995e026ba9d521fdd

9 years agoFix for libwebm upgrade
Debargha Mukherjee [Mon, 18 Apr 2016 23:39:25 +0000 (16:39 -0700)]
Fix for libwebm upgrade

To allow runborgs to run on the nextgen branch

Change-Id: Icbd425c5e65dd4bcb061a3a1ed4dbe0393dc2c5d

9 years agoSearch parameter space around gm parameters
Sarah Parker [Wed, 30 Mar 2016 18:00:14 +0000 (11:00 -0700)]
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

9 years agoFix error with cumbins to allow multiple profiles
Brandon Young [Fri, 8 Apr 2016 20:15:32 +0000 (13:15 -0700)]
Fix error with cumbins to allow multiple profiles

Change-Id: I23aadc8f7551771197b55465a3264250b40838ff

9 years agoAdds function to return superblock entropy context
Debargha Mukherjee [Tue, 15 Mar 2016 21:27:45 +0000 (14:27 -0700)]
Adds function to return superblock entropy context

For use with switchable quant profiles.

Change-Id: I2a4aa93204f086094457860d1646707d71f33f5e

9 years agoMerge "Framework to incorporate switchable dequant levels" into nextgen
Debargha Mukherjee [Mon, 14 Mar 2016 16:34:03 +0000 (16:34 +0000)]
Merge "Framework to incorporate switchable dequant levels" into nextgen

9 years agoFramework to incorporate switchable dequant levels
Debargha Mukherjee [Fri, 22 Jan 2016 00:29:18 +0000 (16:29 -0800)]
Framework to incorporate switchable dequant levels

Changed experiment to allow switchable QUANT_PROFILES

Change-Id: I8e5e76239a4103273e9ef759d46400104ef55599

9 years agoMake vpxenc --test-decode work with --enable-row-tile
Geza Lore [Mon, 29 Feb 2016 14:14:16 +0000 (14:14 +0000)]
Make vpxenc --test-decode work with --enable-row-tile

Change-Id: I352c8ccdaa5faa4fd345f0cb0f7e614af669f0bc

9 years agoRemove key_frame_tile config option
Debargha Mukherjee [Tue, 23 Feb 2016 21:07:09 +0000 (13:07 -0800)]
Remove key_frame_tile config option

Change-Id: I8ae22e9f706727ee258dc24780644b99087c8d23

9 years agoMerge key_frame_tile experiment with row_tile
Debargha Mukherjee [Wed, 17 Feb 2016 19:27:21 +0000 (11:27 -0800)]
Merge key_frame_tile experiment with row_tile

Since they are used together no need to keep them separate.

Change-Id: Ia7b4bec06ca6924fffd806f772638224292fddb2

9 years agoMerge "Implement a tile copying method in large-scale tile coding" into nextgen
Yunqing Wang [Fri, 5 Feb 2016 23:10:08 +0000 (23:10 +0000)]
Merge "Implement a tile copying method in large-scale tile coding" into nextgen

9 years agoImplement a tile copying method in large-scale tile coding
Yunqing Wang [Mon, 25 Jan 2016 20:14:18 +0000 (12:14 -0800)]
Implement a tile copying method in large-scale tile coding

A tile copy mode is introduced, while allows a tile to use
another tile's coded data directly at bitstream level. This
largely reduces the bit rate in this use case. Our tests
showed that 10% - 20% bit rate reduction was achieved.

Change-Id: Icf5ae00320e27193b15ce95297720f8b6f5e7fd9

9 years agoMerge "Optical flow for computing global motion params" into nextgen
Sarah Parker [Mon, 25 Jan 2016 22:06:32 +0000 (22:06 +0000)]
Merge "Optical flow for computing global motion params" into nextgen

9 years agoMerge "Make set_reference control API work in VP9" into nextgen
Yunqing Wang [Mon, 25 Jan 2016 19:27:42 +0000 (19:27 +0000)]
Merge "Make set_reference control API work in VP9" into nextgen

9 years agoMake set_reference control API work in VP9
Yunqing Wang [Fri, 22 Jan 2016 01:04:59 +0000 (17:04 -0800)]
Make set_reference control API work in VP9

1. Made VP8_SET_REFERENCE vpx_codec_control API work in VP9 based
on Ryan Overbeck's patch. (Thanks.)
2. Added vp9cx_set_ref example, which demonstrated how to set
VP8_SET_REFERENCE vpx_codec_control in encoder and decoder. If
we only set_reference in the encoder, the encoder/decoder
mismatch would be observed.
3. Also updated test/cx_set_ref.sh.

Change-Id: I433a6220616947ca8c73e65a5fb3694751ea84b6

9 years agoOptical flow for computing global motion params
Sarah Parker [Wed, 2 Dec 2015 20:24:25 +0000 (12:24 -0800)]
Optical flow for computing global motion params

Addressing comments, fixing style issues

Change-Id: I91b72ab5cdf80d68476858f442616ab3af41e709

9 years agoMerge "Changes to CONFIG_NEW_QUANT experiment." into nextgen
Debargha Mukherjee [Fri, 22 Jan 2016 00:15:05 +0000 (00:15 +0000)]
Merge "Changes to CONFIG_NEW_QUANT experiment." into nextgen

9 years agoChanges to CONFIG_NEW_QUANT experiment.
Brandon Young [Thu, 14 Jan 2016 00:32:34 +0000 (16:32 -0800)]
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

9 years agoMerge "Rework wedge experiment to improve speed." into nextgen
Debargha Mukherjee [Thu, 14 Jan 2016 16:13:38 +0000 (16:13 +0000)]
Merge "Rework wedge experiment to improve speed." into nextgen

9 years agoMerge "Simplify new_quant experiment" into nextgen
Brandon Young [Thu, 14 Jan 2016 00:51:56 +0000 (00:51 +0000)]
Merge "Simplify new_quant experiment" into nextgen

9 years agoRework wedge experiment to improve speed.
Debargha Mukherjee [Tue, 22 Dec 2015 20:58:14 +0000 (12:58 -0800)]
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

9 years agoAdaptively determine the number of bytes used for tile-data size transmission
Yunqing Wang [Mon, 11 Jan 2016 19:27:35 +0000 (11:27 -0800)]
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

9 years agoSimplify new_quant experiment
Brandon Young [Thu, 17 Dec 2015 20:17:50 +0000 (12:17 -0800)]
Simplify new_quant experiment

Changes number of non-uniform bins from 5 to 3.
Changed all references to 'KNOTES' to 'KNOTS'.

Change-Id: If39d7cef00dbe07307035e44cb29194d0783b475

9 years agoReplace DST1 with DST2 for ext-tx experiment
Debargha Mukherjee [Thu, 10 Dec 2015 03:12:09 +0000 (19:12 -0800)]
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

9 years agoMerge "SSSE3 optimisations of high bit depth masked variance functions" into nextgen
Debargha Mukherjee [Tue, 8 Dec 2015 21:54:03 +0000 (21:54 +0000)]
Merge "SSSE3 optimisations of high bit depth masked variance functions" into nextgen

9 years agoFix to avoid overflow in highbd_masked_variance64.
Peter de Rivaz [Tue, 8 Dec 2015 09:36:22 +0000 (09:36 +0000)]
Fix to avoid overflow in highbd_masked_variance64.

Change-Id: I98731c5f50c4821c604f53480f43110a75205d25

9 years agoSSSE3 optimisations of high bit depth masked variance functions
Julia Robson [Thu, 3 Dec 2015 17:13:25 +0000 (17:13 +0000)]
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

9 years agoCode refactoring to remove duplication in masked sub pixel var fns
Julia Robson [Thu, 3 Dec 2015 17:57:35 +0000 (17:57 +0000)]
Code refactoring to remove duplication in masked sub pixel var fns

Change-Id: Idcc93ff94ed2c68367225b6bebfcae0b7952f074

9 years agoMerge "Reduce the memset call in tile decoding" into nextgen
Yunqing Wang [Wed, 2 Dec 2015 00:24:06 +0000 (00:24 +0000)]
Merge "Reduce the memset call in tile decoding" into nextgen

9 years agoAdding SSSE3 accelerations of masked SAD functions
Julia Robson [Mon, 23 Nov 2015 12:50:32 +0000 (12:50 +0000)]
Adding SSSE3 accelerations of masked SAD functions

Includes tests of masked SAD function optimisations against C
versions

Change-Id: I42f198767a113b58ae9456841f4ec71075591720

9 years agoSSSE3 optimisations of masked variance function (8bit ONLY)
Julia Robson [Thu, 19 Nov 2015 18:15:55 +0000 (18:15 +0000)]
SSSE3 optimisations of masked variance function (8bit ONLY)

Includes test which compares output of new SSSE3 functions with their
C equivalents

Change-Id: I4488cd7672cdb57efff93c0b3b8bff07f07ec544

9 years agoChanges so other expts work with 128x128 coding unit size expt
Julia Robson [Thu, 26 Nov 2015 17:32:17 +0000 (17:32 +0000)]
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

9 years agoReduce the memset call in tile decoding
Yunqing Wang [Wed, 25 Nov 2015 23:28:03 +0000 (15:28 -0800)]
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

9 years agoChanges to allow 128x128 to work with copy_mode
Julia Robson [Tue, 24 Nov 2015 11:22:59 +0000 (11:22 +0000)]
Changes to allow 128x128 to work with copy_mode

Change-Id: I1fff46e7733e5e1d15c012d6a204536243c6e090

9 years agoBug fix for high bitdepth using flipped transforms.
Peter de Rivaz [Mon, 23 Nov 2015 19:39:37 +0000 (19:39 +0000)]
Bug fix for high bitdepth using flipped transforms.

Fixes mismatch and performance drop.

Change-Id: Ib99711eb3b78257a8105073e2b6d7031459357bb

9 years agoFlip the result of the inv transform for FLIPADST.
Geza Lore [Fri, 13 Nov 2015 15:16:28 +0000 (15:16 +0000)]
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

9 years agoIncrease extension for ext-coding-unti-size expt
Debargha Mukherjee [Tue, 17 Nov 2015 00:57:50 +0000 (16:57 -0800)]
Increase extension for ext-coding-unti-size expt

Change-Id: Ifc7fe5df6831cb7190b9b6e84125de13b9e0146f

9 years agoRemove last4-ref config option
Debargha Mukherjee [Sat, 14 Nov 2015 00:22:28 +0000 (16:22 -0800)]
Remove last4-ref config option

Change-Id: I12ab2f8b039e328210ae8eadc663f751e19c0c09

9 years agoMerge last4_ref with multi-ref experiment
Debargha Mukherjee [Fri, 13 Nov 2015 21:28:39 +0000 (13:28 -0800)]
Merge last4_ref with multi-ref experiment

Change-Id: I9778670ff6d02fb021099b17f292edadf87603e6

9 years agoMerge "Remove dst1 config option and merge with ext-tx" into nextgen
Debargha Mukherjee [Fri, 13 Nov 2015 21:01:21 +0000 (21:01 +0000)]
Merge "Remove dst1 config option and merge with ext-tx" into nextgen

9 years agoRemove dst1 config option and merge with ext-tx
Debargha Mukherjee [Fri, 13 Nov 2015 18:46:02 +0000 (10:46 -0800)]
Remove dst1 config option and merge with ext-tx

Change-Id: I0152ed352ae2a0a725a508b5c209ef2c1dc2302d

9 years agoSSE2 optim of vp9_subtract_block for 128x128 units
Julia Robson [Thu, 12 Nov 2015 12:15:09 +0000 (12:15 +0000)]
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

9 years agoMerge "Adding encoder support for 128x128 coding units" into nextgen
Debargha Mukherjee [Fri, 13 Nov 2015 18:52:09 +0000 (18:52 +0000)]
Merge "Adding encoder support for 128x128 coding units" into nextgen

9 years agoMerge "Eliminate copying for FLIPADST in fwd transforms." into nextgen
Debargha Mukherjee [Fri, 13 Nov 2015 18:23:49 +0000 (18:23 +0000)]
Merge "Eliminate copying for FLIPADST in fwd transforms." into nextgen

9 years agoEliminate copying for FLIPADST in fwd transforms.
Geza Lore [Fri, 13 Nov 2015 13:29:53 +0000 (13:29 +0000)]
Eliminate copying for FLIPADST in fwd transforms.

This is a port of 01bb4a318dc0f9069264b7fd5641bc3014f47f32

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.

Change-Id: I89c67ca1d5e06808a1567c51e7d6bec4998182bd

9 years agoAdding encoder support for 128x128 coding units
Debargha Mukherjee [Fri, 13 Nov 2015 01:14:32 +0000 (17:14 -0800)]
Adding encoder support for 128x128 coding units

Changes to allow the encoder to make use of 128x128 coding units.

Change-Id: I340bd38f9d9750cb6346d83885efb00443852910

9 years agoSome fixes on context size for the 128x128 expt
Debargha Mukherjee [Fri, 13 Nov 2015 15:06:19 +0000 (07:06 -0800)]
Some fixes on context size for the 128x128 expt

Change-Id: I56f050502e3a750ce74b196d033b780218df2c1f

9 years agoMerge "Cherry pick the rest of 661802, the important part" into nextgen
Johann Koenig [Fri, 13 Nov 2015 00:47:05 +0000 (00:47 +0000)]
Merge "Cherry pick the rest of 661802, the important part" into nextgen

9 years agoChanges to use defined constants rather than hard-coded numbers
Julia Robson [Thu, 5 Nov 2015 17:49:50 +0000 (17:49 +0000)]
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

9 years agoCherry pick the rest of 661802, the important part
Johann [Thu, 12 Nov 2015 23:41:24 +0000 (15:41 -0800)]
Cherry pick the rest of 661802, the important part

Change-Id: I85f1d2c07b89c874ea6c30df32dda9ecaa8d2c3f

9 years agoMerge "Fixing issue with calculation of block_idx" into nextgen
Debargha Mukherjee [Thu, 12 Nov 2015 23:39:35 +0000 (23:39 +0000)]
Merge "Fixing issue with calculation of block_idx" into nextgen

9 years agoCherry pick 661802 to fix 64bit arm build
Johann [Mon, 1 Dec 2014 19:06:49 +0000 (11:06 -0800)]
Cherry pick 661802 to fix 64bit arm build

Remove default cortex-a8 tuning.

Probably not even the dominant platform the library is being built for.
Add --cpu= option description to help. The option already exists.

Don't allow passing just --cpu as a no-op.

BUG=826

Change-Id: Iaa3f4f693ec78b18927b159b480daafeba0549c0

9 years agoFixing issue with calculation of block_idx
Julia Robson [Mon, 9 Nov 2015 11:50:36 +0000 (11:50 +0000)]
Fixing issue with calculation of block_idx

For tall rectangular blocks, the block_idx of the lower transform
block was being mis-calculated.

Does not affect results the way this function is being used now.

Change-Id: I470464d19be0bf0f42003d0cc29793bc42db8f52

9 years agoAdded decoder support for 128x128 coding units
Julia Robson [Mon, 2 Nov 2015 14:28:38 +0000 (14:28 +0000)]
Added decoder support for 128x128 coding units

Change-Id: Icf3c6b64caaf8a86cd27231aa27baf5fd99c0fde

9 years agoChanges to use defined constants rather than hard-coded numbers
Julia Robson [Mon, 2 Nov 2015 12:24:57 +0000 (12:24 +0000)]
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

9 years agoFixed final style issues
Sarah Parker [Wed, 14 Oct 2015 22:49:22 +0000 (15:49 -0700)]
Fixed final style issues

WIP.

Change-Id: Iafcbcfdc2139e77eb2c6849a52a9dc94ea498d66

9 years agoRemove some unused variables
Debargha Mukherjee [Thu, 15 Oct 2015 19:50:15 +0000 (12:50 -0700)]
Remove some unused variables

Change-Id: I3ab263b4c42cc3bfd598a1fc280fbaffba2d4461

9 years agoAdded extended coding unit size experiment
Julia Robson [Wed, 7 Oct 2015 15:54:10 +0000 (16:54 +0100)]
Added extended coding unit size experiment

Change-Id: I45e2efe22c8e2f23e3305d00906bc08229a85c17

9 years agoMerge "Speed up of wedge search" into nextgen
Debargha Mukherjee [Tue, 6 Oct 2015 00:33:50 +0000 (00:33 +0000)]
Merge "Speed up of wedge search" into nextgen

9 years agoSpeed up of wedge search
Debargha Mukherjee [Sat, 3 Oct 2015 17:57:44 +0000 (10:57 -0700)]
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

9 years agoMerge "tx64 prob tweaks." into nextgen
Debargha Mukherjee [Sat, 3 Oct 2015 17:59:54 +0000 (17:59 +0000)]
Merge "tx64 prob tweaks." into nextgen

9 years agotx64 prob tweaks.
Debargha Mukherjee [Mon, 28 Sep 2015 16:41:19 +0000 (09:41 -0700)]
tx64 prob tweaks.

A little improvement in results on hevchd

Change-Id: Ib71a57c4bec34bf688e1d53dbf73eb4525e7805b

9 years agoReimplementatio of dst1 for speed
Debargha Mukherjee [Fri, 2 Oct 2015 18:06:55 +0000 (11:06 -0700)]
Reimplementatio of dst1 for speed

Encoder with --enable-ext-tx --enable-dst1 is now 4 times faster.

Change-Id: Ia750ad3516698ce94da4ceb566b1c51539537a95

9 years agoMerge "64x64 idct fix." into nextgen
Debargha Mukherjee [Fri, 25 Sep 2015 23:36:42 +0000 (23:36 +0000)]
Merge "64x64 idct fix." into nextgen

9 years agoMerge "Merged LAST2 and LAST3 to one experiment MULTI_REF" into nextgen
Zoe Liu [Fri, 25 Sep 2015 16:47:28 +0000 (16:47 +0000)]
Merge "Merged LAST2 and LAST3 to one experiment MULTI_REF" into nextgen

9 years ago64x64 idct fix.
Debargha Mukherjee [Fri, 25 Sep 2015 12:54:23 +0000 (05:54 -0700)]
64x64 idct fix.

Change-Id: If0e0cd7cbe71e9586657f5e8ffa87dcdebc686ba

9 years agoMerge "tx64x64 experiment fix for high-bitdepth" into nextgen
Debargha Mukherjee [Fri, 25 Sep 2015 03:22:54 +0000 (03:22 +0000)]
Merge "tx64x64 experiment fix for high-bitdepth" into nextgen

9 years agoMerged LAST2 and LAST3 to one experiment MULTI_REF
Zoe Liu [Fri, 25 Sep 2015 00:08:15 +0000 (17:08 -0700)]
Merged LAST2 and LAST3 to one experiment MULTI_REF

Change-Id: I220be17af317520dccb62fa6b19da5c7ce10652d

9 years agoMerge "Added another reference frame LAST4_FRAME" into nextgen
Zoe Liu [Thu, 24 Sep 2015 15:58:22 +0000 (15:58 +0000)]
Merge "Added another reference frame LAST4_FRAME" into nextgen

9 years agotx64x64 experiment fix for high-bitdepth
Debargha Mukherjee [Thu, 24 Sep 2015 12:45:03 +0000 (05:45 -0700)]
tx64x64 experiment fix for high-bitdepth

Change-Id: Ia8d769b43bad0f9ad0684ecf6925e580339c7397

9 years agoAdded another reference frame LAST4_FRAME
Zoe Liu [Sat, 19 Sep 2015 01:00:11 +0000 (18:00 -0700)]
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

9 years agoAdjust rd calculation in choose_tx_size_from_rd
hui su [Wed, 23 Sep 2015 18:03:27 +0000 (11:03 -0700)]
Adjust rd calculation in choose_tx_size_from_rd

Change-Id: I3649f28196a87663b116b9fe6446b1fbe6eeab4a

9 years agoImproved LAST3's single ref prob context design a little
Zoe Liu [Mon, 21 Sep 2015 19:17:33 +0000 (12:17 -0700)]
Improved LAST3's single ref prob context design a little

On derflr testset, using 12-bit HightBitDepth mode, this CL obtained a
small gain of +0.031% by turning on LAST2+LAST3.

Change-Id: Ib6c9d595e56269634bf29d684eabcd806fc08cc9

9 years agoFixed a couple of bugs for LAST3
Zoe Liu [Mon, 21 Sep 2015 18:50:35 +0000 (11:50 -0700)]
Fixed a couple of bugs for LAST3

Change-Id: I63126a844c255df4a447aac7f630ba54cc7d7d7a

9 years agoAdded a 3rd reference frame LAST3_FRAME
Zoe Liu [Wed, 16 Sep 2015 01:58:36 +0000 (18:58 -0700)]
Added a 3rd reference frame LAST3_FRAME

Under experiment CONFIG_LAST3_REF, which can only be turned on when
the experiment of CONFIG_MULTI_REF is on, i.e. LAST3_FRAME can only
be used when LAST2_FRAME is used. CONFIG_LAST3_REF would most likely
be combined with CONFIG_MULTI_REF once the performance improvement
is further confirmed.

On the testset of derflr, using Average PSNR metrics, with HighBitDepth
(HBD) on:

(1) LAST2 HBD obtained +0.579% against base HBD;
(2) LAST2 + LAST3 HBD obtained +0.591% against LAST2 HBD;
(3) LAST2 + LAST3 HBD obtained +1.173% against base HBD.

Change-Id: I1aa2b2e2d2c9834e5f8e61bf2d8818c7b1516669

9 years agoext-tx extension to intra blocks
Debargha Mukherjee [Wed, 16 Sep 2015 21:39:55 +0000 (14:39 -0700)]
ext-tx extension to intra blocks

derflr: improves to 1.692%

Change-Id: Idf583216b40ed02526b9b39031eaf2fb72fed11d

9 years agoMerge "Redo DST1 in the ext-tx experiment" into nextgen
Debargha Mukherjee [Wed, 16 Sep 2015 18:38:03 +0000 (18:38 +0000)]
Merge "Redo DST1 in the ext-tx experiment" into nextgen

9 years agoRedo DST1 in the ext-tx experiment
Debargha Mukherjee [Fri, 11 Sep 2015 07:54:02 +0000 (00:54 -0700)]
Redo DST1 in the ext-tx experiment

Moved from nextgenv2 branch to test with other experiments.

derflr: +1.629%

Change-Id: Ie7c720053ed8b628177679c4351bb31b54716a71

9 years agoFixed a bug on the number of MAX_MODES in baseline
Zoe Liu [Tue, 15 Sep 2015 21:12:12 +0000 (14:12 -0700)]
Fixed a bug on the number of MAX_MODES in baseline

All the numbers of MAX_MODES have been changed assuming
CONFIG_MULTI_REF. Now correct numbers have been put in for both with and
without the enabling of the experiment MULTI_REF.

Change-Id: I70ffe2f1a89fa572d612dd3d311d3af19fe3a632

9 years agoAdded more LAST2 modes for INTERINTRA
Zoe Liu [Fri, 11 Sep 2015 23:55:24 +0000 (16:55 -0700)]
Added more LAST2 modes for INTERINTRA

Turning on all the other experiments, compared the RD performance
between with and without the use of LAST2_FRAME, on derflr testset,
on Average PSNR:

8-bit: +0.653% (All positive except one,
max: mobile_cif: 2.019%; min: paris_cif: -0.081%)
12-bit HBD: +0.735% (All positive,
max: bridge_far_cif: 2.416%; min: bowing_cif: 0.132%)

Change-Id: Ia0a375667e228c8ba3d2e223abff608206f2f545

9 years agoAdded MACRO for reference frame encoding
Zoe Liu [Fri, 11 Sep 2015 21:57:31 +0000 (14:57 -0700)]
Added MACRO for reference frame encoding

This CL introduces a few macros plus code cleaning on the encoding of
the reference frames. Coding performance remains unchanged.

For the encoding of either the compound reference or the single reference
case, since each bit has different contexts, the tree structure may not
be applied to treat the combined bits as one symbol. It is possible we may
explore the sharing of the same context for all the bits to introduce
the use of tree structure for the next step.

Change-Id: I6916ae53c66be1a0b23e6273811c0139515484df

9 years agoAdded one more reference frame LAST2_FRAME
Zoe Liu [Fri, 21 Aug 2015 02:08:46 +0000 (19:08 -0700)]
Added one more reference frame LAST2_FRAME

Under the experiment CONFIG_MULTI_REF. Current version shows
LAST2 vs base in nextgen on the testset of derflr:

(1) 8-bit: Average PSNR +0.53%
(worst: students_cif: -0.247%; best: mobile_cif: 1.902%)
(2) 12-bit HBD: Average PSNR +0.63%
(worst: pamphlet_cif: -0.213%, best: mobile_cif: 2.101%)

More tuning on the reference frame context design and default
probs are being conducted. This version does not guarantee to
work with other experiments in nextgen. A separate CL will address
the working with all other experiments.

Change-Id: I7f40d2522517afc26ca389c995bad56989587f65

9 years agoSuper resolution mode (+CONFIG_SR_MODE)
Shunyao Li [Wed, 12 Aug 2015 01:29:41 +0000 (18:29 -0700)]
Super resolution mode (+CONFIG_SR_MODE)

CONFIG_SR_MODE=1, enable SR mode
USE_POST_F=1, enable SR post filter
SR_USE_MULTI_F=1, enable SR post filter family
Not compatible with other experiments yet

Change-Id: I116f1d898cc2ff7dd114d7379664304907afe0ec

9 years agoAdd transform size rate for intra skip mode in rdopt
Shunyao Li [Fri, 28 Aug 2015 22:08:06 +0000 (15:08 -0700)]
Add transform size rate for intra skip mode in rdopt

Change-Id: I81fedd99cd39c12b66b93b786cb43234c867b84b

9 years agoMake tests work with new configurations
Debargha Mukherjee [Thu, 27 Aug 2015 19:28:59 +0000 (12:28 -0700)]
Make tests work with new configurations

Disables some test vector tests when Vp8/Vp9 decoders are disabled
in configuration. Also moves some macros to the vpx level in
line with recent refactoring on the master branch.

Change-Id: Iaac8008992110398ae096c36b9726f723164c207

9 years agoSome tweaks to probabilities for ext-tx with dst1
Debargha Mukherjee [Wed, 12 Aug 2015 21:31:31 +0000 (14:31 -0700)]
Some tweaks to probabilities for ext-tx with dst1

derflr: up to 1.429% from a little less than 1.3% when
--enable-dst1 is also enabled with --enable-ext-tx.

Change-Id: I301229f2239b18acb96accc4fc44b64fa6927ace

9 years agocode cleanup in encode_block_intra
hui su [Thu, 30 Jul 2015 18:31:59 +0000 (11:31 -0700)]
code cleanup in encode_block_intra

Change-Id: I376b7e9b243178d79141a96e0aeafcbc15758e97

9 years agoResolve bug of DST1 in ext_tx experiment.
Cheng Chen [Tue, 28 Jul 2015 17:49:55 +0000 (10:49 -0700)]
Resolve bug of DST1 in ext_tx experiment.

Change-Id: I828569e3596f9b9e8487aec7c4056e66cf1fc1f2

9 years agoAdds support for DST1 transforms for inter blocks
Debargha Mukherjee [Thu, 23 Jul 2015 20:14:39 +0000 (13:14 -0700)]
Adds support for DST1 transforms for inter blocks

Adds an additional transform in the ext_tx experiment that
is a 2d DST1-DST1 combination.

To enable use --enable-ext-tx --enable-dst1.

This needs to be later extended to combine DST1 with DCT
or ADST.

Change-Id: I6d29f1b778ef8294bcfb6a512a78fc5eda20723b

9 years agoSpeed up of supertx
Shunyao Li [Fri, 17 Jul 2015 17:44:06 +0000 (10:44 -0700)]
Speed up of supertx

Limited the prediction extension to 8 pixels at each edge
Fixed a bug in the combination of wedge prediction and supertx

~10% speed up in decoder
derflr:     -0.004
derflr+hbd: +0.002
hevcmr:     +0.015

Change-Id: I777518896894a612c9704d3de0e7902bf498b0ea

9 years agoAdd extended transforms for 32x32 and 64x64
Debargha Mukherjee [Fri, 17 Jul 2015 05:13:40 +0000 (22:13 -0700)]
Add extended transforms for 32x32 and 64x64

Framework for alternate transforms for inter 32x32 and larger based
on dwt-dct hybrid is implemented.
Further experiments are to be condcuted with different
variations of hybrid dct/dwt or plain dwt, as well as super-resolution
mode.

Change-Id: I9a2bf49ba317e7668002cf1499211d7da6fa14ad