]> granicus.if.org Git - libvpx/log
libvpx
8 years agoMerge "Rename above and left offset variables." into nextgenv2
Debargha Mukherjee [Wed, 24 Feb 2016 18:48:21 +0000 (18:48 +0000)]
Merge "Rename above and left offset variables." into nextgenv2

8 years agoMerge "Experiment to use image domain dist in baseline." into nextgenv2
Debargha Mukherjee [Wed, 24 Feb 2016 18:30:50 +0000 (18:30 +0000)]
Merge "Experiment to use image domain dist in baseline." into nextgenv2

8 years agoRename above and left offset variables.
Geza Lore [Mon, 22 Feb 2016 10:58:52 +0000 (10:58 +0000)]
Rename above and left offset variables.

These variable names were legacy from a previous version of this
function and in the current version they were confusingly backwards.

Change-Id: I4f6c1628f296fd5b650fd9c5e2d56d7daf66a3f6

8 years agoMerge "Optimizing obmc rd decision by checking the real rd cost" into nextgenv2
Yue Chen [Tue, 23 Feb 2016 23:05:06 +0000 (23:05 +0000)]
Merge "Optimizing obmc rd decision by checking the real rd cost" into nextgenv2

8 years agoOptimizing obmc rd decision by checking the real rd cost
Yue Chen [Thu, 18 Feb 2016 20:35:14 +0000 (12:35 -0800)]
Optimizing obmc rd decision by checking the real rd cost

Instead of using model_rd_for_sb() to estimate the cost and make the
decision on bmc/obmc, we use super_block_yrd/uvrd() to calculate and
compare the real rd costs of bmc and obmc.

Average bit-rate reduction(%) of obmc experiment:
derflr/derfhd/hevcmr/hevchd
2.353/TBD/TBD/TBD
Before the optimization, the coding gain was:
1.582/1.109/1.600/1.164

Note: there is still some mysterious bug because that compared to
the previous version, the performance at low bit rate drops a lot.

Change-Id: I8dbee04a272190f10516a3953c1ae690f8136766

8 years agoFix palette mode
hui su [Tue, 23 Feb 2016 17:29:58 +0000 (09:29 -0800)]
Fix palette mode

It was broken by commit 3787b17439d00d3684646e97c18d231860dae8b9

Change-Id: I2be0f6243e8716b9ca4c0321de381419108d1abe

8 years agoMerge "Port "Better workaround for Bug 1089." to vp10 (nextgenv2)." into nextgenv2
Alex Converse [Tue, 23 Feb 2016 17:53:56 +0000 (17:53 +0000)]
Merge "Port "Better workaround for Bug 1089." to vp10 (nextgenv2)." into nextgenv2

8 years agoExperiment to use image domain dist in baseline.
Geza Lore [Tue, 16 Feb 2016 09:54:29 +0000 (09:54 +0000)]
Experiment to use image domain dist in baseline.

Change-Id: Ib29f510289716b5ab5c7d74d32a450c190308a83

8 years agoMerge "Cleanup psnr.h" into nextgenv2
Yaowu Xu [Tue, 23 Feb 2016 17:13:34 +0000 (17:13 +0000)]
Merge "Cleanup psnr.h" into nextgenv2

8 years agoMerge "Merge 12sharp filter into ext-interp" into nextgenv2
Angie Chiang [Tue, 23 Feb 2016 01:26:23 +0000 (01:26 +0000)]
Merge "Merge 12sharp filter into ext-interp" into nextgenv2

8 years agoMerge "Add shift stage in FASTSSIM computation" into nextgenv2
Yaowu Xu [Tue, 23 Feb 2016 00:43:17 +0000 (00:43 +0000)]
Merge "Add shift stage in FASTSSIM computation" into nextgenv2

8 years agoMerge 12sharp filter into ext-interp
Angie Chiang [Tue, 16 Feb 2016 23:05:56 +0000 (15:05 -0800)]
Merge 12sharp filter into ext-interp

Change-Id: I7df48e7f3b57f212798ef4be86f28aed928fc3e0

8 years agoCleanup psnr.h
Yaowu Xu [Mon, 22 Feb 2016 23:24:25 +0000 (15:24 -0800)]
Cleanup psnr.h

Change-Id: Id026e72ee655ee5bd645a89e378da0d462be367d

8 years agoMerge "sync dec/enc mv clamp behavior in prediction" into nextgenv2
Angie Chiang [Mon, 22 Feb 2016 23:30:10 +0000 (23:30 +0000)]
Merge "sync dec/enc mv clamp behavior in prediction" into nextgenv2

