]> granicus.if.org Git - libvpx/log
libvpx
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)

10 years agoModify scan order for non-transform coding blocks
hui su [Fri, 17 Apr 2015 00:39:31 +0000 (17:39 -0700)]
Modify scan order for non-transform coding blocks

Use raster scan order for non-transform blocks

+15.45% (+2.1%) on screen_content
no significant change on natural videos

Change-Id: I0e264cb69e8624540639302d131f7de9c31c3ba7

10 years agoRemove unused variable in new-quant expt
hui su [Mon, 20 Apr 2015 18:14:51 +0000 (11:14 -0700)]
Remove unused variable in new-quant expt

remove dequant_val_nuq in macroblock_plane

Change-Id: I4b4070ae2d01c2403c781433030204d6e95c3750

10 years agoMerge "Don't use old uv scores for NEWDV and cleanup mbmi saving." into nextgen
Alex Converse [Fri, 17 Apr 2015 19:47:23 +0000 (12:47 -0700)]
Merge "Don't use old uv scores for NEWDV and cleanup mbmi saving." into nextgen

10 years agoMerge "Add high bit depth support for tx-skip expt" into nextgen
hui su [Fri, 17 Apr 2015 18:37:39 +0000 (11:37 -0700)]
Merge "Add high bit depth support for tx-skip expt" into nextgen

10 years agoDon't use old uv scores for NEWDV and cleanup mbmi saving.
Alex Converse [Fri, 10 Apr 2015 22:29:55 +0000 (15:29 -0700)]
Don't use old uv scores for NEWDV and cleanup mbmi saving.

Change-Id: Ic0fae1b348ad7659e4a41db29d075ae5eb6cdc82

10 years agoMerge "Simplify bilateral filter search for speed" into nextgen
Debargha Mukherjee [Fri, 17 Apr 2015 01:58:03 +0000 (18:58 -0700)]
Merge "Simplify bilateral filter search for speed" into nextgen

10 years agoSimplify bilateral filter search for speed
Debargha Mukherjee [Wed, 15 Apr 2015 16:43:36 +0000 (09:43 -0700)]
Simplify bilateral filter search for speed

Adds an internal buffer in the encoder to store the deblocked
result to help speed up the search for the best bilateral filter.

Very small change in performance but a lot faster:
derflr: +0.518%

Change-Id: I5d37e016088e559c16317789cfb1c2f49334b2b9

10 years agoFix palette expt asan failure
hui su [Thu, 16 Apr 2015 18:18:58 +0000 (11:18 -0700)]
Fix palette expt asan failure

Account for 422 video format.

Change-Id: Ic5af661720fc5fa7142210d907dd25e1e79ff653

10 years agoAdd high bit depth support for tx-skip expt
hui su [Fri, 10 Apr 2015 18:25:09 +0000 (11:25 -0700)]
Add high bit depth support for tx-skip expt

+0.3% on 10-bit
+0.3% on 12-bit

With other high bit compatible experiments on 12-bit
+12.44% (+0.17) over 8-bit baseline

Change-Id: I40b4c382fa54ba4640d08d9d01950ea8c1200bc9

10 years agoFix a bug in tx_skip expt
hui su [Tue, 14 Apr 2015 18:25:55 +0000 (11:25 -0700)]
Fix a bug in tx_skip expt

tx_skip is not enabled for sub8x8 blocks.

Change-Id: I3797238735f85fb2bd07b50ca2845611b198bff6

10 years agoMerge "refactoring in tx_skip experiment" into nextgen
hui su [Tue, 14 Apr 2015 15:12:08 +0000 (08:12 -0700)]
Merge "refactoring in tx_skip experiment" into nextgen

10 years agorefactoring in tx_skip experiment
hui su [Thu, 9 Apr 2015 16:30:18 +0000 (09:30 -0700)]
refactoring in tx_skip experiment

simplify code logic

Change-Id: Ifafc712f3f85abafadb429a04e295cf8cbb185d2

