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

8 years agoMerge "Add a test for VPXSSIM computation for HBD inputs" into nextgenv2
Yaowu Xu [Wed, 10 Feb 2016 22:50:41 +0000 (22:50 +0000)]
Merge "Add a test for VPXSSIM computation for HBD inputs" into nextgenv2

8 years agoMerge "fix range_check error in vp10_[fwd/inv]_txfm1d.c" into nextgenv2
Angie Chiang [Wed, 10 Feb 2016 21:21:56 +0000 (21:21 +0000)]
Merge "fix range_check error in vp10_[fwd/inv]_txfm1d.c" into nextgenv2

8 years agoAdd a test for VPXSSIM computation for HBD inputs
Yaowu Xu [Tue, 9 Feb 2016 18:35:15 +0000 (10:35 -0800)]
Add a test for VPXSSIM computation for HBD inputs

Change-Id: I61dc0f43d073b62d0eab8cd7471c2d76e03379bf

8 years agoVP9: Pass NULL scale_factors ptr when not scaling
Scott LaVarnway [Wed, 10 Feb 2016 19:43:23 +0000 (11:43 -0800)]
VP9: Pass NULL scale_factors ptr when not scaling

to vp9_setup_pre_planes(), preventing the function
unscaled_value() from being called.  unscaled_value()
returns the same value that was passed in.  See
scaled_buffer_offset() in vp9_reconinter.h.

Change-Id: I2a6fbaf07972c2f212834929d29a2cbe72e399c3

8 years agoMerge "Resolve conflict between var-tx and super-tx" into nextgenv2
Jingning Han [Wed, 10 Feb 2016 18:54:21 +0000 (18:54 +0000)]
Merge "Resolve conflict between var-tx and super-tx" into nextgenv2

8 years agoResolve conflict between var-tx and super-tx
Jingning Han [Wed, 10 Feb 2016 01:51:49 +0000 (17:51 -0800)]
Resolve conflict between var-tx and super-tx

This commit aligns the rate-distortion metric for the recursive
transform block partitioning and the super transform. It resolves
the conflicts between these two experiments. The coding performance
gains of the combined experiments (var-tx + super-tx) has been
improved:

derf   0.89%  ->  1.9%
hevcmr 1.06%  ->  1.8%
stdhd  0.29%  ->  1.4%
hevchr 0.80%  ->  2.3%

Change-Id: I7e33994ad70c1b2751435620815f867d82172f41

8 years agoMerge "Remove redundant void statement" into nextgenv2
Jingning Han [Wed, 10 Feb 2016 16:50:18 +0000 (16:50 +0000)]
Merge "Remove redundant void statement" into nextgenv2

8 years agoMerge "Replace arbitrary number with defs" into nextgenv2
Jingning Han [Wed, 10 Feb 2016 16:50:04 +0000 (16:50 +0000)]
Merge "Replace arbitrary number with defs" into nextgenv2

8 years agoMerge "Entropy coding for dynamic ref mv modes" into nextgenv2
Jingning Han [Wed, 10 Feb 2016 16:49:45 +0000 (16:49 +0000)]
Merge "Entropy coding for dynamic ref mv modes" into nextgenv2

8 years agoFix double counting of compound reference bit cost.
Geza Lore [Wed, 10 Feb 2016 13:34:39 +0000 (13:34 +0000)]
Fix double counting of compound reference bit cost.

These costs are added in separately just before the computed
ref_costs_* are added in the calling functions, so they were
effectively double counted.

Change-Id: Ic941d0243460cc2e750791cfc508e97d8b90e8fd

8 years agoMerge "VP9: Refactor read_inter_block_mode_info() -- 2"
Scott LaVarnway [Wed, 10 Feb 2016 12:59:41 +0000 (12:59 +0000)]
Merge "VP9: Refactor read_inter_block_mode_info() -- 2"

8 years agoRemove redundant void statement
Jingning Han [Tue, 9 Feb 2016 23:41:39 +0000 (15:41 -0800)]
Remove redundant void statement

Change-Id: Ia9ccba156a8a3ada6928be53eb6258fb68b6c9f1

8 years agoReplace arbitrary number with defs
Jingning Han [Tue, 9 Feb 2016 23:31:27 +0000 (15:31 -0800)]
Replace arbitrary number with defs