8 years agoAdd shift stage in FASTSSIM computation
Yaowu Xu [Mon, 22 Feb 2016 20:58:38 +0000 (12:58 -0800)]
Add shift stage in FASTSSIM computation

This commits adds a shift stage for FASTSSIM computaton when source
bit depth is different from working bit depth, to make sure metric
results are calculated in bit_depth consistent with source.

Change-Id: I997799634076ef7b00fd051710544681ed536185

8 years agoMerge "Add shift stage for PSNRHVS computation" into nextgenv2
Yaowu Xu [Mon, 22 Feb 2016 21:55:59 +0000 (21:55 +0000)]
Merge "Add shift stage for PSNRHVS computation" into nextgenv2

8 years agosync dec/enc mv clamp behavior in prediction
Angie Chiang [Mon, 22 Feb 2016 18:48:11 +0000 (10:48 -0800)]
sync dec/enc mv clamp behavior in prediction

Change-Id: I12ce1da18b3db7bd2f36e0424a264b3c36fbed61

8 years agoMerge "Fix 12 TAP convolution bug" into nextgenv2
Angie Chiang [Mon, 22 Feb 2016 19:03:05 +0000 (19:03 +0000)]
Merge "Fix 12 TAP convolution bug" into nextgenv2

8 years agoMerge "Move psnrhvs function declaration to psnr.h" into nextgenv2
Yaowu Xu [Mon, 22 Feb 2016 18:46:39 +0000 (18:46 +0000)]
Merge "Move psnrhvs function declaration to psnr.h" into nextgenv2

8 years agoMerge "Extend HBDMetricTest" into nextgenv2
Yaowu Xu [Mon, 22 Feb 2016 18:46:25 +0000 (18:46 +0000)]
Merge "Extend HBDMetricTest" into nextgenv2

8 years agoAdd shift stage for PSNRHVS computation
Yaowu Xu [Mon, 22 Feb 2016 18:22:42 +0000 (10:22 -0800)]
Add shift stage for PSNRHVS computation

This commit adds the ability to shift down the working buffer when
source bit_depth is different than working bit_depth. It does so
by shift down to be consistent with source bit_depth.

Change-Id: Idfdbfc614d73fe445d62e35e642cc7d75e9dc4ff

8 years agoPort "Better workaround for Bug 1089." to vp10 (nextgenv2).
Alex Converse [Wed, 17 Feb 2016 22:24:46 +0000 (14:24 -0800)]
Port "Better workaround for Bug 1089." to vp10 (nextgenv2).

Don't initialize first pass costs for a number of symbols where first
pass probabilities aren't initialized.

As a side effect, an illegal read in the ANS experiment is fixed.

https://bugs.chromium.org/p/webm/issues/detail?id=1089

Change-Id: I97438c357bd88f52f5a15c697031cf0c3cc8f510

8 years agoMerge "Unify motion vector cost system" into nextgenv2
Jingning Han [Mon, 22 Feb 2016 17:37:59 +0000 (17:37 +0000)]
Merge "Unify motion vector cost system" into nextgenv2

8 years agoMerge "Account context based prob model for motion vector cost estimate" into nextgenv2
Jingning Han [Mon, 22 Feb 2016 17:37:41 +0000 (17:37 +0000)]
Merge "Account context based prob model for motion vector cost estimate" into nextgenv2

8 years agoMerge "Vectorize motion vector probability models" into nextgenv2
Jingning Han [Mon, 22 Feb 2016 17:37:28 +0000 (17:37 +0000)]
Merge "Vectorize motion vector probability models" into nextgenv2

8 years agoMerge "Store predicted motion vectors" into nextgenv2
Jingning Han [Mon, 22 Feb 2016 17:14:05 +0000 (17:14 +0000)]
Merge "Store predicted motion vectors" into nextgenv2

8 years agoMove psnrhvs function declaration to psnr.h
Yaowu Xu [Mon, 22 Feb 2016 02:49:01 +0000 (18:49 -0800)]
Move psnrhvs function declaration to psnr.h

From "ssim.h"

Change-Id: Ie53378794149ef8a844b4eb47ad4f08579de4b60

8 years agoUnify motion vector cost system
Jingning Han [Fri, 19 Feb 2016 19:53:24 +0000 (11:53 -0800)]
Unify motion vector cost system

This commit unifies the motion vector cost buffers for full pixel
and sub-pixel motion search. The new motion vector coding system
provides 0.5% coding gains for 720p and above sequences and 0.2%
for lower resolution sets.

Change-Id: I927ec81eadc39d11a3c12b375221a1ddd2e8bf24