10 years agoMerge "High bit-depth support for wedge partition expt" into nextgen
Debargha Mukherjee [Mon, 13 Apr 2015 17:09:51 +0000 (10:09 -0700)]
Merge "High bit-depth support for wedge partition expt" into nextgen

10 years agoHigh bit-depth support for wedge partition expt
Debargha Mukherjee [Sat, 11 Apr 2015 00:45:02 +0000 (17:45 -0700)]
High bit-depth support for wedge partition expt

Change-Id: Idbd27e66d4f4a7953f888137d5752856215a6760

10 years agoFix a mismatch bug
hui su [Fri, 10 Apr 2015 23:06:38 +0000 (16:06 -0700)]
Fix a mismatch bug

In the tx_skip experiment, dpcm is not used for 64x64 blocks.

Change-Id: Iafbed3b5e411954b80e898f10def3757f2cf44c1

10 years agoMerge "An experiment introducing a bilateral loop filter" into nextgen
Debargha Mukherjee [Fri, 10 Apr 2015 23:46:16 +0000 (16:46 -0700)]
Merge "An experiment introducing a bilateral loop filter" into nextgen

10 years agoAn experiment introducing a bilateral loop filter
Debargha Mukherjee [Tue, 31 Mar 2015 23:49:38 +0000 (16:49 -0700)]
An experiment introducing a bilateral loop filter

Adds a framework to incorporate a parameterized loop
postfilter in the coding loop after the application of the
standard deblocking loop filter.

The first version uses a straight bilateral filter
where the parameters conveyed are just spatial and
intensity gaussian variances.

Results on derflr:
+0.523% (only with this experiment)
+6.714% (with all expts other than intrabc)

Change-Id: I20d47285b4d25b8c6386ff8af2a75ff88ac2b69b

10 years agotx-skip experiment: improve entropy coding of coeff tokens
hui su [Mon, 30 Mar 2015 23:36:15 +0000 (16:36 -0700)]
tx-skip experiment: improve entropy coding of coeff tokens

This patch allows the prediction residues of tx-skipped blocks
to use probs that are different from regular transfrom
coefficients for token entropy coding. Prediction residues are
assumed as in band 6.

The initial value of probs is obtained with stats from limited
tests. The statistic model for constrained token nodes has not
been optimized. The probs for token extra bits have not been
optimized. These can be future work.

Certain coding improvment is observed:
derflr with all experiments:                +6.26%  (+0.10%)
screen_content with palette:               +22.48%  (+1.28%)

Change-Id: I1c0d78178ee9f3655febb6f30cdaef8ee9f8e3cc

10 years agoPreparation for end to end test turn on
Debargha Mukherjee [Fri, 3 Apr 2015 23:44:40 +0000 (16:44 -0700)]
Preparation for end to end test turn on

Change-Id: Ibc53bf50c8164b413749aaa8baa08e2f6e928e1b

10 years agoAdd an intra block copy mode (NEWDV).
Alex Converse [Mon, 1 Dec 2014 22:30:22 +0000 (14:30 -0800)]
Add an intra block copy mode (NEWDV).

Change-Id: I82b261c54ac9db33706bb057613dcbe66fc71387

10 years agoClean the COMPOUND_MODES mv initialization for sub8x8
Zoe Liu [Thu, 2 Apr 2015 22:12:58 +0000 (15:12 -0700)]
Clean the COMPOUND_MODES mv initialization for sub8x8

Change-Id: I04f4ad41c002c761d55093432d6c437c25e5bddd

10 years agoAdd a new PREDICTION mode using NEARMV as ref mv
Zoe Liu [Tue, 17 Mar 2015 23:48:48 +0000 (16:48 -0700)]
Add a new PREDICTION mode using NEARMV as ref mv

This experiment, referred as NEWMVREF, also merged with NEWMVREF_SUB8X8
and the latter one has been removed. Runborgs results show that:

