]> granicus.if.org Git - libvpx/log
libvpx
8 years agoLimit the transform block partition depth
Jingning Han [Fri, 21 Oct 2016 17:14:36 +0000 (10:14 -0700)]
Limit the transform block partition depth

Limit the recursive transform block partition depth to 2. For a
32x32 transform block unit, one can maximally go down to 8x8 transform
block size.

Change-Id: I2caa92bb2eee64762b7ecca8920259f7c50fb0aa

8 years agoAllow frame level tx_mode switch
Jingning Han [Thu, 20 Oct 2016 22:17:43 +0000 (15:17 -0700)]
Allow frame level tx_mode switch

Check the encoding statistics. If all the coding blocks use the
max transform size, skip transform size coding in the frame header.

Change-Id: I31cb16314e87f945d7e95a34a90a5536b3ed82d5

8 years agoSeparate intra and inter tx_size counting
Jingning Han [Thu, 20 Oct 2016 19:00:15 +0000 (12:00 -0700)]
Separate intra and inter tx_size counting

Skip counting the inter transform block size distribution for
the intra transform block size coding.

Change-Id: Ifad9d843f57d069d0619a54d66ca18101e1b69f1

8 years agoMerge "Pass AV1_COMMON into get_scan" into nextgenv2
Yaowu Xu [Fri, 21 Oct 2016 21:51:50 +0000 (21:51 +0000)]
Merge "Pass AV1_COMMON into get_scan" into nextgenv2

8 years agoMerge "Decoder performance improvement with daala_ec." into nextgenv2
Yaowu Xu [Fri, 21 Oct 2016 21:50:13 +0000 (21:50 +0000)]
Merge "Decoder performance improvement with daala_ec." into nextgenv2

8 years agoMerge "Fix logical vs bitwise & bug" into nextgenv2
Sarah Parker [Fri, 21 Oct 2016 21:16:54 +0000 (21:16 +0000)]
Merge "Fix logical vs bitwise & bug" into nextgenv2

8 years agoMerge "Fix unused variable error in intrapred.c" into nextgenv2
Jingning Han [Fri, 21 Oct 2016 21:11:30 +0000 (21:11 +0000)]
Merge "Fix unused variable error in intrapred.c" into nextgenv2

8 years agoMerge "Refactor tx_size to pixel number in decodeframe.c" into nextgenv2
Jingning Han [Fri, 21 Oct 2016 19:39:22 +0000 (19:39 +0000)]
Merge "Refactor tx_size to pixel number in decodeframe.c" into nextgenv2

8 years agoDecoder performance improvement with daala_ec.
Nathan E. Egge [Fri, 9 Sep 2016 18:21:56 +0000 (14:21 -0400)]
Decoder performance improvement with daala_ec.

Cherry-pick Daala b5020bee:
 Remove redundant test in od_ec_decode_bool_q15().
Using a test that decodes 100M random binary symbols, making this change
 produced a speed up of 8.81% with gcc-4.9.3 and 3.71% with clang-3.7.1,
 both compiled with -O2.

Change-Id: If6d0077a56121a575ae53bcd4d1d9b7d800a317d

8 years agoMerge "Use divide by multiply in the ans writer." into nextgenv2
Yaowu Xu [Fri, 21 Oct 2016 18:46:29 +0000 (18:46 +0000)]
Merge "Use divide by multiply in the ans writer." into nextgenv2

8 years agoPass AV1_COMMON into get_scan
Angie Chiang [Fri, 21 Oct 2016 18:02:09 +0000 (11:02 -0700)]
Pass AV1_COMMON into get_scan

This CL will facilitate adapt_scan experiment.
In adapt_scan experiment, dynamic scan order will be stored in
AV1_COMMON

Change-Id: I4763ea931b5e1af54d4f173971befeb01a4db335

8 years agoMerge "Sub8x8 block chroma component inter prediction" into nextgenv2
Yaowu Xu [Fri, 21 Oct 2016 18:46:18 +0000 (18:46 +0000)]
Merge "Sub8x8 block chroma component inter prediction" into nextgenv2