8 years agoExtend HBDMetricTest
Yaowu Xu [Sun, 21 Feb 2016 05:13:11 +0000 (21:13 -0800)]
Extend HBDMetricTest

This commit extends the HBDMetricTests to handle testing for metric
computation where input source depth is different from working bit
depth.

Change-Id: I5d11101cc9603a3fd09e8439816bb982a0f1b654

8 years agoFix 12 TAP convolution bug
Angie Chiang [Sat, 20 Feb 2016 03:31:38 +0000 (19:31 -0800)]
Fix 12 TAP convolution bug

Priviously, we do 12-tap interpolation even there is no sub pixel,
This could cause a bug becuase decoder doesn't extend border when there
is no sub pixel. In this situation, if we still do interpolation, we
will access the border extension which doesn't exist and cause a
memory error

Change-Id: I55b879722f0a10c5d13261bd9617a75c826a2418

8 years agoAccount context based prob model for motion vector cost estimate
Jingning Han [Fri, 19 Feb 2016 18:41:04 +0000 (10:41 -0800)]
Account context based prob model for motion vector cost estimate

This commit accounts for the context based probability model for
motion vector cost estimate in rate-distortion optimization.

Change-Id: Ia068a9395dcb4ecc348f128b17b8d24734660b83

8 years agoMerge "Initial SSE2 function fdst4_sse2()." into nextgenv2
Yi Luo [Sat, 20 Feb 2016 00:31:31 +0000 (00:31 +0000)]
Merge "Initial SSE2 function fdst4_sse2()." into nextgenv2

8 years agoVectorize motion vector probability models
Jingning Han [Thu, 18 Feb 2016 19:57:44 +0000 (11:57 -0800)]
Vectorize motion vector probability models

This commit converts the scalar motion vector probability model
into vector format for later precise estimate.

Change-Id: I7008d047ecc1b9577aa8442b4db2df312be869dc

8 years agoStore predicted motion vectors
Jingning Han [Thu, 18 Feb 2016 00:10:38 +0000 (16:10 -0800)]
Store predicted motion vectors

Change-Id: I51307a217eeba14dbdaa2522be474530316a4faa

8 years agoInitial SSE2 function fdst4_sse2().
Yi Luo [Wed, 17 Feb 2016 22:49:28 +0000 (14:49 -0800)]
Initial SSE2 function fdst4_sse2().

Applied DST sse2 to 4x4 transform.

Fixed DST coefficient packing to satisfy 4x4 transpose requirement.

Change-Id: I9164714c77049523dbbc9e145ebb10d7911fba9d

8 years agoMerge "Properly normalize HBD sse computation" into nextgenv2
Yaowu Xu [Fri, 19 Feb 2016 02:26:47 +0000 (02:26 +0000)]
Merge "Properly normalize HBD sse computation" into nextgenv2

8 years agoProperly normalize HBD sse computation
Yaowu Xu [Thu, 18 Feb 2016 23:42:19 +0000 (15:42 -0800)]
Properly normalize HBD sse computation

This fixes a bug in HBD sum of squared error computation introduced
in  #abd00505d1c658cc106bad51369197270a299f92.

Change-Id: I9d4e8627eb8ea491bac44794c40c7f1e6ba135dc

8 years agoMerge "Speed-up for ext-intra" into nextgenv2
Hui Su [Thu, 18 Feb 2016 23:12:45 +0000 (23:12 +0000)]
Merge "Speed-up for ext-intra" into nextgenv2

8 years agoMerge "cost_coeff speed improvements" into nextgenv2
Debargha Mukherjee [Thu, 18 Feb 2016 19:31:18 +0000 (19:31 +0000)]
Merge "cost_coeff speed improvements" into nextgenv2

8 years agoSpeed-up for ext-intra
hui su [Thu, 4 Feb 2016 22:05:22 +0000 (14:05 -0800)]
Speed-up for ext-intra

-Avoid unnecessary calculations
-Use SIMD when possible

Encoder is about 5% faster with the extra intra prediction angles
enabled.

Change-Id: I131056befe327cedab217ad4a40d5f2a11318acc

8 years agocost_coeff speed improvements
Julia Robson [Wed, 17 Feb 2016 15:52:31 +0000 (15:52 +0000)]
cost_coeff speed improvements

Preliminary tests indicated that these changes make cost_coeffs
approximately 20% faster which is a 2% improvement overall

Change-Id: Iaf013ba75884415cd824e98349f654ffb1c3ef33

