]> granicus.if.org Git - libvpx/log
libvpx
10 years agoAllow vpxdec to produce target tile reconstruction
Jingning Han [Fri, 29 May 2015 06:16:35 +0000 (23:16 -0700)]
Allow vpxdec to produce target tile reconstruction

This commit allows the vpxdec to produce the target tile
reconstruction as its output. When the provided tile index is -1,
the entire corresponding row/column tiles will be reconstructed.
If the tile index is over the upper limit, the decoder will decode
left-most/bottom tile.

Change-Id: I4c18bdb32099f736f99b8842f7f177a32b3fee09

10 years agoEnable selective key frame tile decoding
Jingning Han [Wed, 27 May 2015 17:48:26 +0000 (10:48 -0700)]
Enable selective key frame tile decoding

This commit allows the decoder to decode selective tiles according
to decoder configuration settings. To decode a single tile out of
the provided key frame bit-stream (test_kf.webm), set compiler
configuration:

--enable-experimental --enable-row-tile --enable-key-frame-tile

use the command:

vpxdec -o test_dec.y4m test_kf.webm --tile-row=1 --tile-column=2

where the tile's row and column indexes are 1 and 2, respectively.

To decode all row tiles inside a provided column index, use:
--tile-row=-1 --tile-column=2

To decode all column tiles inside a provided row index, use:
--tile-row=2 --tile-column=-1

Change-Id: Ib73c266414dcee7eaab5d741b90d0058970dae56

10 years agoMerge "Intrabc high bit depth functionality" into nextgen
Debargha Mukherjee [Thu, 28 May 2015 22:40:37 +0000 (22:40 +0000)]
Merge "Intrabc high bit depth functionality" into nextgen

10 years agoMerge "Turn on global rotation-zoom warping prediction" into nextgen
Debargha Mukherjee [Thu, 28 May 2015 22:07:29 +0000 (22:07 +0000)]
Merge "Turn on global rotation-zoom warping prediction" into nextgen

10 years agoIntrabc high bit depth functionality
Julia Robson [Thu, 21 May 2015 16:53:14 +0000 (17:53 +0100)]
Intrabc high bit depth functionality

Fixing compile errors when intrabc and vp9_highbitdepth are both enabled.
Error arose because intrabc uses vp9_setup_scale_factors_for_frame()
which takes an additional argument (use_highbitdepth) when
vp9_highbitdepth is enabled.

Change-Id: I6a15b09dcea0d35525f4c25efb6848804ae5cfab

10 years agoMerge "palette: don't repeat calc_dist for j = 0" into nextgen
Alex Converse [Thu, 28 May 2015 01:55:04 +0000 (01:55 +0000)]
Merge "palette: don't repeat calc_dist for j = 0" into nextgen

10 years agoMerge "Fix a memory overflow issue in large scale tile use case" into nextgen
Jingning Han [Thu, 28 May 2015 01:53:55 +0000 (01:53 +0000)]
Merge "Fix a memory overflow issue in large scale tile use case" into nextgen

10 years agoMerge "Configure selective tile decoding" into nextgen
Jingning Han [Thu, 28 May 2015 01:53:38 +0000 (01:53 +0000)]
Merge "Configure selective tile decoding" into nextgen

10 years agopalette: don't repeat calc_dist for j = 0
Alex Converse [Wed, 27 May 2015 18:27:26 +0000 (11:27 -0700)]
palette: don't repeat calc_dist for j = 0

Change-Id: I043c3b9696dbfa76436763ef871600cb54ade212

10 years agoTurn on global rotation-zoom warping prediction
Debargha Mukherjee [Mon, 18 May 2015 23:23:24 +0000 (16:23 -0700)]
Turn on global rotation-zoom warping prediction

With this patch, the ZEROMV mode is overloaded to represent
a single global dominant motion using one of three models:
1. True zero translation motion (as before)
2. A translation motion different from 0
3. A Rotation-zoom affine model where the predictor is warped
The actual model used is indicated at the frame level for
each reference frame.
A metric that computes the ratio of the error with a global
non-zero model to the error for zero motion, is used to
determine on the encoder side whether to use one of the two
non-zero models or not.

Change-Id: I1f3d235b8860e543191237024a89041ff3aad689

10 years agoFix a memory overflow issue in large scale tile use case
Jingning Han [Wed, 27 May 2015 18:15:32 +0000 (11:15 -0700)]
Fix a memory overflow issue in large scale tile use case

Increase the tok_count array size defined in VP9_COMP to avoid
out of boundary memory access.

Change-Id: Ib277c1102cb5f8355b1d69991532a94e24a2242e