Change-Id: Ia5a68f26c67d13d3f2dd3b3f8afabb781e2c8f73

8 years agoMerge "intrapred/d135: flatten border results before storing"
James Zern [Wed, 10 Feb 2016 02:41:31 +0000 (02:41 +0000)]
Merge "intrapred/d135: flatten border results before storing"

8 years agoMerge "vp8: fix build with mingw+pthreads"
James Zern [Wed, 10 Feb 2016 02:40:12 +0000 (02:40 +0000)]
Merge "vp8: fix build with mingw+pthreads"

8 years agoMerge "Restore previous motion search bit-error scale."
Alex Converse [Wed, 10 Feb 2016 01:21:01 +0000 (01:21 +0000)]
Merge "Restore previous motion search bit-error scale."

8 years agofix range_check error in vp10_[fwd/inv]_txfm1d.c
Angie Chiang [Wed, 10 Feb 2016 00:01:11 +0000 (16:01 -0800)]
fix range_check error in vp10_[fwd/inv]_txfm1d.c

Change-Id: I7a810323fc33fb6d373c3f5bb4d5d0d33170948c

8 years agoRemove C99 struct init syle in fwd/inv config
Angie Chiang [Tue, 9 Feb 2016 23:38:27 +0000 (15:38 -0800)]
Remove C99 struct init syle in fwd/inv config

Change-Id: Ieeb458353af6c903445518eef60328c62ca5c741

8 years agoVP9: Refactor read_inter_block_mode_info() -- 2
Scott LaVarnway [Tue, 9 Feb 2016 23:36:01 +0000 (15:36 -0800)]
VP9: Refactor read_inter_block_mode_info() -- 2

Change-Id: I96d4764523b8d634eafb4cb3ed6eb3aee4052573

8 years agoMerge "Fix partition type costing." into nextgenv2
Jingning Han [Tue, 9 Feb 2016 22:31:14 +0000 (22:31 +0000)]
Merge "Fix partition type costing." into nextgenv2

8 years agoRestore previous motion search bit-error scale.
Alex Converse [Mon, 1 Feb 2016 18:02:54 +0000 (10:02 -0800)]
Restore previous motion search bit-error scale.

The bit to error transformation got doubled as a result of going from
8-bit to 9-bit costs (change d13385c).

Use defines to derive the scale numbers and comment some of the fields.

derf: -0.023 BDRATE
hevcmr: +0.067 BDRATE
stdhd: +0.098 BDRATE
(These are substantially smaller than than the original gains from 8 to
9 bit costing.)

Change-Id: I6a2b3b029b2f1415e4f90a05709b2333ec0eea9b

8 years agovp9-dynamic resize: Fix bug on releasing scaled reference.
Marco [Mon, 8 Feb 2016 18:41:13 +0000 (10:41 -0800)]
vp9-dynamic resize: Fix bug on releasing scaled reference.

When the codec frame size is the same as the reference frame size,
release the scaled reference before assigning it a new buf_idx.
Only affects 1 pass non-svc mode, where the scaled references are
release only under certain conditions (to prevent un-needed scaling
of the references every frame).

Modified a unittest that can trigger this bug without this change.

https://code.google.com/p/chromium/issues/detail?id=582598

Change-Id: I9a884e36ebd7608b1641ec2a469e20a4f829cf43

8 years agovp9-aq-mode=3: Reset cyclic refresh under config/external size change.
Marco [Mon, 8 Feb 2016 22:28:41 +0000 (14:28 -0800)]
vp9-aq-mode=3: Reset cyclic refresh under config/external size change.

If the application changes frame size (external size changes),
and aq-mode=3 is on, reset the cyclic refresh.

Modify the TestExternalResize unittest (longer run with more resize
actions). Without this change an assert would be triggered on this
longer test.

Change-Id: I0eefd2cd7ffa0c557cca96ae30d607034a2599ce

8 years agoMerge "A variety of fixes for supertx/var-tx rd costing" into nextgenv2
Debargha Mukherjee [Tue, 9 Feb 2016 17:16:23 +0000 (17:16 +0000)]
Merge "A variety of fixes for supertx/var-tx rd costing" into nextgenv2