(1) Turning on this experiment only, compared against the base:
derflf: Average PSNR 0.40%; Overall PSNR 0.40%; SSIM 0.35%
(2) Turning on all the experiments including this feature, compared against
that without this feature, on the highbitdepth case using 12-bit:
derflf: Average PSNR 0.33%; Overall PSNR 0.32%; SSIM 0.30%.

Now for highbitdepth using 12-bit, compared against base:
derflf: Average PSNR 11.12%; Overall PSNR 11.07%; SSIM 20.27%.

Change-Id: Ie61dbfd5a19b8652920d2c602201a25a018a87a6

10 years agopalette experiment: remove run-length coding
hui su [Fri, 27 Mar 2015 21:49:58 +0000 (14:49 -0700)]
palette experiment:  remove run-length coding

Change-Id: I1e52475d0179cf019841d09a53b3b7fc53c79336

10 years agoMerge "Palette experiment: encode color indices based on context" into nextgen
hui su [Fri, 27 Mar 2015 01:34:43 +0000 (18:34 -0700)]
Merge "Palette experiment: encode color indices based on context" into nextgen

10 years agoMerge "Palette experiment: adaptly update probs" into nextgen
hui su [Fri, 27 Mar 2015 01:34:28 +0000 (18:34 -0700)]
Merge "Palette experiment: adaptly update probs" into nextgen

10 years agoPalette experiment: encode color indices based on context
hui su [Thu, 19 Mar 2015 22:55:29 +0000 (15:55 -0700)]
Palette experiment: encode color indices based on context

The basic idea is to use a pixel’s neighboring colors as
context to predict its own color. Up to 4 neighbors are
considered here: left, left-above, above, right-above.
To reduce the number of contexts,  the combination of any
4 (or less) colors are mapped to a reduced number of
patterns. For example, 1111, 2222, 3333, … , can be mapped
to the same pattern: AAAA. SImilarly, 1122, 1133, 2233, …,
can be mapped to the pattern AABB. In this way, the total
number of color contexts is reduced to 16.

This almost doubles the gain of palette coding on screen
content videos.

on screen_content
--enable-palette                                  +14.2%
--enable-palette --enable-tx-skip                 +21.2%

on derflr
--enable-palette                                  +0.12%
with all other experiments                        +6.16%

Change-Id: I560306dae216f2ac11a9214968c2ad2319fa1718

10 years agoMerge "Add palette coding mode for inter frames" into nextgen
Debargha Mukherjee [Thu, 26 Mar 2015 18:59:36 +0000 (11:59 -0700)]
Merge "Add palette coding mode for inter frames" into nextgen

10 years agoPalette experiment: adaptly update probs
hui su [Sat, 7 Mar 2015 02:08:50 +0000 (18:08 -0800)]
Palette experiment: adaptly update probs

Also make changes to transmit palette-enabled flag using
neighbor blocks as context.

on screen_content
--enable-palette                            +7.35%

on derflr
with all other experiments                  +6.05%

Change-Id: Id6c2f726d21913d54a3f86ecfea474a4044c27f6

10 years agoCleaned the code in handle_inter_mode
Zoe Liu [Mon, 23 Mar 2015 22:33:25 +0000 (15:33 -0700)]
Cleaned the code in handle_inter_mode

borgs show consistent results as before this patch

Change-Id: I3d21623cb03ea169a031328e9dde9c26ba1bd016

10 years agoAdd palette coding mode for inter frames
hui su [Wed, 25 Feb 2015 18:00:40 +0000 (10:00 -0800)]
Add palette coding mode for inter frames

on screen_content
--enable-palette                                    +6.74%

on derflr
with all other experiments                          +6.02%
(--enable-supertx --enable-copy-mode
 --enable-ext-tx --enable-filterintra
 --enable-tx64x64 --enable-tx-skip
 --enable-interintra --enable-wedge-partition
 --enable-compound-modes --enable-new-quant
 --enable-palette)

Change-Id: Ib85049b4c3fcf52bf95efbc9d6aecf53d53ca1a3

10 years agoMerge "Make interintra experiment work with highbitdepth" into nextgen
Deb Mukherjee [Mon, 23 Mar 2015 05:48:56 +0000 (22:48 -0700)]
Merge "Make interintra experiment work with highbitdepth" into nextgen