10 years agoMerge "Fixed a bug in palette expt for 444 video format" into nextgen
hui su [Wed, 27 May 2015 18:14:15 +0000 (18:14 +0000)]
Merge "Fixed a bug in palette expt for 444 video format" into nextgen

10 years agoFixed a bug in palette expt for 444 video format
hui su [Wed, 27 May 2015 01:10:05 +0000 (18:10 -0700)]
Fixed a bug in palette expt for 444 video format

The bug was that palette color map was not correctly recorded.

Change-Id: I237494d1d6449c53c5d24eed8c25dcf2f8d21e66

10 years agoMerge "Make the tile coding syntax support large scale tile decoding" into nextgen
Jingning Han [Wed, 27 May 2015 16:40:48 +0000 (16:40 +0000)]
Merge "Make the tile coding syntax support large scale tile decoding" into nextgen

10 years agoConfigure selective tile decoding
Jingning Han [Wed, 27 May 2015 00:09:34 +0000 (17:09 -0700)]
Configure selective tile decoding

Add decoder control to extract single tile from key frame.

Change-Id: Id018bf267d748bfd96a6261055de4194f632190c

10 years agoMerge "intrabc: Fix probs of illegal modes." into nextgen
Alex Converse [Wed, 27 May 2015 01:03:01 +0000 (01:03 +0000)]
Merge "intrabc: Fix probs of illegal modes." into nextgen

10 years agoMake the tile coding syntax support large scale tile decoding
Jingning Han [Tue, 26 May 2015 19:29:49 +0000 (12:29 -0700)]
Make the tile coding syntax support large scale tile decoding

This commit makes the bit-stream syntax support fast selective tile
decoding in a large scale tile array. It reduces the computational
complexity of computing the target tile offset in the bit-stream
from quadratic to linear scale, while maintaining relatively small
stack space requirement (in the order of 1024 bytes instead of 1M
bytes). The overhead cost due to tile separation remains identical.

Change-Id: Id60c6915733d33a627f49e167c57d2534e70aa96

10 years agointrabc: Fix probs of illegal modes.
Alex Converse [Fri, 8 May 2015 18:48:57 +0000 (11:48 -0700)]
intrabc: Fix probs of illegal modes.

ibc: derflr -0.069 screen_content -0.085
ibc+tx+pal: derflr +0.017 screen_content -0.029

Change-Id: I79c0ca0a5c38c53afd209286dbcd78873e070098

10 years agoFix assertion conditions for tile coding
Jingning Han [Tue, 26 May 2015 15:58:34 +0000 (08:58 -0700)]
Fix assertion conditions for tile coding

Allow up to 1024 row/col tiles instead of 4 for row tile and 64 for
column tile.

Change-Id: I1702254e241401821f3aaab1645f6df6dbc48b8d

10 years agoMerge "Loop_postfilter high bit depth functionality" into nextgen
Debargha Mukherjee [Mon, 25 May 2015 08:04:03 +0000 (08:04 +0000)]
Merge "Loop_postfilter high bit depth functionality" into nextgen

10 years agoMerge "Refined the mv ref candidate selection" into nextgen
Zoe Liu [Sat, 23 May 2015 00:00:14 +0000 (00:00 +0000)]
Merge "Refined the mv ref candidate selection" into nextgen

10 years agoRefined the mv ref candidate selection
Zoe Liu [Thu, 7 May 2015 09:03:39 +0000 (02:03 -0700)]
Refined the mv ref candidate selection

Now this is an on-going work on the re-work on the motion vector
references for all Inter coding modes. Currently implementation on
sub8x8 and BLOCK_8X8 is done. More work will be added along the way.

Essetial ideas include:

(1) Added new nearestmv algorithm through adaptive median search, out of
the four nearest neighbors: TOP, LEFT, TOPLEFT, and TOPRIGHT;

(2) Added new sheme for sub8x8 to obtain the mv ref candidates,
specially, mv ref candidates are obtained depending on the sub8x8 mode
of the current block as well as the sub8x8 mode of the neighboring
block;

(3) Added top right corner mv ref candidate whenever it is available;
The adding of the top right mv ref has showed potential in helping such
video clips as bridge_far_cif.

Change-Id: I573c04cd346ed7010f4ad87a6eaa6bab6e2caf9c

10 years agoLoop_postfilter high bit depth functionality
Julia Robson [Thu, 21 May 2015 09:45:15 +0000 (10:45 +0100)]
Loop_postfilter high bit depth functionality

Adding a high bit depth version of the function loop_bilateral_filter()
and ensuring the appropriate version of this function is called when
vp9_highbitdepth is enabled.