8 years agoMerge "Add tests for Highbitdepth PSNR metric computations" into nextgenv2
Yaowu Xu [Thu, 18 Feb 2016 01:01:00 +0000 (01:01 +0000)]
Merge "Add tests for Highbitdepth PSNR metric computations" into nextgenv2

8 years agoMerge "Move PSNR related functions into vpx_dsp/psnr.c" into nextgenv2
Yaowu Xu [Thu, 18 Feb 2016 01:00:54 +0000 (01:00 +0000)]
Merge "Move PSNR related functions into vpx_dsp/psnr.c" into nextgenv2

8 years agoAdd tests for Highbitdepth PSNR metric computations
Yaowu Xu [Wed, 17 Feb 2016 20:38:54 +0000 (12:38 -0800)]
Add tests for Highbitdepth PSNR metric computations

Change-Id: I07324155f73bbdbe25bb7a7ccd587ebf9010ac7a

8 years agoMove PSNR related functions into vpx_dsp/psnr.c
Yaowu Xu [Wed, 17 Feb 2016 16:42:56 +0000 (08:42 -0800)]
Move PSNR related functions into vpx_dsp/psnr.c

This makes all metric computation to locate at some place, also gets
rid of duplicate code between vp9 and vp10.

Change-Id: I24a2707d183a2419cd18a8343010adae185ffcd4

8 years agoMerge "Fix enc/dec mismatch in dynamic mv referenceing experiment" into nextgenv2
Jingning Han [Wed, 17 Feb 2016 19:03:13 +0000 (19:03 +0000)]
Merge "Fix enc/dec mismatch in dynamic mv referenceing experiment" into nextgenv2

8 years agoMerge "Extends ext-tx to support 32x32 masked transforms" into nextgenv2
Debargha Mukherjee [Wed, 17 Feb 2016 18:33:10 +0000 (18:33 +0000)]
Merge "Extends ext-tx to support 32x32 masked transforms" into nextgenv2

8 years agoExtends ext-tx to support 32x32 masked transforms
Debargha Mukherjee [Sat, 13 Feb 2016 00:44:33 +0000 (16:44 -0800)]
Extends ext-tx to support 32x32 masked transforms

Adds new 32x32 masked 1-d transforms that combine 1-D length-16
DCT with length-16 identity transforms.

To be continued in subsequent patches.

Change-Id: I0b4f66492d44c079b3c3b531ba48a97201de1484

8 years agoFix enc/dec mismatch in dynamic mv referenceing experiment
Jingning Han [Wed, 17 Feb 2016 17:27:08 +0000 (09:27 -0800)]
Fix enc/dec mismatch in dynamic mv referenceing experiment

This commit fixes an enc/dec mismatch in the dynamic motion vector
referencing experiment introduced in 837ef00.

Change-Id: I9fbe116fce118a80ef0f96bf41ce1f802547c2ee

8 years agoMerge branch 'master' into nextgenv2
Yaowu Xu [Wed, 17 Feb 2016 15:23:58 +0000 (07:23 -0800)]
Merge branch 'master' into nextgenv2

8 years agoFixing a bug in obmc prediction in the rd loop
Yue Chen [Tue, 16 Feb 2016 20:22:11 +0000 (12:22 -0800)]
Fixing a bug in obmc prediction in the rd loop

This bug made the rd loop use one-side obmc (compound of the current
predictor and the predictors of the left mi's, while the above ones
are ignored by mistake) to determine whether to use obmc. This fix
improved the compression performance by ~0.6% on different test sets.

Coding gain (%) of obmc experiment on derflr/derfhd/hevcmr/hevchd:
1.568/TBD/1.628/TBD

Change-Id: I43b239bedf9a8eebfd02315b1b036e140a998140

8 years agoMerge "Tweak encoding flags for supertx." into nextgenv2
Debargha Mukherjee [Tue, 16 Feb 2016 22:10:30 +0000 (22:10 +0000)]
Merge "Tweak encoding flags for supertx." into nextgenv2

8 years agovp9-real-time mode: Fix condition for allowing reference masking.
Marco [Tue, 16 Feb 2016 16:40:23 +0000 (08:40 -0800)]
vp9-real-time mode: Fix condition for allowing reference masking.

Add frame-level condition for reference masking: under external or
internal dynamic resize, allow for reference masking if none of
the references have been scaled.
Peviously, reference masking was turned off for the stream if dynamic
resize feature was enabled or an external resize event occurred.

reference_masking gives speed up with little/no loss in compression.
For speed 7 on rtc set: encoding time decreases by about 5-7%,
avgPSNR/SSIM goes down ~0.2%.