10 years agoMake interintra experiment work with highbitdepth
Deb Mukherjee [Wed, 18 Mar 2015 04:32:21 +0000 (21:32 -0700)]
Make interintra experiment work with highbitdepth

Also includes some adjustments to the algorithm.
All stats look good.

Change-Id: I824ef8ecf25b34f3feb358623d14fe375c3e4eb7

10 years agoSome build fixes with highbitdepth and new quant
Deb Mukherjee [Fri, 20 Mar 2015 03:32:07 +0000 (20:32 -0700)]
Some build fixes with highbitdepth and new quant

Highbitdepth performance about the same as 8-bit.

Change-Id: If737962d8588dd190083edae4383b731f9d22873

10 years agoNon-uniform quantization experiment
Deb Mukherjee [Wed, 4 Mar 2015 22:04:11 +0000 (14:04 -0800)]
Non-uniform quantization experiment

This framework allows lower quantization bins to be shrunk down or
expanded to match closer the source distribution (assuming a generalized
gaussian-like central peaky model for the coefficients) in an
entropy-constrained sense. Specifically, the width of the bins 0-4 are
modified as a factor of the nominal quantization step size and from 5
onwards all bins become the same as the nominal quantization step size.
Further, different bin width profiles as well as reconstruction values
can be used based on the coefficient band as well as the quantization step
size divided into 5 ranges.

A small gain currently on derflr of about 0.16% is observed with the
same paraemters for all q values.
Optimizing the parameters based on qstep value is left as a TODO for now.

Results on derflr with all expts on is +6.08% (up from 5.88%).

Experiments are in progress to tune the parameters for different
coefficient bands and quantization step ranges.

Change-Id: I88429d8cb0777021bfbb689ef69b764eafb3a1de

10 years agointerintra: wedge: Get the correct wedge params.
Alex Converse [Tue, 17 Mar 2015 17:49:22 +0000 (10:49 -0700)]
interintra: wedge: Get the correct wedge params.

Fixes an asan issue.

Change-Id: I671ffc382c77c2b38673e0b148f54e7bce2ce9c2

10 years agopalette: Fix an illegal read
Alex Converse [Mon, 16 Mar 2015 23:47:38 +0000 (16:47 -0700)]
palette: Fix an illegal read

Change-Id: I71649f0a85d98b96efd08c8a9e3ee7372fd7d327

10 years agoMerge "Misc changes to support high-bitdepth with supertx" into nextgen
Deb Mukherjee [Fri, 13 Mar 2015 00:42:20 +0000 (17:42 -0700)]
Merge "Misc changes to support high-bitdepth with supertx" into nextgen

10 years agoMisc changes to support high-bitdepth with supertx
Deb Mukherjee [Tue, 10 Mar 2015 19:46:52 +0000 (12:46 -0700)]
Misc changes to support high-bitdepth with supertx

Change-Id: I0331646d1c55deb6e4631e64bd6b092fb892a43e

10 years agoFixed a bug & a build warning for newmvref-sub8x8
Zoe Liu [Thu, 12 Mar 2015 16:43:23 +0000 (09:43 -0700)]
Fixed a bug & a build warning for newmvref-sub8x8

Change-Id: I799fc3fb4c1201da14c97bf66e06dec655f6a620

10 years agoAdd palette coding mode for UV
hui su [Sun, 22 Feb 2015 02:41:01 +0000 (18:41 -0800)]
Add palette coding mode for UV

For 444 videos, a single palette of 3-d colors is
generated for YUV. For 420 videos, there may be two
palettes, one for Y, and the other for UV.

Also fixed a bug when palette and tx-skip are both on.

on derflr
--enable-palette                    +0.00%
with all experiments                +5.87% (was +5.93%)

on screen_content
--enable-palette                    +6.00%
--enable-palette --enable-tx_skip   +15.3%

