]> granicus.if.org Git - libvpx/log
libvpx
8 years agoRevert "Fix dering filter when using 4:2:2 or 4:4:0 subsampling"
Yaowu Xu [Wed, 2 Nov 2016 15:22:02 +0000 (08:22 -0700)]
Revert "Fix dering filter when using 4:2:2 or 4:4:0 subsampling"

This reverts commit 401204a50bea8b21e5fcd721cd5db513b8f70e72.

Change-Id: Id27eadf679b0df2d2ccfab61155be29979b0b6ba

8 years agoMerge "Disable upsampled references for resolutions above 1080p." into nextgenv2
Yaowu Xu [Wed, 2 Nov 2016 04:28:50 +0000 (04:28 +0000)]
Merge "Disable upsampled references for resolutions above 1080p." into nextgenv2

8 years agoMerge "Remove unused copies of transform related source code" into nextgenv2
Yi Luo [Wed, 2 Nov 2016 01:43:19 +0000 (01:43 +0000)]
Merge "Remove unused copies of transform related source code" into nextgenv2

8 years agoMerge "Hybrid inverse transforms 16x16 AVX2 optimization" into nextgenv2
Yi Luo [Wed, 2 Nov 2016 01:43:01 +0000 (01:43 +0000)]
Merge "Hybrid inverse transforms 16x16 AVX2 optimization" into nextgenv2

8 years agoMerge "Change TXFM_CONTEXT from TX_SIZE to uint8_t" into nextgenv2
Jingning Han [Wed, 2 Nov 2016 01:18:19 +0000 (01:18 +0000)]
Merge "Change TXFM_CONTEXT from TX_SIZE to uint8_t" into nextgenv2

8 years agoMerge "Rework transform block partition context model" into nextgenv2
Jingning Han [Wed, 2 Nov 2016 01:18:12 +0000 (01:18 +0000)]
Merge "Rework transform block partition context model" into nextgenv2

8 years agoDisable upsampled references for resolutions above 1080p.
Thomas Daede [Wed, 19 Oct 2016 00:02:39 +0000 (17:02 -0700)]
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

8 years agoMerge "Revert of "Mark bogus palette color probabilities as zero"." into nextgenv2
Urvang Joshi [Wed, 2 Nov 2016 00:31:55 +0000 (00:31 +0000)]
Merge "Revert of "Mark bogus palette color probabilities as zero"." into nextgenv2

8 years agoChange TXFM_CONTEXT from TX_SIZE to uint8_t
Jingning Han [Tue, 1 Nov 2016 22:43:23 +0000 (15:43 -0700)]
Change TXFM_CONTEXT from TX_SIZE to uint8_t

Count the transform block partition context in the unit of pixels.

Change-Id: Ibb66f053526ed347ad0274b78db7ac35cc086b0e

8 years agoRevert of "Mark bogus palette color probabilities as zero".
Urvang Joshi [Tue, 1 Nov 2016 22:25:57 +0000 (15:25 -0700)]
Revert of "Mark bogus palette color probabilities as zero".

Reverted commit: f8306bfdc (with some changes).

Reason: This was triggering an assert in debug build because of zero
probability values. So, using an "UNUSED_PROB" macro to replace these to
retain clarity.

Assertion failure can be reproduced as follows:

$ make clean; extra_cflags='-O0 -g -fno-inline' ../../configure
--enable-debug --enable-experimental --enable-palette && make -j 16

$ ./aomenc -D --codec=av1 ~/videos/screen_content_set/gimp.y4m -o
/tmp/foo.webm --tune-content=screen --limit=50