Change-Id: I7a78029c733a9a79b3b2f39af0de0824239ad5a3

10 years agoCode cleanup in tx-skip expt
hui su [Fri, 22 May 2015 17:20:58 +0000 (10:20 -0700)]
Code cleanup in tx-skip expt

No effect on performance

Change-Id: I493da0d4d8fb3a7d95f07574b800cb6c85705229

10 years agoRemoving skip inferrence with all 0 TX
Pieter Kapsenberg [Thu, 21 May 2015 19:14:54 +0000 (12:14 -0700)]
Removing skip inferrence with all 0 TX

If a non-skipped block has all transform blocks with only 0 data, then
decoder infers skip flag. This affects the loopfilter. No real encoder
would do this though, so it is pointless. Also, it causes headaches in
HW implmentations as the loop filter cannot proceed until all TX blocks
in the block have been checked. There could be up to 768 of them in
64x64 4:4:4 with 4x4 transform.

Change-Id: I45a021d1f27ca7feefed2242605777e70ce7cabd

10 years agoMerge "Enable arbitrary tile size support" into nextgen
Jingning Han [Thu, 21 May 2015 22:56:59 +0000 (22:56 +0000)]
Merge "Enable arbitrary tile size support" into nextgen

10 years agoMerge "intrabc: Cleanup." into nextgen
Alex Converse [Thu, 21 May 2015 22:27:55 +0000 (22:27 +0000)]
Merge "intrabc: Cleanup." into nextgen

10 years agoMerge "intrabc: Fix costing for tx_skip." into nextgen
Alex Converse [Thu, 21 May 2015 22:27:46 +0000 (22:27 +0000)]
Merge "intrabc: Fix costing for tx_skip." into nextgen

10 years agoMerge "intrabc: Don't double account for skip" into nextgen
Alex Converse [Thu, 21 May 2015 22:27:39 +0000 (22:27 +0000)]
Merge "intrabc: Don't double account for skip" into nextgen

10 years agoMerge "Make internal codec support arbitrary tile size" into nextgen
Jingning Han [Thu, 21 May 2015 22:24:27 +0000 (22:24 +0000)]
Merge "Make internal codec support arbitrary tile size" into nextgen

10 years agoMerge "Refactor internal tile_info variables to support 1024 tiles" into nextgen
Jingning Han [Thu, 21 May 2015 22:24:05 +0000 (22:24 +0000)]
Merge "Refactor internal tile_info variables to support 1024 tiles" into nextgen

10 years agoMerge "Support up to 64 row tile coding" into nextgen
Jingning Han [Thu, 21 May 2015 22:23:42 +0000 (22:23 +0000)]
Merge "Support up to 64 row tile coding" into nextgen

10 years agoEnable arbitrary tile size support
Jingning Han [Thu, 21 May 2015 19:44:29 +0000 (12:44 -0700)]
Enable arbitrary tile size support

This commit allows the encoder to process tile coding per 64x64
block. The supported upper limit of tile resolution is the minimum
of frame size and 4096 in each dimension. To turn on, set
--experiment --row-tile
and compile.

It overwrite the old --tile-columns and --tile-rows configurations.
These two parameters now tell the encoder the width and height of
tile in the unit of 64x64 block. For example,
--tile-columns=1 --tile-rows=1
will make a tile contains a single 64x64 block.

Change-Id: Id515749a05cfeb9e9d008291b76bdfb720de0948

10 years agoMerge "Support up to 1024 row/column tiles in bit-stream syntax" into nextgen
Jingning Han [Thu, 21 May 2015 19:50:11 +0000 (19:50 +0000)]
Merge "Support up to 1024 row/column tiles in bit-stream syntax" into nextgen

10 years agoMerge "Set row and col tile number upper limit as 1024" into nextgen
Jingning Han [Thu, 21 May 2015 19:49:58 +0000 (19:49 +0000)]
Merge "Set row and col tile number upper limit as 1024" into nextgen

10 years agointrabc: Cleanup.
Alex Converse [Wed, 6 May 2015 22:38:01 +0000 (15:38 -0700)]
intrabc: Cleanup.

Change-Id: I71ad705e579a62563af8282846dbda522c3c971e

10 years agointrabc: Fix costing for tx_skip.
Alex Converse [Wed, 6 May 2015 22:36:28 +0000 (15:36 -0700)]
intrabc: Fix costing for tx_skip.

ibc+tx+pal: derflr: -0.033 screen_content: -0.145

Change-Id: I446ef1c890eb9afa12454e53b24dc0ef6a80b02b

10 years agointrabc: Don't double account for skip
Alex Converse [Wed, 6 May 2015 21:34:57 +0000 (14:34 -0700)]
intrabc: Don't double account for skip