8 years agoFix unused variable error in intrapred.c
Angie Chiang [Fri, 21 Oct 2016 18:45:31 +0000 (11:45 -0700)]
Fix unused variable error in intrapred.c

Change-Id: Icda975cd9b264c1752c3057bce8031791f91c08a

8 years agoMerge "Remove the has_no_coeffs corner case" into nextgenv2
Angie Chiang [Fri, 21 Oct 2016 18:16:45 +0000 (18:16 +0000)]
Merge "Remove the has_no_coeffs corner case" into nextgenv2

8 years agoMerge "Unify set_contexts() function for encoder and decoder" into nextgenv2
Yaowu Xu [Fri, 21 Oct 2016 18:00:32 +0000 (18:00 +0000)]
Merge "Unify set_contexts() function for encoder and decoder" into nextgenv2

8 years agoMerge "Add support for v256 intrinsics" into nextgenv2
Yaowu Xu [Fri, 21 Oct 2016 18:00:20 +0000 (18:00 +0000)]
Merge "Add support for v256 intrinsics" into nextgenv2

8 years agoRefactor tx_size to pixel number in decodeframe.c
Jingning Han [Fri, 21 Oct 2016 17:51:31 +0000 (10:51 -0700)]
Refactor tx_size to pixel number in decodeframe.c

Use the table access to retrieve pixel numbers from tx_size.

Change-Id: I9459f2c3292c2f9ddf963f16b79e142de7432031

8 years agoMerge changes Icfc16070,Ied47a248,I8af087d9,I322a1366,If04580af into nextgenv2
Yaowu Xu [Fri, 21 Oct 2016 17:31:42 +0000 (17:31 +0000)]
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).

8 years agoMerge changes I027a4f2a,Ide91d76f into nextgenv2
Yaowu Xu [Fri, 21 Oct 2016 17:31:22 +0000 (17:31 +0000)]
Merge changes I027a4f2a,Ide91d76f into nextgenv2

* changes:
  Add complier warning -wunused.
  angle estimation: Some renames/tweaks to sync with aomedia code.

8 years agoMerge "Code class0 using aom_read() / aom_write()." into nextgenv2
Yaowu Xu [Fri, 21 Oct 2016 17:25:50 +0000 (17:25 +0000)]
Merge "Code class0 using aom_read() / aom_write()." into nextgenv2

8 years agoMerge "Use intra_ext_tx_cdf when coding tx_type." into nextgenv2
Yaowu Xu [Fri, 21 Oct 2016 17:25:18 +0000 (17:25 +0000)]
Merge "Use intra_ext_tx_cdf when coding tx_type." into nextgenv2

8 years agoMerge "Use MV_FP_SIZE based constant instead of 3." into nextgenv2
Yaowu Xu [Fri, 21 Oct 2016 17:19:27 +0000 (17:19 +0000)]
Merge "Use MV_FP_SIZE based constant instead of 3." into nextgenv2

8 years agoUse divide by multiply in the ans writer.
Alex Converse [Tue, 28 Jun 2016 20:46:19 +0000 (13:46 -0700)]
Use divide by multiply in the ans writer.

Change-Id: Ide4e9b3a605571ec41c265347217e103df8d0821

8 years agoSub8x8 block chroma component inter prediction
Jingning Han [Wed, 22 Jun 2016 00:47:30 +0000 (17:47 -0700)]
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

8 years agoMerge "Remove duplicate code" into nextgenv2
Yaowu Xu [Fri, 21 Oct 2016 16:34:24 +0000 (16:34 +0000)]
Merge "Remove duplicate code" into nextgenv2

8 years agoUnify set_contexts() function for encoder and decoder
Jingning Han [Fri, 15 Jul 2016 15:50:14 +0000 (08:50 -0700)]
Unify set_contexts() function for encoder and decoder

Remove the separate implementations of set_contexts() in encoder
and decoder.

Change-Id: I9f6e9b075532faae0f74f885d9443589254258a7