Change-Id: Ie4444577451ef954414d8fb4b2c99d65cadf1746

8 years agoMerge "Fix tsan error in VP9 sub8x8 intra mode search"
James Zern [Tue, 16 Feb 2016 20:26:41 +0000 (20:26 +0000)]
Merge "Fix tsan error in VP9 sub8x8 intra mode search"

8 years agoMerge "Code cleanup: remove redundant DST1 code" into nextgenv2
Debargha Mukherjee [Tue, 16 Feb 2016 19:43:25 +0000 (19:43 +0000)]
Merge "Code cleanup: remove redundant DST1 code" into nextgenv2

8 years agoTweak encoding flags for supertx.
Geza Lore [Tue, 9 Feb 2016 18:15:17 +0000 (18:15 +0000)]
Tweak encoding flags for supertx.

Change-Id: I46f69d3a176897294d33c3f6d30b23c75b6267a8

8 years agoFix tsan error in VP9 sub8x8 intra mode search
Jingning Han [Thu, 11 Feb 2016 20:36:49 +0000 (12:36 -0800)]
Fix tsan error in VP9 sub8x8 intra mode search

This commit fixes issue 1141. The issue was triggered in multi-tile
encoding. The change properly saves and restores the block context
information in the real-time mode selection process. It removes
several redundant memcpy operations in sub8x8 intra block mode search.

Change-Id: I35c9ad197f4bd500ec39b5fc833f052f19eee010

8 years agoCode cleanup: remove redundant DST1 code
Debargha Mukherjee [Tue, 16 Feb 2016 18:36:02 +0000 (10:36 -0800)]
Code cleanup: remove redundant DST1 code

Removes the USE_DST2 flag that was on by default. DST2 performs
slightly better that DST1 and is faster to compute.

Change-Id: Ifb788f3f0a0e1995d7625230cec144b876f01206

8 years agoMerge "Add a speed feature to skip transform type selection" into nextgenv2
Hui Su [Tue, 16 Feb 2016 18:31:18 +0000 (18:31 +0000)]
Merge "Add a speed feature to skip transform type selection" into nextgenv2

8 years agoMerge "Further supertx costing fixes." into nextgenv2
Debargha Mukherjee [Tue, 16 Feb 2016 18:02:24 +0000 (18:02 +0000)]
Merge "Further supertx costing fixes." into nextgenv2

8 years agoMerge "Fix double counting of compound reference bit cost." into nextgenv2
Debargha Mukherjee [Tue, 16 Feb 2016 17:55:48 +0000 (17:55 +0000)]
Merge "Fix double counting of compound reference bit cost." into nextgenv2

8 years agoMerge "vp9-resize: Fix an issue with external dynamic resize."
Marco Paniconi [Tue, 16 Feb 2016 16:18:42 +0000 (16:18 +0000)]
Merge "vp9-resize: Fix an issue with external dynamic resize."

8 years agoAdd optimized vpx_sum_squares_2d_i16 for vp10.
Geza Lore [Fri, 12 Feb 2016 16:04:35 +0000 (16:04 +0000)]
Add optimized vpx_sum_squares_2d_i16 for vp10.

Using this we can eliminate large numbers of calls to predict intra,
and is also faster than most of the variance functions it replaces.
This is an equivalence transform so coding performance is unaffected.

Encoder speedup is approx 7% when var_tx, super_tx and ext_tx are all
enabled.

Change-Id: I0d4c83afc4a97a1826f3abd864bd68e41bb504fb

8 years agoMerge changes from topic 'unused-params'
James Zern [Sat, 13 Feb 2016 01:03:45 +0000 (01:03 +0000)]
Merge changes from topic 'unused-params'

* changes:
  tests: quiet some unused parameter warnings
  vp9_error_block_test: prefer EXPECT over assert()
  vp9_encoder_parms_get_to_decoder: add missing initializers
  vpxenc: quiet unused param warning
  vpx_ve_predictor_4x4_c: quiet unused param warning

8 years agovp9-resize: Fix an issue with external dynamic resize.
Marco [Wed, 10 Feb 2016 19:39:04 +0000 (11:39 -0800)]
vp9-resize: Fix an issue with external dynamic resize.

External dynamic resize with swapping width and height was
not handled properly.
Fix is to re-init loop-filter under certain condtions.

Modify unittest to test this case.
Without this change test will fail.

Relates to: https://bugs.chromium.org/p/webm/issues/detail?id=1140

Change-Id: I7d81ca7fe0783b3bc103a52a7b7cf073a96be26e