ibc: derflr +0.007 screen_content -0.025
ibc+tx+pal: derflr -0.208 screen_content +0.003

Change-Id: I5e46e84fd545f3810ae7a5d13dc3618e1b077f76

10 years agoMake internal codec support arbitrary tile size
Jingning Han [Thu, 21 May 2015 16:19:20 +0000 (09:19 -0700)]
Make internal codec support arbitrary tile size

This commit allows the internal codec handle arbitrary tile size
in the unit of 64x64 pixel blocks.

Change-Id: I3ad24de392064645bebab887c94e1db957794916

10 years agoRename NEAR_FORNEW to NEW2
Debargha Mukherjee [Tue, 12 May 2015 21:36:27 +0000 (14:36 -0700)]
Rename NEAR_FORNEW to NEW2

Change-Id: I2928b0d28dcbf9c6b705d3ebf20550aeec9b99b3

10 years agoRefactor internal tile_info variables to support 1024 tiles
Jingning Han [Wed, 20 May 2015 17:15:25 +0000 (10:15 -0700)]
Refactor internal tile_info variables to support 1024 tiles

Move the 2D tile info arrays as global variables. This resolves
the local function stack overflow issue due to excessively large
tile info variables. This allows the internal operation to support
up to 1024 row and column tiles.

Change-Id: I6644cc929e5d3a778a5c03a712ebfc0b8729f576

10 years agoSupport up to 64 row tile coding
Jingning Han [Wed, 20 May 2015 00:17:28 +0000 (17:17 -0700)]
Support up to 64 row tile coding

This commit allows the codec to use up to row tiles (optionally
in combination with up to 64 column tiles per row tile). The
minimum tile size is set to be 256x256 pixel block.

Change-Id: I811ca93f0c5eba41e190f6c7c0f064d1083f530f

10 years agoSupport up to 1024 row/column tiles in bit-stream syntax
Jingning Han [Tue, 19 May 2015 22:41:57 +0000 (15:41 -0700)]
Support up to 1024 row/column tiles in bit-stream syntax

Add syntax support to allow up to 1024 row/column tiles
respectively.

Change-Id: I84278589364b658d6c4dd05f0771795f732ad68f

10 years agoSet row and col tile number upper limit as 1024
Jingning Han [Tue, 19 May 2015 22:26:40 +0000 (15:26 -0700)]
Set row and col tile number upper limit as 1024

Increase the supported row and col tile numbers from 4 and 64,
respectively to 1024 both.

Change-Id: Ic07435ff6783940a466a549a69a11ab3faf3247a

10 years agoRename variables in tile info decoding
Jingning Han [Tue, 19 May 2015 22:21:46 +0000 (15:21 -0700)]
Rename variables in tile info decoding

The max and min tile number reference should be used to support
both row and column tiles. This commit renames the previous col
prefix to avoid confusion.

Change-Id: I487bea43701af946b79023597a9a9a0516480380

10 years agoRemoved the unused modes newmvref and compound-modes
Zoe Liu [Tue, 19 May 2015 23:20:37 +0000 (16:20 -0700)]
Removed the unused modes newmvref and compound-modes

Change-Id: Ia51913d48a09a7ea7502e8c49ee0159492e58b96

10 years agoCombined two experiments of NEWMVREF and COMPOUND_MODES to NEW_INTER
Zoe Liu [Tue, 19 May 2015 17:16:44 +0000 (10:16 -0700)]
Combined two experiments of NEWMVREF and COMPOUND_MODES to NEW_INTER

Runborgs results on derflr show consistent results between NEW_INTER
and the previous combination of NEWMVREF and COMPOUND_MODES.

Change-Id: Ieba239c4faa7f93bc5c05ad656a7a3b818b4fbfc

10 years agoMerge "Fix mismatch in handling of 8x4/4x8 blocks with supertx" into nextgen
Julia Robson [Tue, 19 May 2015 16:06:24 +0000 (16:06 +0000)]
Merge "Fix mismatch in handling of 8x4/4x8 blocks with supertx" into nextgen

10 years agoRemoving unnecessary syntax remaping for mc filter type
Pieter Kapsenberg [Mon, 18 May 2015 19:14:12 +0000 (12:14 -0700)]
Removing unnecessary syntax remaping for mc filter type

Change-Id: Iba067eb2bcf519dc5776976c3ab0a694ff3feb12

10 years agoFix mismatch in handling of 8x4/4x8 blocks with supertx
Julia Robson [Mon, 18 May 2015 10:52:44 +0000 (11:52 +0100)]
Fix mismatch in handling of 8x4/4x8 blocks with supertx