on screen_content 444 version
--enable-palette                    +6.76%
--enable-palette --enable-tx_skip   +19.5%

Change-Id: I7287090aecc90eebcd4335d132a8c2c3895dfdd4

10 years agoMerge "Global motion work continued" into nextgen
Debargha Mukherjee [Tue, 10 Mar 2015 18:27:04 +0000 (11:27 -0700)]
Merge "Global motion work continued" into nextgen

10 years agoGlobal motion work continued
Spencer Egart [Fri, 20 Feb 2015 19:16:23 +0000 (11:16 -0800)]
Global motion work continued

Interface change for the global Mv functions.

Change-Id: Ie4722faa638ac557f99743f7b33ff46c3d29e9a1

10 years agoMerge "Make filterintra experiment work with highbitdepth" into nextgen
Deb Mukherjee [Tue, 10 Mar 2015 17:42:58 +0000 (10:42 -0700)]
Merge "Make filterintra experiment work with highbitdepth" into nextgen

10 years agoMake filterintra experiment work with highbitdepth
Deb Mukherjee [Mon, 9 Mar 2015 18:41:59 +0000 (11:41 -0700)]
Make filterintra experiment work with highbitdepth

All stats look fine.
derflr: +0.912 with respect to 10-bit internal baseline
               (Was +0.747% w.r.t. 8 bit)
        +5.545 with respect to 8-bit baseline

Change-Id: I3c14fd17718a640ea2f6bd39534e0b5cbe04fb66

10 years agoFix tx_skip debug build.
Alex Converse [Mon, 9 Mar 2015 19:07:13 +0000 (12:07 -0700)]
Fix tx_skip debug build.

Change-Id: I20a3e4e34f10485aa5e6723cd33b0311bdbf1320

10 years agoAdd encoder control for setting color space
Yaowu Xu [Tue, 13 Jan 2015 18:07:20 +0000 (10:07 -0800)]
Add encoder control for setting color space

This commit adds encoder side control for vp9 to set color space info
in the output compressed bitstream.

It also amends the "vp9_encoder_params_get_to_decoder" test to verify
the correct color space information is passed from the encoder end to
decoder end.

Change-Id: Ibf5fba2edcb2a8dc37557f6fae5c7816efa52650
(cherry picked from commit e94b415c3479129944a69fafbeacf550fb9237b7)

10 years agoEnable decoder to pass through color space info
Yaowu Xu [Fri, 9 Jan 2015 21:04:48 +0000 (13:04 -0800)]
Enable decoder to pass through color space info

This commit added a field to vpx_image_t for indicating color space,
the field is also added to YUV_BUFFER_CONFIG. This allows the color
space information pass through the decoder from input stream to the
output buffer.

The commit also updates compare_img() function with added verification
of matching color space to ensure the color space information to be
correctly passed from encode to decoder in compressed vp9 streams.

Change-Id: I412776ec83defd8a09d76759aeb057b8fa690371
(cherry picked from commit 6b223fcb588c865ae6f5abfd3d9de3ba2ae0540f)

10 years agoAdded plumbing for setting color space
Yaowu Xu [Fri, 9 Jan 2015 18:52:33 +0000 (10:52 -0800)]
Added plumbing for setting color space

Change-Id: If64052cc6e404abc8a64a889f42930d14fad21d3
(cherry picked from commit ce52b0f8d347224cd526dc1ba55597a2aa79c341)

10 years agovp9_highbd_tm_predictor_16x16: fix win64
James Zern [Wed, 11 Feb 2015 03:30:58 +0000 (19:30 -0800)]
vp9_highbd_tm_predictor_16x16: fix win64

by saving xmm8; cglobal's xmm reg arg is 0-based

Change-Id: Ic8426ec9ac59ab4478716aa812452a6406794dcb
(cherry picked from commit 923cc0bf51a24d05c6aa68f80e09d485a54431f6)

10 years agoCorrect the miscalculation in uv dimensions
Yaowu Xu [Fri, 6 Feb 2015 20:19:32 +0000 (12:19 -0800)]
Correct the miscalculation in uv dimensions