8 years agoMerge "Set use_highbitdepth flag to either 1 or 0"
Yaowu Xu [Tue, 9 Feb 2016 16:57:28 +0000 (16:57 +0000)]
Merge "Set use_highbitdepth flag to either 1 or 0"

8 years agoMerge "BUG FIX: undefined reference to `vp9_scale_and_extend_frame_c'"
Scott LaVarnway [Tue, 9 Feb 2016 14:52:03 +0000 (14:52 +0000)]
Merge "BUG FIX: undefined reference to `vp9_scale_and_extend_frame_c'"

8 years agoFix partition type costing.
Geza Lore [Tue, 9 Feb 2016 10:17:22 +0000 (10:17 +0000)]
Fix partition type costing.

This patch makes rd optimization use the same context for computing
the rate cost of coding the partitioning as the packer actually uses
when emitting it in write_modes_sb.

Change-Id: Idb1427bb2f9c37ab80c6aa182f7ff754ef0595cb

8 years agoA variety of fixes for supertx/var-tx rd costing
Debargha Mukherjee [Mon, 8 Feb 2016 17:34:43 +0000 (09:34 -0800)]
A variety of fixes for supertx/var-tx rd costing

Change-Id: I8a3d59378abb1dfa4e614b2975c2db05d4224bd5

8 years agoMerge "Fix a bug in HBD buffer size computation" into nextgenv2
Yaowu Xu [Tue, 9 Feb 2016 04:40:46 +0000 (04:40 +0000)]
Merge "Fix a bug in HBD buffer size computation" into nextgenv2

8 years agoSet use_highbitdepth flag to either 1 or 0
Yaowu Xu [Tue, 9 Feb 2016 04:13:19 +0000 (20:13 -0800)]
Set use_highbitdepth flag to either 1 or 0

This reduces the buffer allocation size for high bit depth buffers by
more than 70%.

Change-Id: Iab9007d9684e8ac30ce7fa94e61f038f01792fc5

8 years agoFix a bug in HBD buffer size computation
Yaowu Xu [Tue, 9 Feb 2016 02:31:30 +0000 (18:31 -0800)]
Fix a bug in HBD buffer size computation

The value of use_highbitdepth flag is used for compute the size for
high bit depth buffer allocation, which should take value 0 or 1
depending on if the buffer is used for high bit depth or not.
Previously, the values is set to 8 or 0, this commit fixes the issue
and properly set the value for this flag to 1 or 0.

This cuts the size of highbitdepth buffer memory allocation to 2/9 of
the size prior to the fix.

Change-Id: I401518b5a6147e5d8a973e54f7ca6bc1892065e0

8 years agoEntropy coding for dynamic ref mv modes
Jingning Han [Fri, 22 Jan 2016 02:07:31 +0000 (18:07 -0800)]
Entropy coding for dynamic ref mv modes

This commit enables entropy coding for dynamic reference motion
vector modes. The probability model is contexted on the ranking
categories of the reference motion vector candidates.

Change-Id: I09b58d98a409d63ec1a407331e29f8945b7ef17d

8 years agoExplicitly set tx_type for sub8x8 blocks
Debargha Mukherjee [Mon, 8 Feb 2016 23:59:17 +0000 (15:59 -0800)]
Explicitly set tx_type for sub8x8 blocks

Fixes an issue where the tx_type was not set correctly for
sub8x8 inter and intra blocks. In the current syntax, for
sub8x8 blocks, there is still a single tx_type that is
transmitted. Ideally, this should be searched for the best
rd performance, albeit at the expense of encode speed.
For now, we just set it to DCT_DCT. Previously it was left
incorrectly as what was used for the previous non sub8x8
block.

derflr: BDRATE -0.277%

Change-Id: If76ba903bfbfd4d374cf1ac7d1daee50e92f0edd

8 years agoExplicitly set tx_type for sub8x8 blocks
Debargha Mukherjee [Mon, 8 Feb 2016 23:59:17 +0000 (15:59 -0800)]
Explicitly set tx_type for sub8x8 blocks

Fixes an issue where the tx_type was not set correctly for
sub8x8 inter and intra blocks. In the current syntax, for
sub8x8 blocks, there is still a single tx_type that is
transmitted. Ideally, this should be searched for the best
rd performance, albeit at the expense of encode speed.
For now, we just set it to DCT_DCT. Previously it was left
incorrectly as what was used for the previous non sub8x8
block.

