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

8 years agoMerge "Adjust gm costing so GLOBAL_ZERO is treated as regular zeromv" into nextgenv2
Sarah Parker [Wed, 19 Oct 2016 00:44:12 +0000 (00:44 +0000)]
Merge "Adjust gm costing so GLOBAL_ZERO is treated as regular zeromv" into nextgenv2

8 years agoFix format in set_offsets()
Jingning Han [Fri, 15 Jul 2016 18:06:05 +0000 (11:06 -0700)]
Fix format in set_offsets()

Change-Id: I371297e6ee000e6dc01ba1544763cbed429b0e5a

8 years agoTemporary fix for 4X8 block intra prediction.
Brennan Shacklett [Wed, 3 Aug 2016 17:35:01 +0000 (10:35 -0700)]
Temporary fix for 4X8 block intra prediction.

Currently the RD loop traverses 4X8 blocks in inverted N order while
the bitstream stores blocks smaller than 8x8 in Z order. This causes a
discrepancy where the RD loop reads uninitialized data while
performing intra prediction.  As a temporary fix simply disable the
use of the extended right edge for 4X8 blocks, until the bitstream can
be changed to match the logical structure of the blocks.

Change-Id: I44a9e4fc1a15cd551a7b38c3c1227bc5dac77e9a

8 years agoFix warnings reported by -Wshadow: Part3: test/ directory
Urvang Joshi [Mon, 17 Oct 2016 21:34:48 +0000 (14:34 -0700)]
Fix warnings reported by -Wshadow: Part3: test/ directory

Cherry-picked from aomedia/master: be029580

Change-Id: I3bab28488388f92f2db20e6af8fc9cf2d7f26015

8 years agoFix warnings reported by -Wshadow: Part2b: more from av1 directory
Urvang Joshi [Mon, 17 Oct 2016 23:31:34 +0000 (16:31 -0700)]
Fix warnings reported by -Wshadow: Part2b: more from av1 directory

From code only part of nextgenv2 (and not aomedia)

Change-Id: I21f7478a59d525dff23747efe5238ded16b743d2

8 years agoFix warnings reported by -Wshadow: Part2: av1 directory
Urvang Joshi [Fri, 14 Oct 2016 23:51:44 +0000 (16:51 -0700)]
Fix warnings reported by -Wshadow: Part2: av1 directory

While we are at it:
- Rename some variables to more meaningful names
- Reuse some common consts from a header instead of redefining them.

Cherry-picked from aomedia/master: 863b0499

Change-Id: Ida5de713156dc0126a27f90fdd36d29a398a3c88

8 years agoFix warnings reported by -Wshadow: Part1b: scan_order struct and variable
Urvang Joshi [Fri, 14 Oct 2016 22:53:39 +0000 (15:53 -0700)]
Fix warnings reported by -Wshadow: Part1b: scan_order struct and variable

- Change struct name to all caps SCAN_ORDER to be locally consistent.
- Rename struct pointers to 'scan_order' instead of hard to read short
  names 'so' and 'sc'.

Cherry-picked from aomedia/master: 30abc082

Change-Id: Ib9f0eefe28fa97d23d642b77d7dc8e5f8613177d

8 years agoFix warnings reported by -Wshadow: Part1: aom_dsp directory
Urvang Joshi [Fri, 14 Oct 2016 22:30:27 +0000 (15:30 -0700)]
Fix warnings reported by -Wshadow: Part1: aom_dsp directory

While we are at it:
- Rename some variables to more meaningful names
- Reuse some common consts from a header instead of redefining them.

Cherry-picked from aomedia/master: 09eea2193

Change-Id: I61030e773137ae107d3bd43556c0d5bb26f9dbf8

8 years agoMove STAT_TYPE enum to source file.
Urvang Joshi [Mon, 17 Oct 2016 23:38:05 +0000 (16:38 -0700)]
Move STAT_TYPE enum to source file.

In the header, all we need is number of stat types, not the names for actual
types.

Removing it avoids names like 'Y', 'U', 'V' and 'ALL' being visible
in all files that include the encoder.h header.

Change-Id: I874a73a3cfe6bcb29aedea102077a52addc49af6

8 years agoCode cleanup: mainly rd_pick_partition and methods called from there.
Urvang Joshi [Fri, 14 Oct 2016 00:27:51 +0000 (17:27 -0700)]
Code cleanup: mainly rd_pick_partition and methods called from there.

- Const correctness
- Refactoring
- Make variables local when possible etc
- Remove -Wcast-qual to allow explicitly casting away const.

