472 Commits

Author SHA1 Message Date
Yaowu Xu
5bb8f5b705 fix build issue with --enable-delta-q
BUG=webm:1330

Change-Id: I120ce8ea3581018b232b19ca7ffbb07d3e99d8d0
2016-11-03 09:03:39 -07:00
Jingning Han
1b5bbf8e97 Merge "Refactor recursive transform block partition search" into nextgenv2 2016-11-03 15:41:57 +00:00
Jingning Han
07cfa29031 Merge "Make bit-stream support rectangular tx_size" into nextgenv2 2016-11-03 15:41:46 +00:00
Yaowu Xu
c1ca945ce5 Merge changes from topic 'update_dering' into nextgenv2
* changes:
  Reformatting the deringing code
  Introducing OD_DERING_SIZE_LOG2 constant (3)
  Renaming deringing blockwise write-back functions to make code clearer
  Deringing refactoring: replace last_sbc with simpler dering_left flag
  Getting rid of the od_dering_in type
2016-11-03 14:03:25 +00:00
Yaowu Xu
7036aee1a4 Merge "Refactoring deringed block list code" into nextgenv2 2016-11-03 13:48:58 +00:00
Jingning Han
e60d3294ea Merge "Make recursive txfm encoding process support rectangular tx_size" into nextgenv2 2016-11-03 04:36:55 +00:00
Jingning Han
18482fe32d Refactor recursive transform block partition search
This commit refactors the recursive transform block partition
search process to make it support rectangular transform block size
coding.

Change-Id: I0207ae40d83c7eae3cb5d460e403f470747590d3
2016-11-02 17:03:09 -07:00
Jingning Han
f64062f36f Make bit-stream support rectangular tx_size
Allow the transform size writing, reading, and the reconstruction
process to support rectangular transform block size coding.

Change-Id: I57393c73ec60835a088d785ca838d7e3d7eb29a4
2016-11-02 16:24:20 -07:00
Jean-Marc Valin
39d92a071d Reformatting the deringing code
Manally removed the "clang-format off" lines. The rest is done by clang

Change-Id: I88a2028b55a541729b4e8896cdf66b544e9898bb
2016-11-02 15:51:00 -07:00
Jean-Marc Valin
e04650347c Refactoring deringed block list code
Using a struct named dlist rather than an array named bskip. Simplified some
code.

No change in output

Change-Id: Id40d40b19b5d8f2ebafe347590fa1bb8cb80e6e1
2016-11-02 15:51:00 -07:00
Jean-Marc Valin
e254241ce7 Introducing OD_DERING_SIZE_LOG2 constant (3)
Also cleans up the size of the deringing destination buffer.

No change in output.

Change-Id: I7fc50d862d3906ce809c1031bf0789acdf39cf34
2016-11-02 15:51:00 -07:00
Jean-Marc Valin
58fdec2cbf Renaming deringing blockwise write-back functions to make code clearer
No change in output.

Change-Id: Ifa5df3adce9f24ef6dcd89a5f33a744bfb57194d
2016-11-02 15:51:00 -07:00
Jean-Marc Valin
39ee109333 Getting rid of the od_dering_in type
We no longer need the deringing code to be generic wrt the input depth.

No change in output.

Change-Id: I2db2beb82f1816e611cd2c0438dff217d363de33
2016-11-02 15:51:00 -07:00
Jingning Han
1a0faab642 Merge "Remove redundant config flags from get_entropy_context" into nextgenv2 2016-11-02 22:50:49 +00:00
Jingning Han
a9336328d4 Make recursive txfm encoding process support rectangular tx_size
This commit makes the encoding process of the recursive transform
block partition support both rectangular and square transform block
sizes as the starting point. If the coding block size is rectangular,
it would allow the transform block size to start from the largest
rectangular transform size, and recursive parse to the selected
coding sizes.

Change-Id: I576628b9166565bada6a918f0a1e67849dfef4cd
2016-11-02 15:48:07 -07:00
Jean-Marc Valin
ca1eb5dc58 Duplicating deringing input superblock copy to make upcoming changes easier
No change in output

Change-Id: Iaa06043dcc31308c83f667424e5a83c2db50ed24
2016-11-02 22:46:53 +00:00
Jean-Marc Valin
8e941780be Using a uniform definition for "bsize" in deringing filter
No change in output