The calculation of required extension used in HBD case was wrong due
to rounding for UV when y dimension is odd. This commit replace the
computation with correct version.

This fixes a crash caused by writting beyond buffer boundary.

Change-Id: Ic7c9afeb7388cd1341ec4974a611dacfb74ac6b6
(cherry picked from commit 4bca73b609bfe9a5cb86fc25b69c6128d9041504)

10 years agoPrevent VP8 encoding crash
Yaowu Xu [Sat, 7 Feb 2015 00:32:20 +0000 (16:32 -0800)]
Prevent VP8 encoding crash

This commit changes the value of highbitdepth flag to avoid conflict
with vp8 refresh_last_frame flag.

Change-Id: Idcff2cf44f0a200bd935b326f785c0cf32d7228a
(cherry picked from commit dd27307cac5ac7f346888d219877041563eea0a2)

10 years agoMerge "Fixed the build for newmvref-sub8x8" into nextgen
Zoe Liu [Fri, 6 Mar 2015 16:54:11 +0000 (08:54 -0800)]
Merge "Fixed the build for newmvref-sub8x8" into nextgen

10 years agoFixed the build for newmvref-sub8x8
Zoe Liu [Fri, 6 Mar 2015 08:01:30 +0000 (00:01 -0800)]
Fixed the build for newmvref-sub8x8

Change-Id: Ie042001e69d80b1fc52368f29617ad2e51a5e250

10 years agoMerge "Cleaned code further for newmvref-sub8x8 and compound-modes" into nextgen
Zoe Liu [Thu, 5 Mar 2015 23:41:28 +0000 (15:41 -0800)]
Merge "Cleaned code further for newmvref-sub8x8 and compound-modes" into nextgen

10 years agoCleaned code further for newmvref-sub8x8 and compound-modes
Zoe Liu [Thu, 5 Mar 2015 22:32:50 +0000 (14:32 -0800)]
Cleaned code further for newmvref-sub8x8 and compound-modes

Change-Id: I9f869c37566aaf81910d1d6ab1b2ac0d2a2f0a23

10 years agoMerge "Changed mv ref to nearestmv always for sub8x8" into nextgen
Zoe Liu [Thu, 5 Mar 2015 19:57:21 +0000 (11:57 -0800)]
Merge "Changed mv ref to nearestmv always for sub8x8" into nextgen

10 years agoChanged mv ref to nearestmv always for sub8x8
Zoe Liu [Mon, 9 Feb 2015 23:54:56 +0000 (15:54 -0800)]
Changed mv ref to nearestmv always for sub8x8

For all sub8x8 partition, the mv ref has changed to its own nearest_mv
instead of the nearest_mv of the super 8x8 block:

--enable-newmvref-sub8x8: ~0.1% gain for derflr

Besides the above new experiment, code has been cleaned largely for the
sub8x8 motion search, such that the mv ref can be fairly easily changed to
use other options, e.g., the next step's global motion effort.

Change-Id: I8e3f4aaa8553ba8c445369692e079db5ce282593

10 years agoCorrected comment in mode_2_counter for compound
Zoe Liu [Mon, 2 Mar 2015 17:49:11 +0000 (09:49 -0800)]
Corrected comment in mode_2_counter for compound

Change-Id: I5459550e62cff79182fa0ac5a24edb56cb64d608

10 years agoFixed the build for denoiser in new compound mode
Zoe Liu [Wed, 4 Mar 2015 17:29:05 +0000 (09:29 -0800)]
Fixed the build for denoiser in new compound mode

Change-Id: Ifb824ce87db9c00c8c87f52d9b8718669fb39d05

10 years agoSome fixes to quantization and compiler warnings
Deb Mukherjee [Mon, 2 Mar 2015 22:40:13 +0000 (14:40 -0800)]
Some fixes to quantization and compiler warnings

The bugs affected only the tx64x64 experiment. This patch fixes
them.

Also fixes some compiler warnings