8 years agoOverlapped block motion compensation experiment
Yue Chen [Wed, 27 Jan 2016 22:18:53 +0000 (14:18 -0800)]
Overlapped block motion compensation experiment

In this experiment, an obmc inter prediction mode is enabled for
>= 8X8 inter blocks. When the obmc flag is on, the regular block-
based motion compensation will be refined by using predictors of
the above and left blocks.
Fixed some compatibility issues with vp9_highbitdepth, supertx,
ref_mv, and ext_interp.

Coding gain (%) on derflr/hevcmr/hevchd
OBMC:
1.047/1.022/0.708
OBMC + SUPERTX:
1.652/1.616/1.137
SUPERTX:
0.862/0.779/0.630

Change-Id: I5d8d3c4729c6d3ccb03ec7034563107893103b7f

8 years agoMerge "Port switch to 9-bit rate cost to vp10." into nextgenv2
Alex Converse [Fri, 12 Feb 2016 21:15:34 +0000 (21:15 +0000)]
Merge "Port switch to 9-bit rate cost to vp10." into nextgenv2

8 years agoFurther supertx costing fixes.
Geza Lore [Tue, 9 Feb 2016 13:18:31 +0000 (13:18 +0000)]
Further supertx costing fixes.

Change-Id: I85897168c7fda3fd79daaba985b6607fd7df476b

8 years agoMerge "Refactor vp10_drl_idx concept" into nextgenv2
Jingning Han [Fri, 12 Feb 2016 19:39:44 +0000 (19:39 +0000)]
Merge "Refactor vp10_drl_idx concept" into nextgenv2

8 years agoMerge "Adding loop wiener restoration" into nextgenv2
Debargha Mukherjee [Fri, 12 Feb 2016 19:32:18 +0000 (19:32 +0000)]
Merge "Adding loop wiener restoration" into nextgenv2

8 years agoAdding loop wiener restoration
Debargha Mukherjee [Tue, 9 Feb 2016 20:24:33 +0000 (12:24 -0800)]
Adding loop wiener restoration

Adds a wiener filter based restoration scheme in loop which can
be optionally selected instead of the bilateral filter.

The LMMSE filter generated per frame is a separable symmetric 7
tap filter. Three parameters for each of horizontal and vertical
filters are transmitted in the bitstream. The fourth parameter
is obtained assuming the sum is normalized to 1.
Also integerizes the bilateral filters, along with other
refactoring necessary in order to support the new switchable
restoration type framework.

derflr: -0.75% BDRATE

[A lot of videos still prefer bilateral, however since many frames
now use the simpler separable filter, the decoding speed is
much better].

Further experiments to follow, related to replacing the bilateral.

Change-Id: I6b1879983d50aab7ec5647340b6aef6b22299636

8 years agoMerge branch 'masterbase' into nextgenv2
Yaowu Xu [Fri, 12 Feb 2016 17:19:30 +0000 (09:19 -0800)]
Merge branch 'masterbase' into nextgenv2

Conflicts:
vp10/encoder/rdopt.c

Change-Id: If720e7f9810378d24bf9fd51a95fd29c3bc5d774

8 years agoMerge "Refactor internal stats code" into nextgenv2
Yaowu Xu [Fri, 12 Feb 2016 16:37:16 +0000 (16:37 +0000)]
Merge "Refactor internal stats code" into nextgenv2

8 years agoRefactor internal stats code
Yaowu Xu [Fri, 5 Feb 2016 23:41:32 +0000 (15:41 -0800)]
Refactor internal stats code

Also removed the use of postprocessing in computing internal stats.

Change-Id: Ib8fdbdfe7b7ca05cd1a034a373aa7762fa44323c

8 years agoMerge "Enable computing PSNRHVS for hbd build" into nextgenv2
Yaowu Xu [Fri, 12 Feb 2016 15:24:28 +0000 (15:24 +0000)]
Merge "Enable computing PSNRHVS for hbd build" into nextgenv2

8 years agotests: quiet some unused parameter warnings
James Zern [Fri, 12 Feb 2016 02:27:00 +0000 (18:27 -0800)]
tests: quiet some unused parameter warnings

Change-Id: Iff8b0d77234f78bf407676891bccad92825bfcc6

8 years agovp9_error_block_test: prefer EXPECT over assert()
James Zern [Fri, 12 Feb 2016 03:07:25 +0000 (19:07 -0800)]
vp9_error_block_test: prefer EXPECT over assert()

Change-Id: Id523448bac903999934370f7b06a5c316f11a966