Cherry-picked from aomedia/master: c27fcccc
And then a number of more const correctness changes to make sure other
experiments build OK.

Change-Id: I77c18d99d21218fbdc9b186d7ed3792dc401a0a0

8 years agoUpdate segment tree_cdf per frame.
Nathan E. Egge [Sat, 20 Aug 2016 00:06:51 +0000 (20:06 -0400)]
Update segment tree_cdf per frame.

Move computing the segmentation_probs.tree_cdf table per symbol to
 computing it only when the probabilities are updated.

Change-Id: I3826418094bbaca4ded87de5ff04d4b27c85e35a

8 years agoAdds ability to measure with a higher precision the number of bits
Michael Bebenita [Thu, 25 Aug 2016 18:27:56 +0000 (11:27 -0700)]
Adds ability to measure with a higher precision the number of bits
read per symbol.

Change-Id: I218abaa5172b769b66dba45050381c0212602668

8 years agoAdd clamping to parameter search
Sarah Parker [Tue, 18 Oct 2016 23:27:04 +0000 (16:27 -0700)]
Add clamping to parameter search

This fixes mismatches due to overflowing low precision parameters.

Change-Id: If34e39ca7ab0adc9688d46b0e8ed62cbb6fdaff0

8 years agoAdjust gm costing so GLOBAL_ZERO is treated as regular zeromv
Sarah Parker [Tue, 18 Oct 2016 23:18:23 +0000 (16:18 -0700)]
Adjust gm costing so GLOBAL_ZERO is treated as regular zeromv

Change-Id: I1b41146ae844c985566f5f9fdaeb5d4a4a5927b6

8 years agoFix ransac random generator seeding
Sarah Parker [Tue, 11 Oct 2016 19:29:07 +0000 (12:29 -0700)]
Fix ransac random generator seeding

Ransac's get_rand_indices originally used rand_r seeded with the
same value every time, producing the same random sequence at every
iteration. This causes the global motion parameters to be slightly
less accurate because ransac cannot improve the model fit after
the first attempt.

Change-Id: Idca2f88468ea21d19ba41ab66e5a2744ee33aade

8 years agoAdd av1_fdct64_new and av1_idct64_new
Angie Chiang [Tue, 18 Oct 2016 19:24:20 +0000 (12:24 -0700)]
Add av1_fdct64_new and av1_idct64_new

Change-Id: If497816d7f6ee094d40872a2f988c91e90b78d7b

8 years agoRemove rd_variance_adjustment
Guillaume Martres [Tue, 23 Aug 2016 08:16:35 +0000 (01:16 -0700)]
Remove rd_variance_adjustment

This function is called after `super_block_yrd` and assumes that the dst
buffer is correct but that is no longer always the case after
daf841b4a10ece1b6831300d79f271d00f9d027b since we don't call
`txfm_rd_in_plane` after the RDO loop in `choose_tx_size_from_rd`.
We could fix this by always saving and restoring the dst buffer but
removing `rd_variance_adjustment` is a better solution:
- Getting the dst buffer always right is tricky as demonstrated by the
  fact that it is wrong now, even if we fix it now we could break it later
  and not notice
- Perceptual weighting is a good idea but `rd_variance_adjustment` is the
  wrong approach as it weights both the rate and the distortion:
  to get meaningful units you should only weight the distortion,
  weighting rate means that we pretend some bits cost less than other
  bits, this is not the case. The distortion weighting approach is
  implemented by Daala in `od_compute_dist` and we plan to experiment
  with this in AV1 too.
- Removing `rd_variance_adjustment` improves coding efficiency on all
  metrics, here are the results for objective-1-fast using the Low
  Latency settings:

      PSNR Y:     -0.14%
     PSNRHVS:     -0.17%
        SSIM:     -0.12%
      MSSSIM:     -0.12%
   CIEDE2000:     -0.07%

Change-Id: I74b26b568ee65f56521646b8f30dd53bcd29fce3

8 years agoAdd cb4x4 experimental flag
Jingning Han [Fri, 19 Aug 2016 17:10:14 +0000 (10:10 -0700)]
Add cb4x4 experimental flag

Experiment on coding block at resolution of 4x4 block.

Change-Id: I6aa201038f00c590747d800edb0a3e76ab1a51e8

8 years agoRemove unused PICK_MODE_CONTEXT::is_coded.
Yushin Cho [Wed, 10 Aug 2016 18:52:05 +0000 (11:52 -0700)]
Remove unused PICK_MODE_CONTEXT::is_coded.

Change-Id: Ibc73b4066dcdee45d32355144124762d26a16a28