Test VP9/EndToEndTestLarge.EndtoEndPSNRTest/1 (422 stream) failed when
supertx enabled. This was because 4x8 and 8x4 blocks were not being
split into 4x4s during tokenization in the encoder. This patch
uses vp9_foreach_transformed_block() to fix this.

Change-Id: I1f1cb27474eb9e04347067f5c4aff1942bbea8d9

10 years agoMerge "Fix a bug in tx-skip experiment" into nextgen
hui su [Mon, 18 May 2015 04:31:26 +0000 (04:31 +0000)]
Merge "Fix a bug in tx-skip experiment" into nextgen

10 years agoRow tile fix
Debargha Mukherjee [Fri, 15 May 2015 15:01:21 +0000 (08:01 -0700)]
Row tile fix

Fixes mismatch with intrabc experiment.

Change-Id: I1d83a8aa5584fb35396351f7fae7f9365598d00f

10 years agoMerge "Global motion enhancements" into nextgen
Debargha Mukherjee [Fri, 15 May 2015 05:48:26 +0000 (05:48 +0000)]
Merge "Global motion enhancements" into nextgen

10 years agoGlobal motion enhancements
Debargha Mukherjee [Thu, 7 May 2015 22:09:40 +0000 (15:09 -0700)]
Global motion enhancements

Adds warping functions. Also includes some refactoring.

Change-Id: I909830650f29046edf108ddaddceb1a5e7c6c61c

10 years agoAdded a new experiment "NEW_INTER"
Zoe Liu [Thu, 14 May 2015 21:39:45 +0000 (14:39 -0700)]
Added a new experiment "NEW_INTER"

Down the road this experiment will combine and replace both NEWMVREF
and COMPOUND_MODES.

Change-Id: I383291f94f3e80e5cbbabab45e31c4b48669f2e5

10 years agoFix a bug in tx-skip experiment
hui su [Tue, 12 May 2015 16:38:14 +0000 (09:38 -0700)]
Fix a bug in tx-skip experiment

Fix potential mismatch.

Change-Id: I51f9241c73d70c0c38fd7e2c15f4381350b60388

10 years agoChanged tokenize to correct tx_size for 440 input
Julia Robson [Tue, 12 May 2015 16:04:28 +0000 (17:04 +0100)]
Changed tokenize to correct tx_size for 440 input

Change-Id: I41995cfa03038ec45b5f0d6c68195cfa36d58ec8

10 years agoMerge "Removed unused macro for INTERINTRA" into nextgen
Zoe Liu [Tue, 12 May 2015 00:25:00 +0000 (00:25 +0000)]
Merge "Removed unused macro for INTERINTRA" into nextgen

10 years agoRemoved unused macro for INTERINTRA
Zoe Liu [Mon, 11 May 2015 20:01:25 +0000 (13:01 -0700)]
Removed unused macro for INTERINTRA

Change-Id: Ibdf4da969c17d4b1dff14a777ccb405763a62b75

10 years agoAdd row tile coding support in bit-stream
Jingning Han [Tue, 7 Apr 2015 19:23:26 +0000 (12:23 -0700)]
Add row tile coding support in bit-stream

Fix the row tile boundary detection issues. This allows to use
more resources for parallel encoding/decoding when avaiable.

Change-Id: Ifda9f66d1d7c2567dd4e0a572a99a83f179b55f9

10 years agoCleaned mv search code and added a few fixes on the experiments
Zoe Liu [Sat, 11 Apr 2015 00:08:31 +0000 (17:08 -0700)]
Cleaned mv search code and added a few fixes on the experiments

Besides code cleaning, this patch contains 3 fixes:
(1) Fixed the COMPOUND_MODES for the NEW_NEWMV mode;
(2) Fixed the joint search when the NEAR_FORNEWMV mode (in NEWMVREF)
is being evaluated;
(3) Fixed the WEDGE_PARTITION when the NEAR_FORNEWMV mode (in NEWMVREF)
is being evaluated.
(4) Adjusted the entropy probability value for NEAR_FORNEW mode.

On derflr turning on all 14 experiments (except for global-motion), the
average gain w.r.t. PSNR is +0.07%:
Maximum on bridge_far_cif: +1.02%
Minimum on hallmonitor_cif: -0.16%

Change-Id: I4c9c6ee24a981af7e655a629580641d9f9745f91

10 years agoMerge "Optimize entropy coding of non-transform tokens" into nextgen
hui su [Fri, 8 May 2015 18:18:48 +0000 (18:18 +0000)]
Merge "Optimize entropy coding of non-transform tokens" into nextgen