8 years agoMerge "Fix the overflow of av1_fht32x32() in 2D DCT_DCT" into nextgenv2
Yi Luo [Fri, 21 Oct 2016 16:13:18 +0000 (16:13 +0000)]
Merge "Fix the overflow of av1_fht32x32() in 2D DCT_DCT" into nextgenv2

8 years agoAdd support for v256 intrinsics
Steinar Midtskogen [Tue, 18 Oct 2016 10:20:05 +0000 (12:20 +0200)]
Add support for v256 intrinsics

Change-Id: I1da08afaa945ca1aaf4bf9f50cf649a7feef2e60

8 years agoCode class0 using aom_read() / aom_write().
Nathan E. Egge [Thu, 8 Sep 2016 21:25:49 +0000 (17:25 -0400)]
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

8 years agoUse intra_ext_tx_cdf when coding tx_type.
Nathan E. Egge [Wed, 7 Sep 2016 21:12:07 +0000 (17:12 -0400)]
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

8 years agoUse MV_FP_SIZE based constant instead of 3.
Nathan E. Egge [Thu, 8 Sep 2016 19:38:57 +0000 (15:38 -0400)]
Use MV_FP_SIZE based constant instead of 3.

Change-Id: I90ef3b49b499c2ac9c24797467cb4eb194fdf23b

8 years agoRemove duplicate code
Yaowu Xu [Fri, 21 Oct 2016 15:22:46 +0000 (08:22 -0700)]
Remove duplicate code

The duplicate breaks build.

Change-Id: I0f16761c4bcb8563402a664013429403b883c2e1

8 years agoMerge "Fix typos" into nextgenv2
Yaowu Xu [Fri, 21 Oct 2016 14:44:35 +0000 (14:44 +0000)]
Merge "Fix typos" into nextgenv2

8 years agoMerge "Fix encoder crash when --enable-daala-ec" into nextgenv2
Yaowu Xu [Fri, 21 Oct 2016 14:44:25 +0000 (14:44 +0000)]
Merge "Fix encoder crash when --enable-daala-ec" into nextgenv2

8 years agoMerge "Pass AV1_COMMON into av1_cost_coeffs" into nextgenv2
Yaowu Xu [Fri, 21 Oct 2016 03:20:27 +0000 (03:20 +0000)]
Merge "Pass AV1_COMMON into av1_cost_coeffs" into nextgenv2

8 years agoMerge "Add adapt_scan APIs and some helping functions" into nextgenv2
Yaowu Xu [Fri, 21 Oct 2016 03:20:17 +0000 (03:20 +0000)]
Merge "Add adapt_scan APIs and some helping functions" into nextgenv2

8 years agoMerge "Compute all token encodings from symbol trees." into nextgenv2
Yaowu Xu [Fri, 21 Oct 2016 03:20:01 +0000 (03:20 +0000)]
Merge "Compute all token encodings from symbol trees." into nextgenv2

8 years agoMerge "decodeframe.c: aom_read_tree_cdf->aom_read_symbol" into nextgenv2
Yaowu Xu [Fri, 21 Oct 2016 03:19:14 +0000 (03:19 +0000)]
Merge "decodeframe.c: aom_read_tree_cdf->aom_read_symbol" into nextgenv2

8 years agoMerge "Encoder/Decoder mismatch fix: need a separate copy of eob_counts." into nextgenv2
Yaowu Xu [Fri, 21 Oct 2016 01:23:25 +0000 (01:23 +0000)]
Merge "Encoder/Decoder mismatch fix: need a separate copy of eob_counts." into nextgenv2

8 years agoFix typos
Yaowu Xu [Fri, 21 Oct 2016 01:19:16 +0000 (18:19 -0700)]
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

8 years agoFix encoder crash when --enable-daala-ec
Yaowu Xu [Fri, 21 Oct 2016 00:56:54 +0000 (17:56 -0700)]
Fix encoder crash when --enable-daala-ec

Change-Id: I6855e18d92f693a9789eda7c91a3430566469bdd