Change-Id: I4cf1e24a4f1fa59831bf29750cf6daa8373e8e8f

10 years agoAdds translation model to global motion estimation
Deb Mukherjee [Wed, 25 Feb 2015 17:57:33 +0000 (09:57 -0800)]
Adds translation model to global motion estimation

Change-Id: Ie1791ab7cfdd3f7a1b03404627246c923f1bd51f

10 years agoPalette-based coding experiment
hui su [Wed, 21 Jan 2015 00:17:18 +0000 (16:17 -0800)]
Palette-based coding experiment

Added palette coding option for Y channel only, key frame only.
Palette colors are obtained with k-means clustering algorithm.
Run-length coding is used to compress the color indices.

On screen_content:
--enable-palette                            + 5.75%
--enable-palette --enable-tx_skip           +15.04% (was 13.3%)

On derflr:
--enable-palette                            - 0.03%
with all the other expriments               + 5.95% (was 5.98%)

Change-Id: I6d1cf45c889be764d14083170fdf14a424bd31b5

10 years agoRemoved redundant src_mi in mv ref candidates
Zoe Liu [Thu, 19 Feb 2015 17:44:05 +0000 (09:44 -0800)]
Removed redundant src_mi in mv ref candidates

Change-Id: I4eb144e7c9d2c8568388ae58001cc7b7498967e4

10 years agoGlobal Motion block-based
Spencer Egart [Thu, 12 Feb 2015 00:00:15 +0000 (16:00 -0800)]
Global Motion block-based

Uses block-based motion fields with ransac to find transformation between
frames.

Change-Id: I6293fbb690cdad854a1140fb6af76b326abfe964

10 years agoGlobal motion experiment
Spencer Egart [Wed, 4 Feb 2015 19:43:39 +0000 (11:43 -0800)]
Global motion experiment

Added a function to compute a motion field for a pair of buffers, for use in
finding an affine transform or homography.

Change-Id: Id5169cc811a61037e877dfd57fccaca89d93936f

10 years agoMerge "Adds code for corner detection and ransac" into nextgen
Deb Mukherjee [Tue, 10 Feb 2015 16:18:03 +0000 (08:18 -0800)]
Merge "Adds code for corner detection and ransac" into nextgen

10 years agoAdds code for corner detection and ransac
Deb Mukherjee [Sat, 7 Feb 2015 01:44:49 +0000 (17:44 -0800)]
Adds code for corner detection and ransac

This code is to start experiments with global motion models.

The corner detection can be either fast_9 or Harris.
Corner matching is currently based on normalized correlation.
Three flavors of ransac are used to estimate either a
homography (8-param), or an affine model (6-param) or a
rotation-zoom only affine model (4-param).

The highest level API for the library is in vp9_global_motion.h,
where there are two functions - one for computing a single model
and another for computing multiple models up to a maximum number
provided or until a desired inlier probability is achieved.

Change-Id: I3f9788ec2dc0635cbc65f5c66c6ea8853cfcf2dd

10 years agoCleaned up the COMPOUND_MODES code in sub8x8
Zoe Liu [Mon, 9 Feb 2015 19:58:54 +0000 (11:58 -0800)]
Cleaned up the COMPOUND_MODES code in sub8x8

Change-Id: I571ff39799c3257b5c6db82660364ce412c7f6e2

10 years agoEnable tx_skip for inter blocks
hui su [Fri, 30 Jan 2015 19:28:12 +0000 (11:28 -0800)]
Enable tx_skip for inter blocks

Enable tx_skip for inter blocks whose q-index is smaller than 64.

tx_skip experiment alone:
derflr: +0.233% (was +0.038%)

all experiments:
derflr: +5.98% (was +5.94%)

Change-Id: I35245a476ff7039fec8468a92a6aa63feaf74831

10 years agoFix a bug in filterintra experiment
hui su [Thu, 29 Jan 2015 23:51:34 +0000 (15:51 -0800)]
Fix a bug in filterintra experiment

All expts together: +5.946% (up about 0.3%)