Change-Id: Ia3a1679aa75cb58f4bc6459791e061176eeafd52
2016-11-02 22:46:27 +00:00
Yaowu Xu
4cb9a620db Merge "De-sparsifying the deringing output buffer" into nextgenv2 2016-11-02 22:35:05 +00:00
Jean-Marc Valin
82c65fc837 De-sparsifying the deringing output buffer
No change in output

Change-Id: I940203975564aedca8734d6f74b013edb513f517
2016-11-02 22:35:00 +00:00
Jingning Han
8b5380ac77 Remove redundant config flags from get_entropy_context
The rectangular transform syntax is by default supported, hence
no need to put it under the experimental flag. This does not change
the coding statistics.

Change-Id: I3a147503d973a03400f8a86e11f07c7d754e6234
2016-11-02 11:48:39 -07:00
Jingning Han
9fe31390ca Support rectangular tx_size in the common lib
Change-Id: I4128ab932a967a3d657bb1f95f0fa2af20a06469
2016-11-02 11:48:31 -07:00
Jingning Han
4ba26dc0e1 Support rectangular transform block units in the codebase
Change-Id: I9183851258478a36dc5a4ad2d4faa3d3c8b18bd3
2016-11-02 11:47:48 -07:00
Debargha Mukherjee
deef66db01 Merge "Adding 64x64 forward and inverse transforms" into nextgenv2 2016-11-02 18:40:55 +00:00
Yaowu Xu
1af3d51685 Merge changes I313bde67,I2ddc2d70,Ifb9094c3,I9051ed6e,I5681e332, ... into nextgenv2
* changes:
  Avoid the "initial copy" in the deringing filter
  Only copy the deringed blocks back into the buffer
  Reducing copies in deringing filter
  sb_all_skip_out() now computes a list of deringed blocks
  compute bskip as we go
  Revert "Fix dering filter when using 4:2:2 or 4:4:0 subsampling"
2016-11-02 18:02:56 +00:00
Debargha Mukherjee
67d134772c Adding 64x64 forward and inverse transforms
Change-Id: I213f3111fc0656aecd1303a8b871ecded2b92bc2
2016-11-02 09:48:46 -07:00
Zoe Liu
bd163bc199 Merge "Make a small code clean on handle_inter_mode()" into nextgenv2 2016-11-02 16:39:36 +00:00
Jean-Marc Valin
bcf3580b1e Avoid the "initial copy" in the deringing filter
No change in output

Change-Id: I313bde67e59835f88e3b2e6079b0df2d7ed1a903
2016-11-02 08:23:04 -07:00
Jean-Marc Valin
3e44bccb50 sb_all_skip_out() now computes a list of deringed blocks
No change in output

Change-Id: I9051ed6e1fbca7d80412ba2b53f7aacbc3ef70eb
2016-11-02 08:22:45 -07:00
Jean-Marc Valin
71466d2288 compute bskip as we go
Change-Id: I5681e3329ad3677296161de59f5ff1236a14f086
2016-11-02 08:22:38 -07:00
Yaowu Xu
3e90f84a34 Revert "Fix dering filter when using 4:2:2 or 4:4:0 subsampling"
This reverts commit 401204a50bea8b21e5fcd721cd5db513b8f70e72.

Change-Id: Id27eadf679b0df2d2ccfab61155be29979b0b6ba
2016-11-02 08:22:02 -07:00
Yaowu Xu
f67e5eec8b Merge "Disable upsampled references for resolutions above 1080p." into nextgenv2 2016-11-02 04:28:51 +00:00
Yi Luo
7f6bf9c70d Merge "Hybrid inverse transforms 16x16 AVX2 optimization" into nextgenv2 2016-11-02 01:43:02 +00:00
Jingning Han
746e2220b5 Merge "Rework transform block partition context model" into nextgenv2 2016-11-02 01:18:13 +00:00
Thomas Daede
a9e96d4000 Disable upsampled references for resolutions above 1080p.
Upsampled references currently increase the size of references by
64 times. This patch limits the memory used by the encoder to
about 3GB when encoding high bit depth content.

This should be re-evaluated in the future, if doing 8-tap
resampling in the motion search becomes reasonably fast, or if
the upsampled references are reduced in size (by omitting some
subpel positions and interpolating them instead).