8 years agoPass AV1_COMMON into av1_cost_coeffs
Angie Chiang [Fri, 21 Oct 2016 00:10:33 +0000 (17:10 -0700)]
Pass AV1_COMMON into av1_cost_coeffs

Change-Id: I2043d635e2a7f50f84a541501f28179b797ca326

8 years agoMerge changes I163874ee,I1424690f into nextgenv2
Angie Chiang [Thu, 20 Oct 2016 23:52:11 +0000 (23:52 +0000)]
Merge changes I163874ee,I1424690f into nextgenv2

* changes:
  Add data structure of adpat_scan experiment
  Add adapt_scan experimental flag

8 years agoMerge "Sync with aom branch for ext-refs" into nextgenv2
Zoe Liu [Thu, 20 Oct 2016 22:58:15 +0000 (22:58 +0000)]
Merge "Sync with aom branch for ext-refs" into nextgenv2

8 years agoPalette: Use inverse_color_order to find color index faster.
Urvang Joshi [Wed, 7 Sep 2016 21:57:49 +0000 (14:57 -0700)]
Palette: Use inverse_color_order to find color index faster.

Cherry-picked from aomedia/master: b1c3bb5

Change-Id: Icfc16070160fd9763abb1dbf5545103e62b4b9ff

8 years agoRewrite some loops to avoid -Wunsafe-loop-optimizations warnings.
Urvang Joshi [Fri, 15 Jul 2016 22:58:25 +0000 (15:58 -0700)]
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

8 years agoRemove some useless casts
Urvang Joshi [Fri, 15 Jul 2016 19:47:01 +0000 (12:47 -0700)]
Remove some useless casts

Cherry-picked from aomedia/master: 6796e7f

Change-Id: I8af087d97cadb0c2a9e37a4e4723246cdd397995

8 years agoAdd compiler warning flag -Wextra and fix related warnings.
Urvang Joshi [Thu, 14 Jul 2016 19:33:48 +0000 (12:33 -0700)]
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

8 years agoCompute all token encodings from symbol trees.
Nathan E. Egge [Fri, 20 May 2016 12:58:44 +0000 (08:58 -0400)]
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

8 years agodecodeframe.c: aom_read_tree_cdf->aom_read_symbol
Yaowu Xu [Thu, 20 Oct 2016 20:05:47 +0000 (13:05 -0700)]
decodeframe.c: aom_read_tree_cdf->aom_read_symbol

This was a missed replacement from cherry-pick of:
9ac7a9dc8ced90a28f5b83801a50597dc12e50a7

Change-Id: I9e01d9d7a39bed397500a293bf68dca2746aa917

8 years agoMerge changes I7d6394e4,Ia8ce1464,If20e8637,Ia9adc46b,I651db25b into nextgenv2
Yaowu Xu [Thu, 20 Oct 2016 22:30:11 +0000 (22:30 +0000)]
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

8 years agoMerge "Fix Visual Studio build." into nextgenv2
Yaowu Xu [Thu, 20 Oct 2016 22:29:57 +0000 (22:29 +0000)]
Merge "Fix Visual Studio build." into nextgenv2

8 years agoMerge "Offset speed feature setting index" into nextgenv2
Jingning Han [Thu, 20 Oct 2016 22:16:00 +0000 (22:16 +0000)]
Merge "Offset speed feature setting index" into nextgenv2

8 years agoMerge "Add tx_size to pixel number map" into nextgenv2
Jingning Han [Thu, 20 Oct 2016 22:15:52 +0000 (22:15 +0000)]
Merge "Add tx_size to pixel number map" into nextgenv2

8 years agoMerge "Add 2x2 directional intra predictors" into nextgenv2
Jingning Han [Thu, 20 Oct 2016 22:15:46 +0000 (22:15 +0000)]
Merge "Add 2x2 directional intra predictors" into nextgenv2