10 years agoMerge "Try non-traditional intra prediction even when spatial isn't good." into nextgen
Alex Converse [Fri, 8 May 2015 01:27:12 +0000 (01:27 +0000)]
Merge "Try non-traditional intra prediction even when spatial isn't good." into nextgen

10 years agoOptimize entropy coding of non-transform tokens
hui su [Tue, 21 Apr 2015 21:10:19 +0000 (14:10 -0700)]
Optimize entropy coding of non-transform tokens

Use separate token probabilities and counters for non-transform
blocks (pixel domain) . Initial probabilities are trained with screen_content
clips. On screen_content, it improves coding performance by about
2% (from +16.4% to +18.45%).

The initial probabilities are not optimized for natural videos. So it should
not be used for natural videos. Set FOR_SCREEN_CONTENT as 0/1 to specify
whether or not to enable this patch.

Change-Id: Ifa361c94bb62aa4b783cbfa50de08c3fecae0984

10 years agoMerge "Fix a bug in copy_mode experiment" into nextgen
Debargha Mukherjee [Thu, 7 May 2015 05:10:00 +0000 (05:10 +0000)]
Merge "Fix a bug in copy_mode experiment" into nextgen

10 years agoMerge "Global motion continued" into nextgen
Debargha Mukherjee [Thu, 7 May 2015 05:09:33 +0000 (05:09 +0000)]
Merge "Global motion continued" into nextgen

10 years agoFix a bug in copy_mode experiment
Yaowu Xu [Thu, 7 May 2015 00:03:32 +0000 (17:03 -0700)]
Fix a bug in copy_mode experiment

Change-Id: I1cf7d51ba99e5b6f5cf7e0d1a5d86ce4f19046e5

10 years agoAdded highbitdepth sse2 acceleration for quantize and block error
Peter de Rivaz [Thu, 16 Oct 2014 12:38:46 +0000 (13:38 +0100)]
Added highbitdepth sse2 acceleration for quantize and block error

This is a partial cherry-pick of db7192e

Change-Id: Idef18f90b111a0d0c9546543d3347e551908fd78

10 years agoGlobal motion continued
Debargha Mukherjee [Thu, 23 Apr 2015 00:33:25 +0000 (17:33 -0700)]
Global motion continued

Implements a first version of global motion where the
existing ZEROMV mode is converted to a translation only
global motion mode.
A lot of the code for supporting a rotation-zoom affine
model is also incorporated.
WIP.

Change-Id: Ia1288a8dfe82f89484d4e291780288388e56d91b

10 years agoTry non-traditional intra prediction even when spatial isn't good.
Alex Converse [Wed, 29 Apr 2015 00:06:48 +0000 (17:06 -0700)]
Try non-traditional intra prediction even when spatial isn't good.

Change-Id: I3a9b94d52cc0e962d91827a9b7ca8b65e82130ca

10 years agoCorrected optimization of 8x8 DCT code
Peter de Rivaz [Thu, 11 Dec 2014 15:54:23 +0000 (15:54 +0000)]
Corrected optimization of 8x8 DCT code

The 8x8 DCT uses a fast version whenever possible.
There was a mistake in the checking code which
meant sometimes the fast version was used when it
was not safe to do so.

Change-Id: I154c84c9e2d836764768a11082947ca30f4b5ab7

10 years agoAdded tests for high bitdepth variance sse2 functions
Peter de Rivaz [Mon, 10 Nov 2014 13:59:28 +0000 (13:59 +0000)]
Added tests for high bitdepth variance sse2 functions

Change-Id: I72735e2e07464a0f7e44968fb14a195c84a58992

10 years agoFixed idct16x16_10 highbitdepth transform
Peter de Rivaz [Mon, 10 Nov 2014 16:17:49 +0000 (16:17 +0000)]
Fixed idct16x16_10 highbitdepth transform

In the case when there are only non-zero coefficients
in the first 4x4 block a special routine is called.
The highbitdepth optimized version of this routine
examined the wrong positions when deciding whether
to call an assembler or C inverse transform.

Change-Id: I62da663ca11775dadb66e402e42f4a1cb1927893

10 years agoIadst transforms to use internal low precision
Deb Mukherjee [Thu, 6 Nov 2014 20:50:33 +0000 (12:50 -0800)]
Iadst transforms to use internal low precision

Change-Id: I266777d40c300bc53b45b205144520b85b0d6e58

10 years agoAdded high bitdepth sse2 transform functions
Peter de Rivaz [Fri, 24 Oct 2014 07:48:02 +0000 (08:48 +0100)]
Added high bitdepth sse2 transform functions

Change-Id: If359f0e9a71bca9c2ba685a87a355873536bb282