Change-Id: If686e5e97209b4cc4a8115f920e1f4f35ded5a1d

10 years agoFix a bug in COPY_MODE + EXT_TX experiment
Yue Chen [Tue, 27 Jan 2015 19:51:02 +0000 (11:51 -0800)]
Fix a bug in COPY_MODE + EXT_TX experiment

Remove the duplicated step counting the overhead for ext_tx, because
it has been counted in super_block_yrd().

Change-Id: I50bc01d8166572bc0847305565cf33c14ee516e6

10 years agoRemoval of legacy zbin_extra / zbin_oq_value.
Jingning Han [Mon, 22 Dec 2014 17:35:29 +0000 (09:35 -0800)]
Removal of legacy zbin_extra / zbin_oq_value.

Change-Id: I07f77a63aa98087626e45c4e87aa5dcafc0b0b07
(cherry picked from commit d0f237702745c4bfc0297d24f9465f960fb988ed)

10 years agoAdds inter-intra combination with wedge partitions
Deb Mukherjee [Wed, 21 Jan 2015 00:32:13 +0000 (16:32 -0800)]
Adds inter-intra combination with wedge partitions

Also fixes some build issues with certain experimental combinations.

Results on derflr with all experiments on: +5.516%

Change-Id: I9b492f3d3556bd1f057005571dc9bee63167dd95

10 years agoSome build fixes
Deb Mukherjee [Wed, 21 Jan 2015 21:37:24 +0000 (13:37 -0800)]
Some build fixes

Related zbin boost removal.

Change-Id: I0f34d31038c29d5cb78bc5d110159df01e41e328

10 years agoRemove mode dependent zbin boost.
Paul Wilkins [Wed, 17 Dec 2014 15:35:23 +0000 (15:35 +0000)]
Remove mode dependent zbin boost.

Initial patch to remove get_zbin_mode_boost() and
cpi->zbin_mode_boost.

For now sets a dummy value of 0 for zbin extra pending
a further clean up patch.

Change-Id: I64a1e1eca2d39baa8ffb0871b515a0be05c9a6af
(cherry picked from commit 60e9b731cf8945403dbcf149a0f6dc745e5cabe1)

10 years agoCreated COMPOUND_MODES experiment.
Spencer Egart [Fri, 14 Nov 2014 19:55:58 +0000 (11:55 -0800)]
Created COMPOUND_MODES experiment.

COMPOUND_MODES experiment encodes separate MV modes for each frame in a compound
reference prediction.  Added modes NEAREST_NEARESTMV, ZERO_ZEROMV,
NEW_NEWMV, NEAREST_NEARMV, NEAR_NEARESTMV, NEW_NEARESTMV, NEAR_NEWMV,
NEW_NEARMV, and NEAREST_NEWMV.

Also enhances the wedge-partition expt to work better with compound
modes.

Results:
derflr +0.227
All experiments on: derflr +5.218

Change-Id: I719e8a34826bf1f1fe3988dac5733a845a89ef2b

10 years agoAdds wedge-partitions for compound prediction
Deb Mukherjee [Tue, 13 Jan 2015 02:09:10 +0000 (18:09 -0800)]
Adds wedge-partitions for compound prediction

Results with this experiment only: +0.642% on derflr.
With other experiments: +4.733%

Change-Id: Ieb2022f8e49ac38a7e7129e261a6bf69ae9666b9

10 years agoMerge "dpcm intra prediction for tx_skip" into nextgen
punksu [Thu, 15 Jan 2015 19:53:06 +0000 (11:53 -0800)]
Merge "dpcm intra prediction for tx_skip" into nextgen

10 years agodpcm intra prediction for tx_skip
punksu [Wed, 17 Dec 2014 05:51:27 +0000 (13:51 +0800)]
dpcm intra prediction for tx_skip

Implements vertical, horizontal, and tm dpcm intra prediction for
blocks in tx_skip mode. Typical coding gain on screen content video
is 2%~5%.

Change-Id: Idd5bd84ac59daa586ec0cd724680cef695981651