8 years agoMerge "Fix for AV1.TestTell" into nextgenv2
Debargha Mukherjee [Thu, 20 Oct 2016 22:05:36 +0000 (22:05 +0000)]
Merge "Fix for AV1.TestTell" into nextgenv2

8 years agoDeclare some array sizes to be constants (known at compile time).
Urvang Joshi [Mon, 25 Jul 2016 20:38:49 +0000 (13:38 -0700)]
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

8 years agoAdd complier warning -wunused.
Urvang Joshi [Thu, 14 Jul 2016 19:45:35 +0000 (12:45 -0700)]
Add complier warning -wunused.

Cherry-picked from aomedia/master: 953f086c

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

Change-Id: I027a4f2a540af5a304b358ddbf293965b4211b9e

8 years agoangle estimation: Some renames/tweaks to sync with aomedia code.
Urvang Joshi [Wed, 19 Oct 2016 18:48:54 +0000 (11:48 -0700)]
angle estimation: Some renames/tweaks to sync with aomedia code.

Change-Id: Ide91d76fafe79b2b310ffd5afb7cd5b26b681f78

8 years agoEncoder/Decoder mismatch fix: need a separate copy of eob_counts.
Urvang Joshi [Thu, 20 Oct 2016 21:51:01 +0000 (14:51 -0700)]
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

8 years agoMerge "Renaming in filter-intra sse4 code" into nextgenv2
Hui Su [Thu, 20 Oct 2016 21:36:41 +0000 (21:36 +0000)]
Merge "Renaming in filter-intra sse4 code" into nextgenv2

8 years agoMerge "Remove av1/common/intra_filters.h" into nextgenv2
Hui Su [Thu, 20 Oct 2016 21:35:10 +0000 (21:35 +0000)]
Merge "Remove av1/common/intra_filters.h" into nextgenv2

8 years agoMerge "Seperate FILTER_INTRA from EXT_INTRA experiment" into nextgenv2
Hui Su [Thu, 20 Oct 2016 21:34:32 +0000 (21:34 +0000)]
Merge "Seperate FILTER_INTRA from EXT_INTRA experiment" into nextgenv2

8 years agoMerge "Add matching brace in aomenc.c" into nextgenv2
James Zern [Thu, 20 Oct 2016 19:38:56 +0000 (19:38 +0000)]
Merge "Add matching brace in aomenc.c" into nextgenv2

8 years agoFix logical vs bitwise & bug
Sarah Parker [Thu, 20 Oct 2016 19:00:16 +0000 (12:00 -0700)]
Fix logical vs bitwise & bug

This was causing one of the global motion parameters to not
be centered at 0.

Change-Id: Ide32e3d177bed5613ab768a19b4e33b37692463a

8 years agoRemove the has_no_coeffs corner case
Peter de Rivaz [Thu, 20 Oct 2016 15:00:05 +0000 (16:00 +0100)]
Remove the has_no_coeffs corner case

BUG=webm:1277

Change-Id: I052239e8a6c468da8704bdbbb663b59533c01be2

8 years agoAdd adapt_scan APIs and some helping functions
Angie Chiang [Thu, 20 Oct 2016 18:20:40 +0000 (11:20 -0700)]
Add adapt_scan APIs and some helping functions

av1_init_scan_order
initialize data structures related to adaptive scan order

av1_update_scan_prob
update nonzero probabilities from nonzero counts

av1_augment_prob
embed r + c and coeff_idx info with nonzero probabilities.
When sorting the nonzero probabilities, if there is a tie,
the coefficient with smaller r + c will be scanned first

av1_update_sort_order
apply quick sort on nonzero probabilities to obtain a sort order

av1_update_scan_order
apply topological sort on the nonzero probabilities sorting order to
guarantee each to-be-scanned coefficient's upper and left coefficient
will be scanned before the to-be-scanned coefficient.

av1_update_neighbors
For each coeff_idx in scan[], update its above and left neighbors in
neighbors[] accordingly.

Change-Id: I64c4938057daf8e30e48609a00ecc08d2e3062f4