Change-Id: I6d84ff0d6202ec46f4fa53e268e68aa808e5df85
2016-11-01 17:39:16 -07:00
Jingning Han
c8b8936fdc Rework transform block partition context model
This commit allows the partition context model to account for the
maximum transform block size of the coding block.

Change-Id: I22b91e85fff70faa974afd362ce327d3f2eda81d
2016-11-01 15:00:04 -07:00
Zoe Liu
82c8c92cc5 Make a small code clean on handle_inter_mode()
Change-Id: I5fb4898045a481f7996c2ad019d2f741aab08fc7
2016-11-01 14:52:34 -07:00
Yaowu Xu
57a7baf666 Merge "Fix merge issues related --enable-ec-adapt" into nextgenv2 2016-11-01 21:07:18 +00:00
Yi Luo
7317200002 Hybrid inverse transforms 16x16 AVX2 optimization
- Add unit tests to verify the bit-exact result.
- User level time reduction (EXT_TX):
    encoder: 3.63%
    decoder: 2.36%
- Also add tx_type=V_DCT...H_FLIPADST SSE2 for 16x16 inv txfm.

Change-Id: Idc6d9e8254aa536e5f18a87fa0d37c6bd551c083
2016-11-01 13:38:20 -07:00
Yaowu Xu
8af861bbf1 Fix merge issues related --enable-ec-adapt
1. Avoid compiler warnings.
2. Enable prob_diff_update() required by update_txfm_probs().

Change-Id: I9081b645c55a8432bdaeb600e9ba901c0d0d96f5
2016-11-01 12:36:04 -07:00
Jingning Han
ce059e86fb Use get_entropy_context() in select_tx_block
Replace redundant separate handling to retrieve the context value.

Change-Id: I18dde4599cd08ffe33a78694ec377487609de1b1
2016-10-31 16:27:28 -07:00
Jingning Han
e29fc1daef Merge "Refactor max_blocks_wide/high computation" into nextgenv2 2016-10-31 22:20:16 +00:00
Jingning Han
6511159787 Merge "Replace get_tx2d_size() with direct tx_size_2d[] table access" into nextgenv2 2016-10-31 22:19:59 +00:00
Jingning Han
6491b97350 Merge "Support rectangular tx_size in recursive txfm syntax coding" into nextgenv2 2016-10-31 22:19:46 +00:00
Steinar Midtskogen
5d56f4d69a Reverse order of CLPF and dering
Low latency:
PSNR YCbCr:     -0.15%      0.11%      0.12%
   PSNRHVS:     -0.25%
      SSIM:     -0.26%
    MSSSIM:     -0.26%
 CIEDE2000:     -0.03%

High latency:
PSNR YCbCr:     -0.18%      0.18%      0.07%
   PSNRHVS:     -0.20%
      SSIM:     -0.21%
    MSSSIM:     -0.21%
 CIEDE2000:     -0.03%

Change-Id: Ieb86d9ba353220de6454bdc15cea825944b6385b
2016-10-31 12:50:11 -07:00
Jingning Han
f65b870e27 Refactor max_blocks_wide/high computation
Factor common codes that show up in multiple places.

Change-Id: I0a72213a151f74bdad926d59f86f0a28d00968fc
2016-10-31 12:39:36 -07:00
Jingning Han
7e9929736c Replace get_tx2d_size() with direct tx_size_2d[] table access
Change-Id: I20040cdb5d9fdbf6c50082e5e17b4cfbd1926b13
2016-10-31 12:39:33 -07:00
Jingning Han
42a0fb369d Support rectangular tx_size in recursive txfm syntax coding
Change-Id: I40aa342ffa5b6effe8b124b94783e5f0bd2f2a81
2016-10-31 12:38:07 -07:00
Yaowu Xu
1aceffa06c Fix compiling issues with --enable-ec-adapt
Change-Id: I52e2c84ce43d36f78806c54b214f9e5b07c5f0f5
2016-10-31 09:13:53 -07:00
Yaowu Xu
09a4265725 Merge "simp-mv-pred integration with ref-mv" into nextgenv2 2016-10-30 19:54:41 +00:00
Yaowu Xu
ca5e18b750 Merge "Upsample reference frames after size dependent speed features are calculated." into nextgenv2 2016-10-30 19:54:17 +00:00