10 years agoAdded sse2 acceleration for highbitdepth variance
Peter de Rivaz [Thu, 16 Oct 2014 13:00:54 +0000 (14:00 +0100)]
Added sse2 acceleration for highbitdepth variance

This is a combination of:
  4a19fa6 Added sse2 acceleration for highbitdepth variance
  c6f5d3b Fix high bit depth assembly function bugs

Change-Id: I446bdf3a405e4e9d2aa633d6281d66ea0cdfd79f

10 years agoRefactored idct routines and headers
Peter de Rivaz [Fri, 24 Oct 2014 07:37:39 +0000 (08:37 +0100)]
Refactored idct routines and headers

This change is made in preparation for a
subsequent patch which adds acceleration
for the highbitdepth transform functions.

The highbitdepth transform functions attempt
to use 16/32bit sse instructions where possible,
but fallback to using the C implementations if
potential overflow is detected.  For this reason
the dct routines are made global so they can be
called from the acceleration functions in the
subsequent patch.

Change-Id: Ia921f191bf6936ccba4f13e8461624b120c1f665

10 years agoAdded highbitdepth sse2 SAD acceleration and tests
Peter de Rivaz [Thu, 16 Oct 2014 12:41:55 +0000 (13:41 +0100)]
Added highbitdepth sse2 SAD acceleration and tests

Change-Id: I9f09e404e3136951e5cc15bf40b915c1fe10b620

10 years agoEnable build with vs20013
Yaowu Xu [Mon, 4 May 2015 20:02:58 +0000 (13:02 -0700)]
Enable build with vs20013

Change-Id: I0592b9e92c3ca45e0a81d9ce49a9f2381bec3e39

10 years agoChanged nearmv for one of the sub8x8 partitions
Zoe Liu [Thu, 30 Apr 2015 00:47:45 +0000 (17:47 -0700)]
Changed nearmv for one of the sub8x8 partitions

It is a minor change, but the essential idea is to use the mv of the
top right block as the nearmv for the bottom left partition in the
sub8x8 block. The change is under the experiment of NEWMVREF.

When all 13 experiments are on (except for INTRABC), the gain is +0.05%:
Worse on bowing_cif: -0.17%
Best on foreman_cif: +0.42%; and bridge_far_cif: +0.40%
The total 13 experiments achieved a gain of +6.97% against base.

Change-Id: I3a51d9e28b34b0943fe16a984d62bfb38304ebca

10 years agotx_skip: Avoid undefined shift behavior.
Alex Converse [Thu, 30 Apr 2015 19:52:36 +0000 (12:52 -0700)]
tx_skip: Avoid undefined shift behavior.

vp9_quantize_rect did illegal shifts but didn't use the results.
The shift |a << b| is unfortunately undefined if |a < 0|, but the
more verbose |a * (1 << b)| generates the same machine code.

Change-Id: I7ceac66fa20a700630cf8ed008949146b161dab4

10 years agoFix integer overflows in TX skipping
Alex Converse [Thu, 30 Apr 2015 18:24:25 +0000 (11:24 -0700)]
Fix integer overflows in TX skipping

Change-Id: Ic1fc0f1271065180cffcbd2906e8faac6d07d08d

10 years agoMerge "Consolidate common count updates" into nextgen
Debargha Mukherjee [Wed, 29 Apr 2015 22:08:25 +0000 (22:08 +0000)]
Merge "Consolidate common count updates" into nextgen

10 years agoConsolidate common count updates
Debargha Mukherjee [Tue, 28 Apr 2015 23:46:41 +0000 (16:46 -0700)]
Consolidate common count updates

Cleanup - does not have any change in RD performance.

Change-Id: Iaca9c7378b294bd8c780958f5e33e697690eebfa

10 years agoMerge "Add a necessary include file" into nextgen
Yaowu Xu [Tue, 28 Apr 2015 23:48:48 +0000 (23:48 +0000)]
Merge "Add a necessary include file" into nextgen

10 years agoAdd a necessary include file
Yaowu Xu [Tue, 28 Apr 2015 22:44:16 +0000 (15:44 -0700)]
Add a necessary include file

The include is necessary for --enable-coefficient-range-checking

Change-Id: I5cf7b2fca0ddd610815398b1e77f17df42f9785c

10 years agoMerge changes I33c72799,I3ee8974a,I38a42ed1,Iaad3dc3c into nextgen
Yaowu Xu [Tue, 28 Apr 2015 21:16:10 +0000 (21:16 +0000)]
Merge changes I33c72799,I3ee8974a,I38a42ed1,Iaad3dc3c into nextgen