Pass 1/2 frame   50/51      8976B    1436b/f   86169b/s 2902620 us
(17.23 fps)
Pass 2/2 frame   25/0          0B 2933053 us 8.52 fps [ETA  unknown]
aomenc: ../../av1/encoder/cost.c:46: cost: Assertion `prob != 0' failed.
Aborted (core dumped)

Change-Id: I47a76b8f415060909bc8448fae3002857eb61d8e

8 years agoRemove unused copies of transform related source code
Yi Luo [Mon, 31 Oct 2016 23:22:08 +0000 (16:22 -0700)]
Remove unused copies of transform related source code

- Library size reduces: 165 kB, 292 kB (HBD).

Change-Id: I50cb630dde326bd2a28c0db4b7e2d53c2fd94a2a

8 years agoRework transform block partition context model
Jingning Han [Tue, 1 Nov 2016 17:28:53 +0000 (10:28 -0700)]
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

8 years agoMerge "Fix merge issues related --enable-ec-adapt" into nextgenv2
Yaowu Xu [Tue, 1 Nov 2016 21:07:18 +0000 (21:07 +0000)]
Merge "Fix merge issues related  --enable-ec-adapt" into nextgenv2

8 years agoMerge "Change to use correct variable in for-loop" into nextgenv2
Yaowu Xu [Tue, 1 Nov 2016 21:07:11 +0000 (21:07 +0000)]
Merge "Change to use correct variable in for-loop" into nextgenv2

8 years agoHybrid inverse transforms 16x16 AVX2 optimization
Yi Luo [Fri, 28 Oct 2016 17:52:04 +0000 (10:52 -0700)]
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

8 years agoFix merge issues related --enable-ec-adapt
Yaowu Xu [Tue, 1 Nov 2016 19:12:11 +0000 (12:12 -0700)]
Fix merge issues related  --enable-ec-adapt

1. Avoid compiler warnings.
2. Enable prob_diff_update() required by update_txfm_probs().

Change-Id: I9081b645c55a8432bdaeb600e9ba901c0d0d96f5

8 years agoMerge "Fix a compiler warning with --enable-adapt-scan" into nextgenv2
Yaowu Xu [Tue, 1 Nov 2016 18:12:49 +0000 (18:12 +0000)]
Merge "Fix a compiler warning with --enable-adapt-scan" into nextgenv2

8 years agoMerge "Resolve build issue --enable-aom-qm" into nextgenv2
Yaowu Xu [Tue, 1 Nov 2016 18:12:39 +0000 (18:12 +0000)]
Merge "Resolve build issue --enable-aom-qm" into nextgenv2

8 years agoChange to use correct variable in for-loop
Yaowu Xu [Tue, 1 Nov 2016 16:54:05 +0000 (09:54 -0700)]
Change to use correct variable in for-loop

Change-Id: I252c2f06dfe256d2d33fd1abc42aaadf50273cc8

8 years agoMerge "Make txfm_partition_update support rectangular tx_size" into nextgenv2
Jingning Han [Tue, 1 Nov 2016 16:51:03 +0000 (16:51 +0000)]
Merge "Make txfm_partition_update support rectangular tx_size" into nextgenv2

8 years agoMerge "Use get_entropy_context() in select_tx_block" into nextgenv2
Jingning Han [Tue, 1 Nov 2016 16:50:55 +0000 (16:50 +0000)]
Merge "Use get_entropy_context() in select_tx_block" into nextgenv2

8 years agoFix a compiler warning with --enable-adapt-scan
Yaowu Xu [Tue, 1 Nov 2016 16:40:12 +0000 (09:40 -0700)]
Fix a compiler warning with --enable-adapt-scan

Change-Id: I93b191a522ed3e3ca9a363beab4292f64e869610

8 years agoResolve build issue --enable-aom-qm
Yaowu Xu [Tue, 1 Nov 2016 16:32:03 +0000 (09:32 -0700)]
Resolve build issue --enable-aom-qm

Change-Id: I9f52ddb53b39cefd2e0ee7144203e1f3958d01aa

8 years agoMerge "Rename av1_convolve.[hc] to convolve.[hc]" into nextgenv2
Yaowu Xu [Tue, 1 Nov 2016 02:25:19 +0000 (02:25 +0000)]
Merge "Rename av1_convolve.[hc] to convolve.[hc]" into nextgenv2

8 years agoMerge "cmake support: A starting point." into nextgenv2
Yaowu Xu [Tue, 1 Nov 2016 02:25:05 +0000 (02:25 +0000)]
Merge "cmake support: A starting point." into nextgenv2

8 years agoMerge "decodemv.c: relocate a function" into nextgenv2
Yaowu Xu [Tue, 1 Nov 2016 02:24:51 +0000 (02:24 +0000)]
Merge "decodemv.c: relocate a function" into nextgenv2

8 years agoMerge "Fix a bad merge" into nextgenv2
Yaowu Xu [Tue, 1 Nov 2016 02:24:38 +0000 (02:24 +0000)]
Merge "Fix a bad merge" into nextgenv2

8 years agoRename av1_convolve.[hc] to convolve.[hc]
Yaowu Xu [Mon, 31 Oct 2016 23:33:36 +0000 (16:33 -0700)]
Rename av1_convolve.[hc] to convolve.[hc]

Change-Id: I2047adc4c147201ce0ce3c533fe2861cbff1002c

8 years agoMake txfm_partition_update support rectangular tx_size
Jingning Han [Mon, 31 Oct 2016 23:45:19 +0000 (16:45 -0700)]
Make txfm_partition_update support rectangular tx_size

Change-Id: I7d2414a8766141d5109b599271179bc505c772d3

8 years agocmake support: A starting point.
Tom Finegan [Mon, 24 Oct 2016 17:39:41 +0000 (10:39 -0700)]
cmake support: A starting point.

Start adding cmake build support. This is based on the generic-gnu
target and will not build anything. It simply produces a project file
(when generating for a IDE) that can be loaded and that allows for
interaction with (most of) the aom sources used in a generic-gnu
build.

Notable missing pieces:
- flag testing
- config generation
- experiment configuration
- enable/disable encoder/decoder
- aomenc/aomdec
- all third party library build integration
- all tests

Change-Id: Iaeda0b03d58591a26a8fb54f63a2aa3b5354e3a6

8 years agodecodemv.c: relocate a function
Yaowu Xu [Mon, 31 Oct 2016 23:28:32 +0000 (16:28 -0700)]
decodemv.c: relocate a function

Change-Id: I932dd9c8b43a20d248c00847b19dff88e6eb11be

8 years agoMerge "Refactor scan_test.cc" into nextgenv2
Angie Chiang [Mon, 31 Oct 2016 23:31:18 +0000 (23:31 +0000)]
Merge "Refactor scan_test.cc" into nextgenv2

8 years agoUse get_entropy_context() in select_tx_block
Jingning Han [Mon, 31 Oct 2016 23:27:28 +0000 (16:27 -0700)]
Use get_entropy_context() in select_tx_block

Replace redundant separate handling to retrieve the context value.

Change-Id: I18dde4599cd08ffe33a78694ec377487609de1b1

8 years agoFix a bad merge
Yaowu Xu [Mon, 31 Oct 2016 22:56:38 +0000 (15:56 -0700)]
Fix a bad merge

Change-Id: I4615e8e64d75b1f4277d2221ec94c5d4f1830aa4

8 years agoMerge "Refactor max_blocks_wide/high computation" into nextgenv2
Jingning Han [Mon, 31 Oct 2016 22:20:16 +0000 (22:20 +0000)]
Merge "Refactor max_blocks_wide/high computation" into nextgenv2

8 years agoMerge "Remove unused tx_size tables" into nextgenv2
Jingning Han [Mon, 31 Oct 2016 22:20:08 +0000 (22:20 +0000)]
Merge "Remove unused tx_size tables" into nextgenv2

8 years agoMerge "Replace get_tx2d_size() with direct tx_size_2d[] table access" into nextgenv2
Jingning Han [Mon, 31 Oct 2016 22:19:59 +0000 (22:19 +0000)]
Merge "Replace get_tx2d_size() with direct tx_size_2d[] table access" into nextgenv2

8 years agoMerge "Support rectangular tx_size in recursive txfm syntax coding" into nextgenv2
Jingning Han [Mon, 31 Oct 2016 22:19:46 +0000 (22:19 +0000)]
Merge "Support rectangular tx_size in recursive txfm syntax coding" into nextgenv2

8 years agoMerge changes from topic 'fix_ec_adapt' into nextgenv2
Yaowu Xu [Mon, 31 Oct 2016 22:18:52 +0000 (22:18 +0000)]
Merge changes from topic 'fix_ec_adapt' into nextgenv2

* changes:
  Reverse order of CLPF and dering
  Refactor: read_tx_size_probs()
  Fix compiling issues with --enable-ec-adapt
  Fixes compilation error on Windows/Visual Studio

8 years agoRefactor scan_test.cc
Angie Chiang [Mon, 31 Oct 2016 18:25:59 +0000 (11:25 -0700)]
Refactor scan_test.cc

Change-Id: I546a955a95d6d43182631ad5e8d1c137c36e9a0c

8 years agoReverse order of CLPF and dering
Steinar Midtskogen [Sun, 25 Sep 2016 07:23:16 +0000 (09:23 +0200)]
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

8 years agoRefactor max_blocks_wide/high computation
Jingning Han [Mon, 31 Oct 2016 19:13:20 +0000 (12:13 -0700)]
Refactor max_blocks_wide/high computation

Factor common codes that show up in multiple places.

Change-Id: I0a72213a151f74bdad926d59f86f0a28d00968fc

8 years agoRemove unused tx_size tables
Jingning Han [Mon, 31 Oct 2016 18:24:34 +0000 (11:24 -0700)]
Remove unused tx_size tables

Change-Id: I04367fb68e8fd027f4b9d945f4001e5ab346d098

8 years agoReplace get_tx2d_size() with direct tx_size_2d[] table access
Jingning Han [Mon, 31 Oct 2016 18:03:06 +0000 (11:03 -0700)]
Replace get_tx2d_size() with direct tx_size_2d[] table access

Change-Id: I20040cdb5d9fdbf6c50082e5e17b4cfbd1926b13

8 years agoSupport rectangular tx_size in recursive txfm syntax coding
Jingning Han [Mon, 31 Oct 2016 17:43:31 +0000 (10:43 -0700)]
Support rectangular tx_size in recursive txfm syntax coding

Change-Id: I40aa342ffa5b6effe8b124b94783e5f0bd2f2a81

8 years agoMerge "Use the actual transform block size for loop filter selection" into nextgenv2
Jingning Han [Mon, 31 Oct 2016 19:09:07 +0000 (19:09 +0000)]
Merge "Use the actual transform block size for loop filter selection" into nextgenv2

8 years agoRefactor: read_tx_size_probs()
Yaowu Xu [Mon, 31 Oct 2016 16:46:42 +0000 (09:46 -0700)]
Refactor: read_tx_size_probs()

Change-Id: Ibdedd9b8e0b6646b882bc159856ac7c7e7073149

8 years agomvref_common.c: apply clang-format
Yaowu Xu [Mon, 31 Oct 2016 15:55:27 +0000 (08:55 -0700)]
mvref_common.c: apply clang-format

Change-Id: I755bfb11a57e92e3a68855a53e95efe526f198fd

8 years agoFix compiling issues with --enable-ec-adapt
Yaowu Xu [Mon, 31 Oct 2016 15:41:16 +0000 (08:41 -0700)]
Fix compiling issues with --enable-ec-adapt

Change-Id: I52e2c84ce43d36f78806c54b214f9e5b07c5f0f5

8 years agoFixes compilation error on Windows/Visual Studio
Arild Fuldseth (arilfuld) [Mon, 24 Oct 2016 08:37:37 +0000 (10:37 +0200)]
Fixes compilation error on Windows/Visual Studio

Change-Id: I32377deb5f1e882370c70449cb8f68f2fdafcbef

8 years agoMerge "simp-mv-pred integration with ref-mv" into nextgenv2
Yaowu Xu [Sun, 30 Oct 2016 19:54:41 +0000 (19:54 +0000)]
Merge "simp-mv-pred integration with ref-mv" into nextgenv2

8 years agoMerge "Fix the top-right reference block location" into nextgenv2
Yaowu Xu [Sun, 30 Oct 2016 19:54:23 +0000 (19:54 +0000)]
Merge "Fix the top-right reference block location" into nextgenv2

8 years agoMerge "Upsample reference frames after size dependent speed features are calculated...
Yaowu Xu [Sun, 30 Oct 2016 19:54:17 +0000 (19:54 +0000)]
Merge "Upsample reference frames after size dependent speed features are calculated." into nextgenv2

8 years agoMerge "Let is_interp_needed always return 1" into nextgenv2
Yaowu Xu [Sun, 30 Oct 2016 19:53:40 +0000 (19:53 +0000)]
Merge "Let is_interp_needed always return 1" into nextgenv2

8 years agoMerge "Centralize EC_MULTISYMBOL error checking." into nextgenv2
Yaowu Xu [Sun, 30 Oct 2016 19:53:28 +0000 (19:53 +0000)]
Merge "Centralize EC_MULTISYMBOL error checking." into nextgenv2

8 years agoMerge "EC_ADAPT: disable tests requiring tiles." into nextgenv2
Yaowu Xu [Sun, 30 Oct 2016 17:16:34 +0000 (17:16 +0000)]
Merge "EC_ADAPT: disable tests requiring tiles." into nextgenv2

8 years agoMerge "EC_ADAPT: refactor and fix MinArfFreq unit tests." into nextgenv2
Yaowu Xu [Sun, 30 Oct 2016 17:16:19 +0000 (17:16 +0000)]
Merge "EC_ADAPT: refactor and fix MinArfFreq unit tests." into nextgenv2

8 years agoMerge "Only build aom_read/write_symbol if CONFIG_EC_MULTISYMBOL" into nextgenv2
Yaowu Xu [Sun, 30 Oct 2016 17:16:06 +0000 (17:16 +0000)]
Merge "Only build aom_read/write_symbol if CONFIG_EC_MULTISYMBOL" into nextgenv2

8 years agoMerge "EC_ADAPT: improved symbol adaptation." into nextgenv2
Yaowu Xu [Sun, 30 Oct 2016 17:15:53 +0000 (17:15 +0000)]
Merge "EC_ADAPT: improved symbol adaptation." into nextgenv2

8 years agoMerge "EC_ADAPT: send updates for the correct nodes." into nextgenv2
Yaowu Xu [Sun, 30 Oct 2016 17:15:40 +0000 (17:15 +0000)]
Merge "EC_ADAPT: send updates for the correct nodes." into nextgenv2

8 years agoMerge "Add ec_multisymbol for common daala_ec and rans code" into nextgenv2
Yaowu Xu [Sun, 30 Oct 2016 17:15:27 +0000 (17:15 +0000)]
Merge "Add ec_multisymbol for common daala_ec and rans code" into nextgenv2

8 years agoMerge "Handle entropy coder experiment dependencies" into nextgenv2
Yaowu Xu [Sun, 30 Oct 2016 16:22:27 +0000 (16:22 +0000)]
Merge "Handle entropy coder experiment dependencies" into nextgenv2

8 years agoMerge "Disable the SuperframeTest with --enable-daala_ec." into nextgenv2
Yaowu Xu [Sun, 30 Oct 2016 16:22:16 +0000 (16:22 +0000)]
Merge "Disable the SuperframeTest with --enable-daala_ec." into nextgenv2

8 years agoMerge "Fix ec_adapt+daala_ec test failure" into nextgenv2
Yaowu Xu [Sun, 30 Oct 2016 16:22:05 +0000 (16:22 +0000)]
Merge "Fix ec_adapt+daala_ec test failure" into nextgenv2

8 years agoMerge "Add EC_ADAPT experiment for symbol-adaptive entropy coding." into nextgenv2
Yaowu Xu [Sun, 30 Oct 2016 16:21:47 +0000 (16:21 +0000)]
Merge "Add EC_ADAPT experiment for symbol-adaptive entropy coding." into nextgenv2

8 years agosimp-mv-pred integration with ref-mv
Deng [Mon, 17 Oct 2016 06:06:35 +0000 (14:06 +0800)]
simp-mv-pred integration with ref-mv

This commit adds simp-mv-pred experiment. The experiment is to work on
top of ref-mv experiment to save memory bandwidth and reduce the size
of line buffer needed in ref-mv experiment.

When compared to ref-mv, this experiment showed:
low-delay BDR gain: 0.03%
High-delay BDR gain: 0.01%
memory/memory bandwidth saving: 40%
local memory/gate count saving: 20%

Change-Id: Ic4006e041fc58ede411da83d0d730c464ebe1749

8 years agoFix the top-right reference block location
Jingning Han [Fri, 28 Oct 2016 21:19:12 +0000 (14:19 -0700)]
Fix the top-right reference block location

This commit fixes the top-right reference block location for block
sizes above 8x8. It improves the coding performance of ref-mv:

lowres 0.08%
midres 0.15%

Thanks to jiafeng@ for finding this issue.

Change-Id: I70750fc7b18bf0126d3e07abc1b63ca5a160193e

8 years agoUpsample reference frames after size dependent speed features are calculated.
Thomas Daede [Mon, 24 Oct 2016 23:31:05 +0000 (16:31 -0700)]
Upsample reference frames after size dependent speed features are calculated.

This prevents a crash if the upsample_refs speed feature is
changed as part of set_size_dependent_vars, when the recode
loop is enabled.

Change-Id: I645e389bfe961879dd2001439a34fde2993868d9

8 years agoLet is_interp_needed always return 1
Angie Chiang [Fri, 7 Oct 2016 17:57:45 +0000 (10:57 -0700)]
Let is_interp_needed always return 1

This CL will cause
0.122% PSNR drop on lowres dataset
0.059% PSNR drop on midres dataset

However, it will facilitate hardware implementation.

Change-Id: I0a0713acacbfd571509a721337711c021915dd3c

8 years agoCentralize EC_MULTISYMBOL error checking.
Nathan E. Egge [Mon, 24 Oct 2016 13:50:52 +0000 (09:50 -0400)]
Centralize EC_MULTISYMBOL error checking.

The EC_ADAPT experiment cannot work unless EC_MULTISYMBOL is also
 enabled.
This patch replaces all individual checks with a centralized check in
 both the bitreader.h and bitwriter.h.

Change-Id: I418852d95c5012cc074ed65cd24997e08bc2aadd

8 years agoEC_ADAPT: disable tests requiring tiles.
Thomas Davies [Tue, 18 Oct 2016 13:08:17 +0000 (14:08 +0100)]
EC_ADAPT: disable tests requiring tiles.

EC_ADAPT is currently not compatible with tiles.

Change-Id: Idd000f0ff23c28e7e4952024eadb55ba0a1da13d

8 years agoEC_ADAPT: refactor and fix MinArfFreq unit tests.
Thomas Davies [Wed, 19 Oct 2016 13:46:07 +0000 (14:46 +0100)]
EC_ADAPT: refactor and fix MinArfFreq unit tests.

Ensure that cdfs are synced with pdfs after every
forward update.

Change-Id: I5677f78300156c8622f1728d7a343ff6c3a4ea64

8 years agoOnly build aom_read/write_symbol if CONFIG_EC_MULTISYMBOL
Alex Converse [Thu, 20 Oct 2016 21:21:06 +0000 (14:21 -0700)]
Only build aom_read/write_symbol if CONFIG_EC_MULTISYMBOL

Change-Id: If86c7220ac9199a59e605dc43d42cc3db26cf8bd

8 years agoEC_ADAPT: improved symbol adaptation.
Thomas Davies [Wed, 12 Oct 2016 16:54:29 +0000 (17:54 +0100)]
EC_ADAPT: improved symbol adaptation.

Place a floor under symbol probabilities and
modify adaptation rate.

Change-Id: Ic9cf6d9fadfc3bf1f3027bc3d2bb198526441591

8 years agoEC_ADAPT: send updates for the correct nodes.
Thomas Davies [Thu, 20 Oct 2016 17:28:47 +0000 (18:28 +0100)]
EC_ADAPT: send updates for the correct nodes.

EOB and ZERO token are not currently adapted.

Change-Id: Ie7d657b71fcb157b09e40874fb06a8b7cd95cc70

8 years agoAdd ec_multisymbol for common daala_ec and rans code
Alex Converse [Mon, 10 Oct 2016 18:08:10 +0000 (11:08 -0700)]
Add ec_multisymbol for common daala_ec and rans code

The new ec_multisymbol experiment supersedes the rans experiment and is
used for multisymbol features that can be backed by either daala_ec or
rans.

This experiment is automatically enabled by ec_adapt and will try to
enable daala_ec or ans (in that order).

Change-Id: Ie75b4002b7a9d7f5f7b4d130c1aacb3dbe97e54f

8 years agoHandle entropy coder experiment dependencies
Alex Converse [Mon, 10 Oct 2016 17:44:59 +0000 (10:44 -0700)]
Handle entropy coder experiment dependencies

Change-Id: I854c53d9379f820b5a78fcb53f9ef09bc6f9d9e7

8 years agoDisable the SuperframeTest with --enable-daala_ec.
Yaowu Xu [Sat, 29 Oct 2016 00:08:28 +0000 (17:08 -0700)]
Disable the SuperframeTest with --enable-daala_ec.

Due to the way the daala entropy coder handles raw bits, the current
test is broken because the buffer length is not known when calling
aom_reader_init() is called.

Change-Id: I76e93ec0e160e31f286c23f7c9c0094390c6c2d4

8 years agoFix ec_adapt+daala_ec test failure
Alex Converse [Mon, 10 Oct 2016 21:43:10 +0000 (14:43 -0700)]
Fix ec_adapt+daala_ec test failure

AV1/AqSegmentTest.TestNoMisMatchAQ1/6 was failing with this experiment
pair.

BUG=aomedia:70

Change-Id: I8c53a043471a87a98a06687afce2e28891592362

8 years agoAdd EC_ADAPT experiment for symbol-adaptive entropy coding.
Thomas [Fri, 23 Sep 2016 17:04:17 +0000 (18:04 +0100)]
Add EC_ADAPT experiment for symbol-adaptive entropy coding.

This experiment performs symbol-by-symbol statistics
adaptation for non-binary symbols. It requires DAALA_EC or
RANS and ANS to be enabled. The adaptation is currently
based on a simple recursive filter and is taken from
Daala. It has an adaptation rate dependent on alphabet size,
taken from Daala. It applies wherever non-binary symbols
are encoded using Cumulative Probability Functions rather
than trees.

Where symbols are adapted, forward updates in the compressed
header are removed.

In the case of RANS coefficient token values are adapted,
with the exception of the zero token which remains a
binary symbol. In the case of DAALA_EC other values
such as inter and intra modes are adapted as CDFs are
provided in those cases.

The experiment is configured with:

./configure --enable-experimental --enable-daala-ec --enable-ec-adapt

or

./configure --enable-experimental --enable-ans --enable-rans \
    --enable-ec-adapt

EC_ADAPT is not currently compatible with tiles.

BDR results on Objective-1-fast give a small loss:

PSNR YCbCr:      0.51%      0.49%      0.48%
PSNRHVS:      0.50%
SSIM:      0.50%
MSSSIM:      0.51%
CIEDE2000:      0.50%

Change-Id: I3888718e42616f3fd87144de7f125228446ac984

8 years agoMerge "Replace num_4x4_blocks_txsize_loopup table" into nextgenv2
Jingning Han [Sat, 29 Oct 2016 23:01:26 +0000 (23:01 +0000)]
Merge "Replace num_4x4_blocks_txsize_loopup table" into nextgenv2

8 years agoMerge "Refactor rate-distortion optimization of recursive transform partition" into...
Jingning Han [Sat, 29 Oct 2016 23:01:14 +0000 (23:01 +0000)]
Merge "Refactor rate-distortion optimization of recursive transform partition" into nextgenv2

8 years agoUse the actual transform block size for loop filter selection
Jingning Han [Sat, 29 Oct 2016 00:46:03 +0000 (17:46 -0700)]
Use the actual transform block size for loop filter selection

Parse the recursive transform block partition to fetch the actual
transform size. Use this correct transform size to select the
corresponding loop filter kernel. This slightly improves the coding
performance of recursive transform partition for hdres to 0.14%.

Change-Id: Ibe8bc3fdd0d222a4f1fb8156c56a407bec052b9b

8 years agoMerge "RANGE_CHECK: "==" || ">" is simply ">="." into nextgenv2
Urvang Joshi [Fri, 28 Oct 2016 23:55:00 +0000 (23:55 +0000)]
Merge "RANGE_CHECK: "==" || ">" is simply ">="." into nextgenv2

8 years agoMerge "Clean the code in ref frame context decision for ext-refs" into nextgenv2
Zoe Liu [Fri, 28 Oct 2016 23:36:41 +0000 (23:36 +0000)]
Merge "Clean the code in ref frame context decision for ext-refs" into nextgenv2

8 years agoReplace num_4x4_blocks_txsize_loopup table
Jingning Han [Fri, 28 Oct 2016 22:42:44 +0000 (15:42 -0700)]
Replace num_4x4_blocks_txsize_loopup table

Unify the transform block size access table in preparation for
2x2 transform integration.

Change-Id: I308def6729e138ae2b2542175206e3225c0cb392

8 years agoRefactor rate-distortion optimization of recursive transform partition
Jingning Han [Fri, 28 Oct 2016 04:32:19 +0000 (21:32 -0700)]
Refactor rate-distortion optimization of recursive transform partition

Support rectangular transform block in the rate-distortion cost
estimator.

Change-Id: I99201fcae797c1ed2f2184021a215867eac0288f

8 years agoMerge "Bitwise to logical & in rdopt ext tx prune function" into nextgenv2
Sarah Parker [Fri, 28 Oct 2016 21:43:03 +0000 (21:43 +0000)]
Merge "Bitwise to logical & in rdopt ext tx prune function" into nextgenv2

8 years agoRANGE_CHECK: "==" || ">" is simply ">=".
Urvang Joshi [Fri, 28 Oct 2016 19:32:06 +0000 (12:32 -0700)]
RANGE_CHECK: "==" || ">" is simply ">=".

Also:
- For unsigned ints, don't check value >= 0 as that is always true.
- Add "-Wlogical-op" warning flag which would have warned that "logical
  'or' of collectively exhaustive tests is always true" before this
  patch.

Change-Id: Idf3bd312464397f2df19256fc69b22f345dc7753

8 years agoMerge "Tile groups: ensure each tile in a TG has a length." into nextgenv2
Yaowu Xu [Fri, 28 Oct 2016 21:26:32 +0000 (21:26 +0000)]
Merge "Tile groups: ensure each tile in a TG has a length." into nextgenv2

8 years agoMerge "Fix update_delta_q_probs compile warning" into nextgenv2
Yaowu Xu [Fri, 28 Oct 2016 21:26:22 +0000 (21:26 +0000)]
Merge "Fix update_delta_q_probs compile warning" into nextgenv2

8 years agoMerge "Encode and decode multiple tile groups" into nextgenv2
Yaowu Xu [Fri, 28 Oct 2016 21:26:11 +0000 (21:26 +0000)]
Merge "Encode and decode multiple tile groups" into nextgenv2

8 years agoBitwise to logical & in rdopt ext tx prune function
Sarah Parker [Fri, 28 Oct 2016 20:19:33 +0000 (13:19 -0700)]
Bitwise to logical & in rdopt ext tx prune function

Making this change in case the future implementation changes and the
compairson is no longer between single bits.

Change-Id: I94f474ce7d82febfa23cec65cbe1b9d240b42e02

8 years agoTile groups: ensure each tile in a TG has a length.
Thomas Davies [Tue, 4 Oct 2016 12:19:31 +0000 (13:19 +0100)]
Tile groups: ensure each tile in a TG has a length.

This ensures TGs can be decoded even if the whole
frame has not been received and the frame length
is not known.

Change-Id: If24837fcc3b5c46554751be792e91100de73e8d6

8 years agoFix update_delta_q_probs compile warning
Jingning Han [Fri, 30 Sep 2016 18:35:22 +0000 (11:35 -0700)]
Fix update_delta_q_probs compile warning

Change-Id: Ifb93970ed876ed61259b2f8da739171857c97fda

8 years agoMerge "Fix aom_fdct8x8_ssse3 in high bit depth mode" into nextgenv2
Debargha Mukherjee [Fri, 28 Oct 2016 19:31:45 +0000 (19:31 +0000)]
Merge "Fix aom_fdct8x8_ssse3 in high bit depth mode" into nextgenv2

8 years agoClean the code in ref frame context decision for ext-refs
Zoe Liu [Fri, 21 Oct 2016 23:18:58 +0000 (16:18 -0700)]
Clean the code in ref frame context decision for ext-refs

For compound mode, it is a sure thing that one of the 2 reference frames
would be either a forward predictive reference, or a backward predictive
reference, and the other would provide a different prediction.

Change-Id: I8d7b40525bec4db0f26ba255c8eefa9f20bd52a3

8 years agoMerge "get_palette_color_context: Make code more readable." into nextgenv2
Urvang Joshi [Fri, 28 Oct 2016 19:03:25 +0000 (19:03 +0000)]
Merge "get_palette_color_context: Make code more readable." into nextgenv2

8 years agoEncode and decode multiple tile groups
Thomas Davies [Wed, 26 Oct 2016 23:08:35 +0000 (16:08 -0700)]
Encode and decode multiple tile groups

This is a manual adaptation of the following commit from aom/master:
ce12003d60a1c8d6c65ed07ba165c34062fcbcbd

The original commit message:

A tile group is a set of tiles in scan order.

Each tile group has a version of uncompressed and compressed headers,
identical apart from tile group parameters.
Encoding probability updates takes account of the number of
headers to control overheads.

The decoder supports arbitrary numbers of tile groups with
arbitrary number of tiles. The number of tiles in a TG is
signalled in the uncompressed header for that TG.

The encoder currently only supports a fixed number
of TGs (3, when error resilient mode is on) of equal size
(except possibly for the last one).

The average BDR performnce with 3 tile groups versus
anchor with error resilient mode and up to 16 tiles is:

NR YCbCr:      3.02%      3.04%      3.05%
PSNRHVS:      3.09%
SSIM:      3.06%
MSSSIM:      3.05%
CIEDE2000:      3.04%

Change-Id: I9b97c5ed733103b9160a3a5d4370de5322c00c0b

8 years agoget_palette_color_context: Make code more readable.
Urvang Joshi [Wed, 26 Oct 2016 16:40:35 +0000 (09:40 -0700)]
get_palette_color_context: Make code more readable.

For clarity, use separate variables for 'color_ctx_hash' and
'color_ctx' instead of reusing same variables for both.

BUG=webm:1324

Change-Id: I3a516ea54353e1f0737822c613a68da252e30c6e