18311 Commits

Author SHA1 Message Date
Angie Chiang
b0f9968ac7 Merge "Remove the has_no_coeffs corner case" into nextgenv2 2016-10-21 18:16:45 +00:00
Yaowu Xu
c2c5ec21b6 Merge "Unify set_contexts() function for encoder and decoder" into nextgenv2 2016-10-21 18:00:32 +00:00
Yaowu Xu
2f5b9d66b5 Merge "Add support for v256 intrinsics" into nextgenv2 2016-10-21 18:00:20 +00:00
Jingning Han
3d855c5e75 Refactor tx_size to pixel number in decodeframe.c
Use the table access to retrieve pixel numbers from tx_size.

Change-Id: I9459f2c3292c2f9ddf963f16b79e142de7432031
2016-10-21 10:55:54 -07:00
Yaowu Xu
c76572af16 Merge changes Icfc16070,Ied47a248,I8af087d9,I322a1366,If04580af into nextgenv2
* changes:
  Palette: Use inverse_color_order to find color index faster.
  Rewrite some loops to avoid -Wunsafe-loop-optimizations warnings.
  Remove some useless casts
  Add compiler warning flag -Wextra and fix related warnings.
  Declare some array sizes to be constants (known at compile time).
2016-10-21 17:31:42 +00:00
Yaowu Xu
98a306a1b2 Merge changes I027a4f2a,Ide91d76f into nextgenv2
* changes:
  Add complier warning -wunused.
  angle estimation: Some renames/tweaks to sync with aomedia code.
2016-10-21 17:31:22 +00:00
Yaowu Xu
32d8a496ef Merge "Code class0 using aom_read() / aom_write()." into nextgenv2 2016-10-21 17:25:50 +00:00
Yaowu Xu
f29166deff Merge "Use intra_ext_tx_cdf when coding tx_type." into nextgenv2 2016-10-21 17:25:18 +00:00
Yaowu Xu
c53f8ca6fb Merge "Use MV_FP_SIZE based constant instead of 3." into nextgenv2 2016-10-21 17:19:27 +00:00
Alex Converse
64e2f105a7 Use divide by multiply in the ans writer.
Change-Id: Ide4e9b3a605571ec41c265347217e103df8d0821
2016-10-21 09:54:41 -07:00
Jingning Han
e29ea12fc2 Sub8x8 block chroma component inter prediction
Handle the sub8x8 chroma component at the unit of 2x2/4x2/2x4 level
and use the motion vector inherited from the luma component. This
improves the coding performance:

lowres 0.4%
midres 0.25%
hdres  0.15%

Change-Id: I34dff4218cfa3e5d55e7ed0341f36f4719389f7e
2016-10-21 09:39:34 -07:00
Yaowu Xu
67cf85b883 Merge "Remove duplicate code" into nextgenv2 2016-10-21 16:34:24 +00:00
Jingning Han
a6923f7f97 Unify set_contexts() function for encoder and decoder
Remove the separate implementations of set_contexts() in encoder
and decoder.

Change-Id: I9f6e9b075532faae0f74f885d9443589254258a7
2016-10-21 09:32:28 -07:00
Yi Luo
e4abb97ba3 Merge "Fix the overflow of av1_fht32x32() in 2D DCT_DCT" into nextgenv2 2016-10-21 16:13:18 +00:00
Steinar Midtskogen
045d413ca2 Add support for v256 intrinsics
Change-Id: I1da08afaa945ca1aaf4bf9f50cf649a7feef2e60
2016-10-21 08:55:37 -07:00
Nathan E. Egge
45ea963f0b Code class0 using aom_read() / aom_write().
The av1_mv_class0_tree is a balanced tree with two leafs and can
 simply be coded as a boolean with probability class0[0].
If CLASS0_SIZE is ever changed from 1, this change will need to be
 reverted.

Change-Id: If294dac825a5f945371092c74aa8e3f84cd962b6
2016-10-21 08:34:03 -07:00
Nathan E. Egge
72762a2827 Use intra_ext_tx_cdf when coding tx_type.
When building with --enable-daala_ec, the tx_type for intra blocks can be
 coded using the CDFs that are updated once per frame.
This patch converts a tx_type symbol to be coded with aom_write_symbol()
 and aom_read_symbol() that was missed in f3e8e267.

Change-Id: I34f8fef7525f88e156bbcb78dfc48994367610ce
2016-10-21 08:29:08 -07:00
Nathan E. Egge
ac499f352e Use MV_FP_SIZE based constant instead of 3.
Change-Id: I90ef3b49b499c2ac9c24797467cb4eb194fdf23b
2016-10-21 08:25:33 -07:00
Yaowu Xu
68cb657e92 Remove duplicate code
The duplicate breaks build.