* changes:
  usage.dox: fix doxygen warnings in 1.8.x
  Fix doxygen warning with usage.dox
  Remove obsolete doxygen tags
  Fix comments for doxygen

10 years agoMerge "palette: Add missing consts" into nextgen
Alex Converse [Tue, 28 Apr 2015 19:51:16 +0000 (19:51 +0000)]
Merge "palette: Add missing consts" into nextgen

10 years agousage.dox: fix doxygen warnings in 1.8.x
James Zern [Sat, 14 Mar 2015 01:49:03 +0000 (18:49 -0700)]
usage.dox: fix doxygen warnings in 1.8.x

use \li to denote list items with \if.

fixes the following likely visible in <1.8.3:
usage.dox: warning: Invalid list item found
usage.dox: warning: End of list marker found without any preceding list items

Change-Id: I33c72799edf9f8866596ac8f79247050b8c75681

10 years agoFix doxygen warning with usage.dox
Yaowu Xu [Thu, 15 Jan 2015 19:42:04 +0000 (11:42 -0800)]
Fix doxygen warning with usage.dox

Change-Id: I3ee8974a66f186fb0eb15b1078a3c7b9cbf5ec80

10 years agoRemove obsolete doxygen tags
Yaowu Xu [Thu, 15 Jan 2015 02:09:14 +0000 (18:09 -0800)]
Remove obsolete doxygen tags

Change-Id: I38a42ed1d0be4fbfce6c9f3f5d021055107933d7

10 years agoMerge "Refactor 4:4:4 palette selection." into nextgen
Alex Converse [Tue, 28 Apr 2015 19:07:40 +0000 (19:07 +0000)]
Merge "Refactor 4:4:4 palette selection." into nextgen

10 years agoFix comments for doxygen
Yaowu Xu [Tue, 13 Jan 2015 22:32:09 +0000 (14:32 -0800)]
Fix comments for doxygen

Change-Id: Iaad3dc3cdd25275939b475706eb7d136a5a10174

10 years agopalette: Add missing consts
Alex Converse [Tue, 28 Apr 2015 18:31:57 +0000 (11:31 -0700)]
palette: Add missing consts

Change-Id: I83a2e57dc5dbc328c7bfea421ffbaeb83b7ca3bd

10 years agoRefactor 4:4:4 palette selection.
Alex Converse [Tue, 28 Apr 2015 18:15:06 +0000 (11:15 -0700)]
Refactor 4:4:4 palette selection.

Move 444 palette selection out of vp9_rd_pick_intra_mode_sb and into
a subfunction.

Change-Id: Ib323b740318626e2a68cd3d106dbd27c8f4652a6

10 years agoUse uniform quantization settings for non-transform blocks
hui su [Fri, 17 Apr 2015 18:38:37 +0000 (11:38 -0700)]
Use uniform quantization settings for non-transform blocks

Do not treat first element (dc) differently.

on screen_content
tx-skip only: +16.4% (was +15.45%)

no significant impact on natrual videos

Change-Id: I79415a9e948ebbb4a69109311c10126d8a0b96ab

10 years agoFix bugs in palette and intrabc expt
hui su [Fri, 24 Apr 2015 21:01:31 +0000 (14:01 -0700)]
Fix bugs in palette and intrabc expt

palette expt: correctly update color buffer
intrabc expt: update zcoeff_blk so that residue coding will not
              be mistakenly skipped

Change-Id: I870f5b742c2ac394f4c871aa65e6591e293d8ef6

10 years agoReplace vp9_get_bit_depth with vp9_ceil_log2.
Alex Converse [Thu, 23 Apr 2015 17:26:57 +0000 (10:26 -0700)]
Replace vp9_get_bit_depth with vp9_ceil_log2.

The current name is confusing with regard to high bit depth buffers.

Change-Id: Ieacd55ec22c81bd2f013f2e3d73a095affc93689

10 years agoMerge "Some minor improvements in bilateral filter expt." into nextgen
Debargha Mukherjee [Thu, 23 Apr 2015 01:14:44 +0000 (01:14 +0000)]
Merge "Some minor improvements in bilateral filter expt." into nextgen

10 years agoSome minor improvements in bilateral filter expt.
Debargha Mukherjee [Tue, 21 Apr 2015 16:29:56 +0000 (09:29 -0700)]
Some minor improvements in bilateral filter expt.

Changes include:

* Uses double for RD cost computation to guard against overflow
for large resolution frames.
* Use previous frame's filter level to code the level better.
* Change precision of the filter parameters.
* Allow spatial variance for x and y to be different

Change-Id: I1669f65eb0ab1e8519962954c92d59e04f1277b7
derflr: +0.556% (a little up from before)