8 years agoSync with aom branch for ext-refs
Zoe Liu [Wed, 19 Oct 2016 00:12:11 +0000 (17:12 -0700)]
Sync with aom branch for ext-refs

Plus a small code clean up. The experiment of EXT_REFS, compared against
the baseline, using Overall PSNR, now obtains a gain on lowres as:
Avg: -5.818; BDRate: -5.653

Compared against the previous EXT_REFS results on lowres, a tiny gain is
obtained as:
Avg: -0.047, BDRate: -0.063

(1) 780952 Add encoder first pass support to bi-prediction in EXT_REFS
(2) f91498 Add pred prob handling for new references in EXT_REFS
(3) e91472 Add decoder support for bi-direct prediction in EXT_REFS
(4) 0dbac9 Add encoder support to new references in EXT_REFS
(5) ad70cc Remove hard-coded number for EXT_REFS
(6) 9c1e2f Add the use of new reference frames at encoder in EXT_REFS
(7) 6d4fde Add the experiment flag of EXT_REFS

Change-Id: I26f7ca45b9ede7579fdb9d0d6a1a91f4334599bd

8 years agoAdd data structure of adpat_scan experiment
Angie Chiang [Thu, 20 Oct 2016 16:50:32 +0000 (09:50 -0700)]
Add data structure of adpat_scan experiment

Change-Id: I163874ee64b9c348de2c7cc8e7b2852308734b0e

8 years agoFix the overflow of av1_fht32x32() in 2D DCT_DCT
Yi Luo [Mon, 17 Oct 2016 18:18:50 +0000 (11:18 -0700)]
Fix the overflow of av1_fht32x32() in 2D DCT_DCT

- Use range check function to avoid DCT_DCT overflow.
  We need to re-develop the column txfm side scaling/rounding. Now,
  we prefer to maintain the current BDRate level.
- Encoder user level time reduction <1% owing to av1_fht32x32_avx2.
- Add MemCheck unit test and fdct32() unit test.

Change-Id: I1e67030f67bc637859798ebe2f6698afffb8531c

8 years agoAdd adapt_scan experimental flag
Angie Chiang [Thu, 20 Oct 2016 16:19:01 +0000 (09:19 -0700)]
Add adapt_scan experimental flag

Change-Id: I1424690fa792b960a1cfb78bbcb37da6b9899ee6

8 years agoFix for AV1.TestTell
Peter de Rivaz [Thu, 20 Oct 2016 15:21:20 +0000 (16:21 +0100)]
Fix for AV1.TestTell

The tell functions return an unsigned integer.
This causes the AV1.TestTell test case to fail because
-1 is greater than 20 when treated as an unsigned integer.

Change-Id: I9dd1d7eb61260d30d1713a4917159fc6fe8eee42

8 years agoRenaming in filter-intra sse4 code
hui su [Tue, 18 Oct 2016 23:31:57 +0000 (16:31 -0700)]
Renaming in filter-intra sse4 code

Change-Id: Iff1786a92d164e6b9cfaf4a59ece79819494276f

8 years agoRemove av1/common/intra_filters.h
hui su [Tue, 18 Oct 2016 23:07:04 +0000 (16:07 -0700)]
Remove av1/common/intra_filters.h

Use a single header reconintra.h for all intra prediction
related codes.

Change-Id: Ib869447f8c482b534c890eab673e81ff830e8d85

8 years agoSeperate FILTER_INTRA from EXT_INTRA experiment
hui su [Fri, 14 Oct 2016 23:10:14 +0000 (16:10 -0700)]
Seperate FILTER_INTRA from EXT_INTRA experiment

Prepare for the av1/nextgenv2 merge.

Coding gain (%):

               lowres     midres
ext-intra       0.69       0.97
filter-intra    0.67       0.83
both            1.05       1.48

Change-Id: Ia24d6fafb3e484c4f92192e0b7eee5e39f4f4ee6

8 years agoMerge "Partition the ans experiment into 'ans' and 'rans'" into nextgenv2
Yaowu Xu [Wed, 19 Oct 2016 22:58:05 +0000 (22:58 +0000)]
Merge "Partition the ans experiment into 'ans' and 'rans'" into nextgenv2