8 years agovp9_encoder_parms_get_to_decoder: add missing initializers
James Zern [Fri, 12 Feb 2016 02:52:45 +0000 (18:52 -0800)]
vp9_encoder_parms_get_to_decoder: add missing initializers

+ quiet an unused parameter warning

Change-Id: I65f69172febb4e0701d3e440b7e1fb31829cda57

8 years agovpxenc: quiet unused param warning
James Zern [Fri, 12 Feb 2016 02:53:50 +0000 (18:53 -0800)]
vpxenc: quiet unused param warning

Change-Id: Ib6ed1b8c03f6c269f8d667b21b895b35363cee9e

8 years agovpx_ve_predictor_4x4_c: quiet unused param warning
James Zern [Fri, 12 Feb 2016 02:31:40 +0000 (18:31 -0800)]
vpx_ve_predictor_4x4_c: quiet unused param warning

Change-Id: I62234260e2d2de94d602c6d8095c8f8124334052

8 years agovp10_receive_raw_frame: add missing setjmp
James Zern [Fri, 12 Feb 2016 02:09:33 +0000 (18:09 -0800)]
vp10_receive_raw_frame: add missing setjmp

allocations done within this function are protected with
vpx_internal_error; adding the setjmp fixes a crash in
vp10_lookahead_push() under low memory conditions.

Change-Id: I5515017cd71b218840c506791b3a517da7ffc93e

8 years agovp9_receive_raw_frame: add missing setjmp
James Zern [Fri, 12 Feb 2016 02:05:31 +0000 (18:05 -0800)]
vp9_receive_raw_frame: add missing setjmp

allocations done within this function are protected with
vpx_internal_error; adding the setjmp fixes a crash in
vp9_lookahead_push() under low memory conditions.

Change-Id: I4b79dca37cc7fadc4b7633f0db44c0e406799bc6

8 years agoRefactor vp10_drl_idx concept
Jingning Han [Fri, 12 Feb 2016 00:38:13 +0000 (16:38 -0800)]
Refactor vp10_drl_idx concept

Remove the implicit assumption on offsetting the index by 1.

Change-Id: I6f1d391e067d57b7e45b9287e866014dbc16da71

8 years agoMerge "Complete high bitdepth VAR_TX implementation." into nextgenv2
Debargha Mukherjee [Fri, 12 Feb 2016 00:16:18 +0000 (00:16 +0000)]
Merge "Complete high bitdepth VAR_TX implementation." into nextgenv2

8 years agoMerge "Refactor: add predict_interp_filter() to simplify the flow in handle_inter_mod...
Angie Chiang [Fri, 12 Feb 2016 00:16:12 +0000 (00:16 +0000)]
Merge "Refactor: add predict_interp_filter() to simplify the flow in handle_inter_mode" into nextgenv2

8 years agoEnable computing PSNRHVS for hbd build
Yaowu Xu [Fri, 5 Feb 2016 21:03:47 +0000 (13:03 -0800)]
Enable computing PSNRHVS for hbd build

This commit adds computation of PSNRHVS for highbitdepth build, it
also adds tests to make sure the calculation of psnrhvs metric for
10 and 12 bit correct.

Change-Id: Iac8a8073d2b3e3ba5d368829d770793212fa63b6

8 years agoRemove redundant parameters from vp10_txfm_rd_in_plane_supertx()
Jingning Han [Thu, 11 Feb 2016 19:14:55 +0000 (11:14 -0800)]
Remove redundant parameters from vp10_txfm_rd_in_plane_supertx()

Change-Id: Icb164403239f88f18fd64de75d4881d33d3ab1cc

8 years agoAlign rate-distortion cost metric for chroma compoments
Jingning Han [Thu, 11 Feb 2016 17:41:06 +0000 (09:41 -0800)]
Align rate-distortion cost metric for chroma compoments

This commit aligns the rate-distortion metrics for both luma and
chroma components in super transform rate-distortion optimization.
It improves the coding gains due to var-tx and supertx experiments
by 0.2% for high resolution test sets.

Change-Id: Ib89d99e29cb5ee27b1f867e301954d4164d8b364

8 years agoFormat clean-ups in transform experiments
Jingning Han [Wed, 10 Feb 2016 19:33:37 +0000 (11:33 -0800)]
Format clean-ups in transform experiments

Change-Id: Ib2843cb03ae452ce9fec3a94c709431ea0202d8b

8 years agoPort switch to 9-bit rate cost to vp10.
Alex Converse [Wed, 10 Feb 2016 22:12:26 +0000 (14:12 -0800)]
Port switch to 9-bit rate cost to vp10.