Change-Id: I0f16761c4bcb8563402a664013429403b883c2e1
2016-10-21 08:22:46 -07:00
Yaowu Xu
b97c3a13de Merge "Fix typos" into nextgenv2 2016-10-21 14:44:35 +00:00
Yaowu Xu
23f0604188 Merge "Fix encoder crash when --enable-daala-ec" into nextgenv2 2016-10-21 14:44:26 +00:00
Yaowu Xu
d56df2f9f0 Merge "Pass AV1_COMMON into av1_cost_coeffs" into nextgenv2 2016-10-21 03:20:28 +00:00
Yaowu Xu
432d9071ce Merge "Add adapt_scan APIs and some helping functions" into nextgenv2 2016-10-21 03:20:17 +00:00
Yaowu Xu
361f3fe3b0 Merge "Compute all token encodings from symbol trees." into nextgenv2 2016-10-21 03:20:01 +00:00
Yaowu Xu
360383bfca Merge "decodeframe.c: aom_read_tree_cdf->aom_read_symbol" into nextgenv2 2016-10-21 03:19:14 +00:00
Yaowu Xu
6d5ebbd76c Merge "Encoder/Decoder mismatch fix: need a separate copy of eob_counts." into nextgenv2 2016-10-21 01:23:25 +00:00
Yaowu Xu
c287e271f2 Fix typos
In a previous commit: 5db9743fbbe500bb802b5e5f5eb4e495621e29f7, two
changes that appeared to be typos are breaking build when experiments
are enabled:

../../libvpx/configure --enable-experimental --enable-ref-mv
--enable-ext-intra --enable-ext-refs --enable-ext-interp
--enable-supertx --enable-var-tx --enable-entropy --enable-ext-inter
--enable-ext-tx  --enable-motion-var --enable-dual-filter
--enable-ext-partition --enable-ext-partition-types
--enable-loop-restoration --enable-rect-tx --enable-palette
--enable-aom-highbitdepth --enable-filter-intra --enable-internal-stats
&& make clean && make -j16

This commit fixes the issue.

Change-Id: I9ce5bbc96df326214202868cb0669bd334c86851
2016-10-20 18:19:16 -07:00
Yaowu Xu
e1466ad4e4 Fix encoder crash when --enable-daala-ec
Change-Id: I6855e18d92f693a9789eda7c91a3430566469bdd
2016-10-20 17:56:54 -07:00
Angie Chiang
22ba7514df Pass AV1_COMMON into av1_cost_coeffs
Change-Id: I2043d635e2a7f50f84a541501f28179b797ca326
2016-10-20 17:18:18 -07:00
Angie Chiang
e7d9d1ebeb Merge changes I163874ee,I1424690f into nextgenv2
* changes:
  Add data structure of adpat_scan experiment
  Add adapt_scan experimental flag
2016-10-20 23:52:11 +00:00
Zoe Liu
528d9de543 Merge "Sync with aom branch for ext-refs" into nextgenv2 2016-10-20 22:58:15 +00:00
Urvang Joshi
967ff395b6 Palette: Use inverse_color_order to find color index faster.
Cherry-picked from aomedia/master: b1c3bb5