8 years agoOffset speed feature setting index
Jingning Han [Wed, 19 Oct 2016 22:11:24 +0000 (15:11 -0700)]
Offset speed feature setting index

Change-Id: If201cbd4175842f68e6dcfb0414ff16ca07e0881

8 years agoAdd matching brace in aomenc.c
hui su [Mon, 3 Oct 2016 22:48:43 +0000 (15:48 -0700)]
Add matching brace in aomenc.c

Change-Id: Iccb75d5204f0f52f2c7d6e18d1f8223ce10f68ba

8 years agoDefine SIMD_INLINE using AOM_FORCE_INLINE
Steinar Midtskogen [Tue, 18 Oct 2016 06:04:28 +0000 (08:04 +0200)]
Define SIMD_INLINE using AOM_FORCE_INLINE

Change-Id: I7d6394e48e9b6093e5b523387ed250f371ee7fb9

8 years agoFix Visual Studio build.
Thomas [Tue, 20 Sep 2016 11:07:11 +0000 (12:07 +0100)]
Fix Visual Studio build.

Change-Id: I01608dfd597cc1d2bd4e73918aa29cf9251edb08

8 years agoStep size and arithmetic coding for delta quantization.
Thomas Davies [Mon, 5 Sep 2016 15:51:31 +0000 (16:51 +0100)]
Step size and arithmetic coding for delta quantization.

Example performance: 1.8% bit rate savings using
the AQ test mode aq-mode=4 :
./aomenc --codec=av1 --ivf --tile-columns=1 --tile-rows=1 \
                 --kf-max-dist=1000 --kf-min-dist=1000 --cpu-used=0 \
                 --passes=1 --threads=1 --lag-in-frames=0 \
                 --end-usage=q --limit=600 --cq-level=42 \
                 --aq-mode=4 --error-resilient=1 out.bits FourPeople_1280x720_60.y4m

Change-Id: Iba01cf2732a57f3c27481ac2a3c8fc37bb9e5533

8 years agoAOM_FORCE_INLINE: fix always_inline attribute
James Zern [Mon, 17 Oct 2016 19:39:34 +0000 (12:39 -0700)]
AOM_FORCE_INLINE: fix always_inline attribute

Change-Id: Ia8ce146489713e137004ccf41faf35aa5645b8ae

8 years agoSupport for delta-q at superblock level
Arild Fuldseth [Mon, 15 Aug 2016 13:07:52 +0000 (15:07 +0200)]
Support for delta-q at superblock level

Change-Id: I4128af44776d1f361bddc1fdffb75ed2224dbfa5

8 years agoFree memory allocated by daala_ec encoder.
Nathan E. Egge [Fri, 14 Oct 2016 11:07:03 +0000 (07:07 -0400)]
Free memory allocated by daala_ec encoder.

Free the two memory buffers allocated by the daala_ec encoder when
 calling od_ec_enc_clear() from aom_daala_stop_encode().

Change-Id: If20e86374ea29e51ee59111012905e56039dd4cc

8 years agoMove clpf_sse4_1.c to clpf_sse4.c in agreement with convention
Steinar Midtskogen [Tue, 18 Oct 2016 05:56:52 +0000 (07:56 +0200)]
Move clpf_sse4_1.c to clpf_sse4.c in agreement with convention

Change-Id: Ia9adc46b8a4d08c5b8e0089ea1a1526df4f1e1dc

8 years agosync avg_test.cc with aom/master
Yaowu Xu [Wed, 19 Oct 2016 21:23:22 +0000 (14:23 -0700)]
sync avg_test.cc with aom/master

Change-Id: I651db25bee8f83a9fc6dcd35db5007a002f171c0

8 years agoMerge "Always send frame size explicitly" into nextgenv2
Yaowu Xu [Wed, 19 Oct 2016 22:00:40 +0000 (22:00 +0000)]
Merge "Always send frame size explicitly" into nextgenv2

