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

8 years agoAdd unit test for delta-q (aq-mode=4)
Arild Fuldseth (arilfuld) [Thu, 22 Sep 2016 12:23:45 +0000 (14:23 +0200)]
Add unit test for delta-q (aq-mode=4)

Change-Id: Ic529355880b4dbd076a7e46e7b03a49a1ee5f6f0

8 years agoMerge changes I3922dea2,I3bab2848,I21f7478a,Ida5de713,Ib9f0eefe, ... into nextgenv2
Urvang Joshi [Wed, 19 Oct 2016 18:25:52 +0000 (18:25 +0000)]
Merge changes I3922dea2,I3bab2848,I21f7478a,Ida5de713,Ib9f0eefe, ... into nextgenv2

* changes:
  Fix warnings reported by -Wshadow: Part4: main directory
  Fix warnings reported by -Wshadow: Part3: test/ directory
  Fix warnings reported by -Wshadow: Part2b: more from av1 directory
  Fix warnings reported by -Wshadow: Part2: av1 directory
  Fix warnings reported by -Wshadow: Part1b: scan_order struct and variable
  Fix warnings reported by -Wshadow: Part1: aom_dsp directory
  Move STAT_TYPE enum to source file.
  Code cleanup: mainly rd_pick_partition and methods called from there.

8 years agoFix failing TestBitIO test with --enable-daala_ec.
Nathan E. Egge [Tue, 11 Oct 2016 21:46:03 +0000 (17:46 -0400)]
Fix failing TestBitIO test with --enable-daala_ec.

Change-Id: I6a885b7c6315261d67a9c2fcde914206b8301f4a

8 years agoChange return type of tell and tell_frac to uint32_t.
Nathan E. Egge [Wed, 7 Sep 2016 03:48:43 +0000 (23:48 -0400)]
Change return type of tell and tell_frac to uint32_t.

The bit accounting functions aom_reader_tell() and aom_reader_tell_frac()
 return the number of bits and 1/8th bits respectively.
This patch changes the return type from ptrdiff_t which is signed to
 uint32_t which is unsigned.
The size_t type is not used since we only care about the number of bits
 or 1/8 bits per entropy coder context and we don't expect to code more
 than 512 megabits per tile.

Change-Id: I84a119d1f52829dcbdb66a92656eacca06e42b11

8 years agoMerge "Temporary fix for 4X8 block intra prediction." into nextgenv2
Hui Su [Wed, 19 Oct 2016 16:55:20 +0000 (16:55 +0000)]
Merge "Temporary fix for 4X8 block intra prediction." into nextgenv2

8 years agoMerge "Fix format in set_offsets()" into nextgenv2
Hui Su [Wed, 19 Oct 2016 16:54:29 +0000 (16:54 +0000)]
Merge "Fix format in set_offsets()" into nextgenv2

8 years agoMerge "Add av1_fdct64_new and av1_idct64_new" into nextgenv2
Angie Chiang [Wed, 19 Oct 2016 16:34:24 +0000 (16:34 +0000)]
Merge "Add av1_fdct64_new and av1_idct64_new" into nextgenv2

8 years agoFix warnings reported by -Wshadow: Part4: main directory
Urvang Joshi [Mon, 17 Oct 2016 21:53:33 +0000 (14:53 -0700)]
Fix warnings reported by -Wshadow: Part4: main directory

Now that all warnings are taken care of, add warning flag -Wshadow to
configure.

Note: Enabling this flag for C++ generates some useless warnings about
some function parameters shadowing class member function names. So, only
enabling this warning for C code.

Cherry-picked from aomedia/master: b96cbc4

Change-Id: I3922dea2e6976b16519c4aa4d1bd395c198134f1

8 years agoFix for var_tx context update
Peter de Rivaz [Wed, 19 Oct 2016 10:43:11 +0000 (11:43 +0100)]
Fix for var_tx context update

The tx_partition_set_contexts function changes tx_size even
for blocks coded with a rectangular transform.
This causes an internal rd inconsistency when using all of
CONFIG_VAR_TX, CONFIG_RECT_TX, CONFIG_EXT_TX.

Change-Id: Ia45d4a8893b0961534219bb96d9652719038c7a1

8 years agoReorder includes
Yaowu Xu [Wed, 19 Oct 2016 00:15:40 +0000 (17:15 -0700)]
Reorder includes

Change-Id: I97487bf353471bf9d245cd620780adfb1d3fc2b1

8 years agoBit accounting.
Michael Bebenita [Thu, 25 Aug 2016 21:40:54 +0000 (14:40 -0700)]
Bit accounting.

This patch adds bit account infrastructure to the bit reader API.
When configured with --enable-accounting, every bit reader API
function records the number of bits necessary to decoding a symbol.
Accounting symbol entries are collected in global accounting data
structure, that can be used to understand exactly where bits are
spent (http://aomanalyzer.org). The data structure is cleared and
reused each frame to reduce memory usage. When configured without
--enable-accounting, bit accounting does not incur any runtime
overhead.

All aom_read_xxx functions now have an additional string parameter
that specifies the symbol name. By default, the ACCT_STR macro is
used (which expands to __func__). For more precise accounting,
these should be replaced with more descriptive names.

Change-Id: Ia2e1343cb842c9391b12b77272587dfbe307a56d

8 years agoMerge "Fix ransac random generator seeding" into nextgenv2
Debargha Mukherjee [Wed, 19 Oct 2016 01:39:08 +0000 (01:39 +0000)]
Merge "Fix ransac random generator seeding" into nextgenv2

8 years agoMerge "Update segment tree_cdf per frame." into nextgenv2
Yaowu Xu [Wed, 19 Oct 2016 01:09:52 +0000 (01:09 +0000)]
Merge "Update segment tree_cdf per frame." into nextgenv2

8 years agoMerge "Adds ability to measure with a higher precision the number of bits read per...
Yaowu Xu [Wed, 19 Oct 2016 01:09:41 +0000 (01:09 +0000)]
Merge "Adds ability to measure with a higher precision the number of bits read per symbol." into nextgenv2

8 years agoMerge "Add clamping to parameter search" into nextgenv2
Sarah Parker [Wed, 19 Oct 2016 00:44:28 +0000 (00:44 +0000)]
Merge "Add clamping to parameter search" into nextgenv2