Change-Id: Icfc16070160fd9763abb1dbf5545103e62b4b9ff
2016-10-20 15:54:33 -07:00
Urvang Joshi
b42827f650 Rewrite some loops to avoid -Wunsafe-loop-optimizations warnings.
For example, loops of the form:
"for (i = 0; i < 1 + max_value; ++i) ..." or
"for (i = 0; i <= max_value; ++i) ..." are possibly infinite loops,
theoretically speaking (even if practically, they aren't).
So, compiler cannot optimize those loops.

When possible, I rewrote such loops to be finite even theoretically.

Cherry-picked from aomedia/master: 4e69284

Change-Id: Ied47a24833b689c0ec011f8645cf1c01856f7c59
2016-10-20 15:53:11 -07:00
Urvang Joshi
77853e56ea Remove some useless casts
Cherry-picked from aomedia/master: 6796e7f

Change-Id: I8af087d97cadb0c2a9e37a4e4723246cdd397995
2016-10-20 15:51:41 -07:00
Urvang Joshi
d71a231c49 Add compiler warning flag -Wextra and fix related warnings.
Note: some of these warnings are enabled by a combination of -Wunused
(added earlier) and -Wextra.

Cherry-picked from aomedia/master: 4790a69

Change-Id: I322a1366bd4fd6c0dec9e758c2d5e88e003b1cbf
2016-10-20 15:49:16 -07:00
Nathan E. Egge
3c05679017 Compute all token encodings from symbol trees.
The av1_token encodings must match the contents of the aom_tree_index
 structures so generate all encodings from the symbol trees.

Change-Id: I37be9f12c86a02693ae3c3c1d24b00f2abb29bfb
2016-10-20 15:34:08 -07:00
Yaowu Xu
f2581a3a30 decodeframe.c: aom_read_tree_cdf->aom_read_symbol
This was a missed replacement from cherry-pick of:
9ac7a9dc8ced90a28f5b83801a50597dc12e50a7

Change-Id: I9e01d9d7a39bed397500a293bf68dca2746aa917
2016-10-20 15:31:11 -07:00
Yaowu Xu
ec5a1942e2 Merge changes I7d6394e4,Ia8ce1464,If20e8637,Ia9adc46b,I651db25b into nextgenv2
* changes:
  Define SIMD_INLINE using AOM_FORCE_INLINE
  AOM_FORCE_INLINE: fix always_inline attribute
  Free memory allocated by daala_ec encoder.
  Move clpf_sse4_1.c to clpf_sse4.c in agreement with convention
  sync avg_test.cc with aom/master
2016-10-20 22:30:11 +00:00
Yaowu Xu
748d3f5e0f Merge "Fix Visual Studio build." into nextgenv2 2016-10-20 22:29:57 +00:00
Jingning Han
6d51377858 Merge "Offset speed feature setting index" into nextgenv2 2016-10-20 22:16:00 +00:00
Jingning Han
feee3ed5ee Merge "Add tx_size to pixel number map" into nextgenv2 2016-10-20 22:15:53 +00:00
Jingning Han
7ae6ae3497 Merge "Add 2x2 directional intra predictors" into nextgenv2 2016-10-20 22:15:46 +00:00
Debargha Mukherjee
9cce436975 Merge "Fix for AV1.TestTell" into nextgenv2 2016-10-20 22:05:36 +00:00
Urvang Joshi
bffc0b5748 Declare some array sizes to be constants (known at compile time).
This reduces some memcpys and callocs.

Cherry-picked from aomedia/master: 4081013

Change-Id: If04580af4c63892c8af8ac5b405c7d6aabe5af89
2016-10-20 14:58:13 -07:00
Urvang Joshi
3212dda94d Add complier warning -wunused.
Cherry-picked from aomedia/master: 953f086c

Note: related fixes were already part of webm/nextgenv2.

Change-Id: I027a4f2a540af5a304b358ddbf293965b4211b9e
2016-10-20 14:58:01 -07:00
Urvang Joshi
da70e7b0fa angle estimation: Some renames/tweaks to sync with aomedia code.
Change-Id: Ide91d76fafe79b2b310ffd5afb7cd5b26b681f78
2016-10-20 14:57:34 -07:00
Urvang Joshi
43e6281f62 Encoder/Decoder mismatch fix: need a separate copy of eob_counts.
The bug was introduced here:
https://chromium-review.googlesource.com/#/c/399975/4/av1/encoder/bitstream.c
In that patch, I had removed 2nd declaration of a variable of the same
name. But it turns out that the two variables actually had a different
type (even though the name was same).

Now, we keep both variables, but rename one of them -- that fixes the
mismatch. While we are at it, made both variables local as well.

The fix can be verified as follows:
../../libvpx/configure --enable-experimental --enable-supertx
--enable-var-tx --enable-entropy --enable-internal-stats && make clean
&& make -j16

aomenc -o soccer_cif_1000_av1_b8.webm ../soccer_cif.y4m --codec=av1
--limit=50 --skip=0 -p 2 --pass=1 --fpf=soccer_cif_av1.fpf --good
--cpu-used=0 --target-bitrate=1000 --lag-in-frames=25 --min-q=0
--max-q=63 --auto-alt-ref=1 --kf-max-dist=150 --kf-min-dist=0
--drop-frame=0 --static-thresh=0 --bias-pct=50 --minsection-pct=0
--maxsection-pct=2000 --arnr-maxframes=7 --arnr-strength=5 --sharpness=0
--undershoot-pct=100 --overshoot-pct=100 --frame-parallel=0
--tile-columns=0 --profile=0 --test-decode=warn

aomenc -o soccer_cif_1000_av1_b8.webm ../soccer_cif.y4m --codec=av1
--limit=50 --skip=0 -p 2 --pass=2 --fpf=soccer_cif_av1.fpf --good
--cpu-used=0 --target-bitrate=1000 --lag-in-frames=25 --min-q=0
--max-q=63 --auto-alt-ref=1 --kf-max-dist=150 --kf-min-dist=0
--drop-frame=0 --static-thresh=0 --bias-pct=50 --minsection-pct=0
--maxsection-pct=2000 --arnr-maxframes=7 --arnr-strength=5 --sharpness=0
--undershoot-pct=100 --overshoot-pct=100 --frame-parallel=0
--tile-columns=0 --profile=0 --test-decode=warn -v --psnr

Change-Id: Ibd72dbe1f620e6de231513220ee4e190606613ae
2016-10-20 14:51:01 -07:00
Hui Su
c58d95717f Merge "Renaming in filter-intra sse4 code" into nextgenv2 2016-10-20 21:36:42 +00:00
Hui Su
e3642ac688 Merge "Remove av1/common/intra_filters.h" into nextgenv2 2016-10-20 21:35:10 +00:00
Hui Su
475159cb69 Merge "Seperate FILTER_INTRA from EXT_INTRA experiment" into nextgenv2 2016-10-20 21:34:33 +00:00