8 years agoAdd 2x2 directional intra predictors
Jingning Han [Wed, 19 Oct 2016 20:04:26 +0000 (13:04 -0700)]
Add 2x2 directional intra predictors

Change-Id: Iaa25269a15231dadeaba0f4836c864fc10e858df

8 years agoMerge "Fix build issues when --enable-aom-qm" into nextgenv2
Yaowu Xu [Wed, 19 Oct 2016 21:56:40 +0000 (21:56 +0000)]
Merge "Fix build issues when --enable-aom-qm" into nextgenv2

8 years agoAdd tx_size to pixel number map
Jingning Han [Wed, 19 Oct 2016 21:52:53 +0000 (14:52 -0700)]
Add tx_size to pixel number map

Change-Id: I789fa11638f155f1092a1e9260d26c7855d18e37

8 years agoMerge "Fix decodeframe.c format" into nextgenv2
Yaowu Xu [Wed, 19 Oct 2016 21:28:06 +0000 (21:28 +0000)]
Merge "Fix decodeframe.c format" into nextgenv2

8 years agoMerge "Remove OBMC from the experimental configure list" into nextgenv2
Yue Chen [Wed, 19 Oct 2016 21:02:15 +0000 (21:02 +0000)]
Merge "Remove OBMC from the experimental configure list" into nextgenv2

8 years agoMerge "Add unit test for delta-q (aq-mode=4)" into nextgenv2
Yaowu Xu [Wed, 19 Oct 2016 21:01:03 +0000 (21:01 +0000)]
Merge "Add unit test for delta-q (aq-mode=4)" into nextgenv2

8 years agoFix decodeframe.c format
Jingning Han [Wed, 19 Oct 2016 20:48:57 +0000 (13:48 -0700)]
Fix decodeframe.c format

Change-Id: I2228a3d1778917ac760582fbec3c868be5d9ba1c

8 years agoAlways send frame size explicitly
Arild Fuldseth [Fri, 2 Sep 2016 11:00:05 +0000 (13:00 +0200)]
Always send frame size explicitly

This commit changes to send frame size explicitly when
error_resilient_mode=1. Purpose is to allow parsing of bitstream
after a packet loss.

Change-Id: I7d1c010a465aa18914762cc1a3e61db377304c08

8 years agoFix build issues when --enable-aom-qm
Yaowu Xu [Wed, 19 Oct 2016 16:31:50 +0000 (09:31 -0700)]
Fix build issues when --enable-aom-qm

Change-Id: I1a462675c06c4b2a5f8b4b347f23fec67feccdd0

8 years agoPartition the ans experiment into 'ans' and 'rans'
Alex Converse [Wed, 19 Oct 2016 18:31:48 +0000 (11:31 -0700)]
Partition the ans experiment into 'ans' and 'rans'

The (new) ans experiment replaces the bool coder with uABS bools. The
'rans' experiment adds multisymbol coding.

This matches the setup in aom/master.

Change-Id: Ida8372ccabf1e1e9afc45fe66362cda35a491222

8 years agoMerge "Fix failing TestBitIO test with --enable-daala_ec." into nextgenv2
Yaowu Xu [Wed, 19 Oct 2016 18:59:20 +0000 (18:59 +0000)]
Merge "Fix failing TestBitIO test with --enable-daala_ec." into nextgenv2

8 years agoMerge "Change return type of tell and tell_frac to uint32_t." into nextgenv2
Yaowu Xu [Wed, 19 Oct 2016 18:59:07 +0000 (18:59 +0000)]
Merge "Change return type of tell and tell_frac to uint32_t." into nextgenv2

8 years agoRemove OBMC from the experimental configure list
Yue Chen [Wed, 19 Oct 2016 18:22:04 +0000 (11:22 -0700)]
Remove OBMC from the experimental configure list

It was replaced by MOTION_VAR in commit cb60b18

Change-Id: I7ab625eef4dbae2e5585d9fa3b6873aa78b2c254