derflr: BDRATE -0.277%

Change-Id: If76ba903bfbfd4d374cf1ac7d1daee50e92f0edd

8 years agoMerge "Enable dynamic ref motion vector mode for compound inter block" into nextgenv2
Jingning Han [Tue, 9 Feb 2016 00:04:36 +0000 (00:04 +0000)]
Merge "Enable dynamic ref motion vector mode for compound inter block" into nextgenv2

8 years agoMerge "Change to use local variables consistently" into nextgenv2
Yaowu Xu [Mon, 8 Feb 2016 23:58:23 +0000 (23:58 +0000)]
Merge "Change to use local variables consistently" into nextgenv2

8 years agoMerge "Remove a flavor of SSIM that is never really used." into nextgenv2
Yaowu Xu [Mon, 8 Feb 2016 23:39:04 +0000 (23:39 +0000)]
Merge "Remove a flavor of SSIM that is never really used." into nextgenv2

8 years agoMerge "Set a max dB value for PSNR_HVS and FAST_SSIM" into nextgenv2
Yaowu Xu [Mon, 8 Feb 2016 23:38:57 +0000 (23:38 +0000)]
Merge "Set a max dB value for PSNR_HVS and FAST_SSIM" into nextgenv2

8 years agoMerge "Fix msvc compiler warnings" into nextgenv2
Yaowu Xu [Mon, 8 Feb 2016 23:38:48 +0000 (23:38 +0000)]
Merge "Fix msvc compiler warnings" into nextgenv2

8 years agoMerge "Normalize fdct8x8 in psnrhvs computation" into nextgenv2
Yaowu Xu [Mon, 8 Feb 2016 23:38:41 +0000 (23:38 +0000)]
Merge "Normalize fdct8x8 in psnrhvs computation" into nextgenv2

8 years agoBUG FIX: undefined reference to `vp9_scale_and_extend_frame_c'
Scott LaVarnway [Mon, 8 Feb 2016 21:42:56 +0000 (13:42 -0800)]
BUG FIX: undefined reference to `vp9_scale_and_extend_frame_c'

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

Change-Id: I778ee07dc39a524e3f729bef47a7abeed51e0cee

8 years agovp9-denoiser: Allow for checking skin for bsize <=32x32.
Marco [Mon, 8 Feb 2016 20:59:54 +0000 (12:59 -0800)]
vp9-denoiser: Allow for checking skin for bsize <=32x32.

Change-Id: I6c99ac6fd3735e24cf668479c55bff313c0b4970

8 years agoMerge "Account for sub8x8 block skip mode cost in RD decision"
Jingning Han [Mon, 8 Feb 2016 19:40:01 +0000 (19:40 +0000)]
Merge "Account for sub8x8 block skip mode cost in RD decision"

8 years agoChange to use local variables consistently
Yaowu Xu [Fri, 5 Feb 2016 16:17:01 +0000 (08:17 -0800)]
Change to use local variables consistently

This commit does not change the computation, nor results.

Change-Id: I1a7bb47050220d970f075458b507c5e55d93b22e

8 years agoEnable dynamic ref motion vector mode for compound inter block
Jingning Han [Thu, 21 Jan 2016 01:40:47 +0000 (17:40 -0800)]
Enable dynamic ref motion vector mode for compound inter block

This commit enables the dynamic reference motion vector coding mode
for the compound inter blocks.

Change-Id: Ibe78fd8de6989db392cd67a9d81a69d680345ba1

8 years agoRemove a flavor of SSIM that is never really used.
Yaowu Xu [Thu, 4 Feb 2016 22:16:56 +0000 (14:16 -0800)]
Remove a flavor of SSIM that is never really used.

Change-Id: I61ea7f63acbcfeecd3f7dba5a5a38b980efc802b

8 years agoSet a max dB value for PSNR_HVS and FAST_SSIM
Yaowu Xu [Thu, 4 Feb 2016 22:03:48 +0000 (14:03 -0800)]
Set a max dB value for PSNR_HVS and FAST_SSIM

Now set at 100.0 instead of infinite

Change-Id: I41bae0c4bd95a26f9819584e7311b7945df1271a