Brings the following commits to vp10:
269428e Tie the bit cost scale to a define.
d13385c Switch to 9-bit rate cost constants built on a 256 probability denominator.
ad43a73 Fix a signed overflow in vp9 motion cost.
1c9b091 Fix some interger overflow errors
fac947d Restore previous motion search bit-error scale.

Change-Id: I598ba7ee7efcde18439c31dfa96b86cbf297a580

8 years agovp9-resize: Force reference masking off for external dynamic-resizing.
Marco [Thu, 11 Feb 2016 00:59:09 +0000 (16:59 -0800)]
vp9-resize: Force reference masking off for external dynamic-resizing.

An issue exists with reference_masking in non-rd pickmode for spatial
scaling. It was kept off for internal dynamic resizing and svc, this
change is to keep it off also for external dynamic resizing.

Update to external resize test, and update TODO to re-enable this
at frame level when references have same scale as source.

Change-Id: If880a643572127def703ee5b2d16fd41bdbf256c

8 years agoComplete high bitdepth VAR_TX implementation.
Geza Lore [Fri, 22 Jan 2016 13:57:28 +0000 (13:57 +0000)]
Complete high bitdepth VAR_TX implementation.

VAR_TX now works in the high bitdepth configuration.

Change-Id: I4114d7d9ed59c598f1e4d35b8e75876c07074ba7

8 years agoMerge "Enable computing of FastSSIM for HBD build" into nextgenv2
Yaowu Xu [Thu, 11 Feb 2016 05:43:55 +0000 (05:43 +0000)]
Merge "Enable computing of FastSSIM for HBD build" into nextgenv2

8 years agoMerge "Refactor rd_pick_intra_angle_" into nextgenv2
Hui Su [Thu, 11 Feb 2016 01:44:14 +0000 (01:44 +0000)]
Merge "Refactor rd_pick_intra_angle_" into nextgenv2

8 years agoEnable computing of FastSSIM for HBD build
Yaowu Xu [Fri, 5 Feb 2016 19:30:12 +0000 (11:30 -0800)]
Enable computing of FastSSIM for HBD build

This commit adds the computation of fastSSIM for highbitdepth build,
it also modifies the hbdmetric test to be more generic and applicable
for fastSSIM.

The 255 used for calculating ssim constants c1 and c2 is not exactly
scaled by 4x and 16x to 1023 and 4095, therefore requries the metric
test to have a thresold more tolerant than 0, currently at 0.03dB.

Change-Id: I631829da7773de400e77fc36004156e5e126c7e0

8 years agoAdding the config tag for the OBMC experiment
Yue Chen [Wed, 10 Feb 2016 23:53:08 +0000 (15:53 -0800)]
Adding the config tag for the OBMC experiment

obmc: We add an obmc prediction mode at superblock level.
When it is enabled, predictors of the above and left blocks
are used to refine the regular block-based motion compensation.

Change-Id: I6310104ea3dfece16d736351e368861471dd1c9b

8 years agoRefactor rd_pick_intra_angle_
hui su [Mon, 8 Feb 2016 18:39:17 +0000 (10:39 -0800)]
Refactor rd_pick_intra_angle_

Change-Id: I6c78188bdedb52655678c63f6a767567b256a880

8 years agoRefactor: add predict_interp_filter() to
Angie Chiang [Wed, 10 Feb 2016 22:20:56 +0000 (14:20 -0800)]
Refactor: add predict_interp_filter() to
simplify the flow in handle_inter_mode

Change-Id: Ic7934c0a5d0a79bdf546b4d2d106035449b475a6

8 years agovp9 resize_test: Enable resize_allowed in real-time ExternalResize test.
Marco [Wed, 10 Feb 2016 23:18:26 +0000 (15:18 -0800)]
vp9 resize_test: Enable resize_allowed in real-time ExternalResize test.

For dynamic resizing (whether the new codec size is determined internally
or externally set by user), we should for now keep rc.resize_allowed enabled.
This prevent the use of referene_masking for real-time mode
(in set_rt_speed_feature()).

Change-Id: Ibb7c3ff35be88afdf1a3c6db6693521766f177a3

8 years agoAdd a speed feature to skip transform type selection
hui su [Wed, 10 Feb 2016 18:52:14 +0000 (10:52 -0800)]
Add a speed feature to skip transform type selection

Setting FIXED_TX_TYPE as 1 makes the encoder skip tx_type search,
about twice as fast.

This speed feature is off by defualt; we can turn it on when we
want to quickly test new ideas.

Change-Id: Ieab5807d17fcd54fce3e8ae2f59a18b42eb79408