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

8 years agoAdd sub8x8_mc experimental flag
Jingning Han [Tue, 21 Jun 2016 01:24:38 +0000 (18:24 -0700)]
Add sub8x8_mc experimental flag

Change-Id: Ifcc329df240c0771172180933a6180b21fd31abe

8 years agoMerge "Remove macroblock::skip_optimize." into nextgenv2
Yaowu Xu [Tue, 18 Oct 2016 19:52:50 +0000 (19:52 +0000)]
Merge "Remove macroblock::skip_optimize." into nextgenv2

8 years agoMerge "Skip 4x4 transform if maximum possible transform is 32x32" into nextgenv2
Yaowu Xu [Tue, 18 Oct 2016 19:52:41 +0000 (19:52 +0000)]
Merge "Skip 4x4 transform if maximum possible transform is 32x32" into nextgenv2

8 years agoMerge "Take out some early termination speed features" into nextgenv2
Yaowu Xu [Tue, 18 Oct 2016 19:48:46 +0000 (19:48 +0000)]
Merge "Take out some early termination speed features" into nextgenv2

8 years agoMerge "Add experimental tag for 64x64 transform" into nextgenv2
Angie Chiang [Tue, 18 Oct 2016 19:14:55 +0000 (19:14 +0000)]
Merge "Add experimental tag for 64x64 transform" into nextgenv2

8 years agoRemove macroblock::skip_optimize.
Yushin Cho [Tue, 21 Jun 2016 21:29:56 +0000 (14:29 -0700)]
Remove macroblock::skip_optimize.

This is not used since the commint 00cd5de536fd5545d8fb663b2db81c014e3e6a41,
"Remove skip_recode speed feature".

Change-Id: Ic03da6c0095f6285a3889d5d22e8aaa2e6cbfd79

8 years agoSkip 4x4 transform if maximum possible transform is 32x32
Hui Su [Tue, 18 Oct 2016 17:21:36 +0000 (10:21 -0700)]
Skip 4x4 transform if maximum possible transform is 32x32

On average no compression performance changes. Encoding speed is
increased by 10~20% on some test clips in the derf set.

Change-Id: I9856caaa260303f6f6259686671bed7d51012277

8 years agoTake out some early termination speed features
Jingning Han [Tue, 7 Jun 2016 23:11:42 +0000 (16:11 -0700)]
Take out some early termination speed features

Drop some speed features used in speed 2 and above, during the
algorithm development process. This helps simplify the codebase.

Change-Id: I3b2f5560d90b00d2d8fd57c2cb36f6ddd3f228e4

8 years agoMerge "Move a statement to match order in aom/master" into nextgenv2
Yaowu Xu [Tue, 18 Oct 2016 17:58:32 +0000 (17:58 +0000)]
Merge "Move a statement to match order in aom/master" into nextgenv2

8 years agoMerge "Remove stale OD_ACCOUNTING code." into nextgenv2
Yaowu Xu [Tue, 18 Oct 2016 17:58:13 +0000 (17:58 +0000)]
Merge "Remove stale OD_ACCOUNTING code." into nextgenv2

8 years agoAdd experimental tag for 64x64 transform
Debargha Mukherjee [Tue, 18 Oct 2016 17:24:31 +0000 (10:24 -0700)]
Add experimental tag for 64x64 transform

Change-Id: I65c04006f6e6eb13ceb22efc1c39915cb3c82b82

8 years agoMove a statement to match order in aom/master
Yaowu Xu [Tue, 18 Oct 2016 17:00:21 +0000 (10:00 -0700)]
Move a statement to match order in aom/master

Change-Id: Ic11eae36c9c62a20699197847aa3ef9562d4ad7e

8 years agoMerge "Port aom_reader_tell() support" into nextgenv2
Yaowu Xu [Tue, 18 Oct 2016 16:48:57 +0000 (16:48 +0000)]
Merge "Port aom_reader_tell() support" into nextgenv2

8 years agoRemove stale OD_ACCOUNTING code.
Michael Bebenita [Tue, 23 Aug 2016 23:03:39 +0000 (16:03 -0700)]
Remove stale OD_ACCOUNTING code.

Change-Id: Ie90dd06c387119ccd9c920a328c942477df00bb7

8 years agoMerge "Fix for var_tx entropy context with rect_tx" into nextgenv2
Debargha Mukherjee [Tue, 18 Oct 2016 16:03:37 +0000 (16:03 +0000)]
Merge "Fix for var_tx entropy context with rect_tx" into nextgenv2

8 years agoMerge "Correction to costing rect_tx" into nextgenv2
Debargha Mukherjee [Tue, 18 Oct 2016 16:03:18 +0000 (16:03 +0000)]
Merge "Correction to costing rect_tx" into nextgenv2

8 years agoPort aom_reader_tell() support
Michael Bebenita [Wed, 3 Aug 2016 23:13:04 +0000 (16:13 -0700)]
Port aom_reader_tell() support

This commit ports the following from aom/master:
4c46278 Add aom_reader_tell() support.
b9c9935 Remove an erroneous declaration.
56c9c3b Fix ANS build.

Change-Id: I59bd910f58c218c649a1de2a7b5fae0397e13cb1

8 years agoFix for var_tx entropy context with rect_tx
Peter de Rivaz [Tue, 18 Oct 2016 14:38:01 +0000 (15:38 +0100)]
Fix for var_tx entropy context with rect_tx

This computation should match the code in encode_block
to increase the accuracy of the rd optimization.

Change-Id: Ibc9d9ab6d88d0c0f3af62e9cc233216aba48a57e

8 years agoCorrection to costing rect_tx
Peter de Rivaz [Tue, 18 Oct 2016 10:47:56 +0000 (11:47 +0100)]
Correction to costing rect_tx

When built with var_tx and ext_tx, select_tx_size_fix_type is used
to compute the cost for using a particular tx_type.
The code indexes the array inter_tx_type_costs at the wrong location
resulting in a zero cost for signalling tx_type for rect_tx blocks.

Change-Id: Iba38be3a0d822109f778f0600b242dfb40359766

8 years agoCreate aom_cdf_prob type for 16-bit probabilities.
Nathan E. Egge [Fri, 19 Aug 2016 21:16:31 +0000 (17:16 -0400)]
Create aom_cdf_prob type for 16-bit probabilities.

Change-Id: I33899eca44300037816c9f20c965aa8311a1ef52

8 years agoRename daala_read_tree_cdf() to daala_read_symbol().
Nathan E. Egge [Fri, 19 Aug 2016 19:31:43 +0000 (15:31 -0400)]
Rename daala_read_tree_cdf() to daala_read_symbol().

Change-Id: I35f85bad88c637cea62577c546cdd5ced0e21bd6

8 years agoMerge "Add filter_intra experiment flag" into nextgenv2
Hui Su [Tue, 18 Oct 2016 00:54:20 +0000 (00:54 +0000)]
Merge "Add filter_intra experiment flag" into nextgenv2

8 years agoMerge "Fix warning when discarding const qualifier." into nextgenv2
Yaowu Xu [Tue, 18 Oct 2016 00:50:09 +0000 (00:50 +0000)]
Merge "Fix warning when discarding const qualifier." into nextgenv2

8 years agoMerge "Revert code formatting of OD_UNIFORM_CDFS_Q15." into nextgenv2
Yaowu Xu [Tue, 18 Oct 2016 00:49:56 +0000 (00:49 +0000)]
Merge "Revert code formatting of OD_UNIFORM_CDFS_Q15." into nextgenv2

8 years agoMerge "Rename aom_write_tree_cdf() to aom_write_symbol()." into nextgenv2
Yaowu Xu [Tue, 18 Oct 2016 00:49:41 +0000 (00:49 +0000)]
Merge "Rename aom_write_tree_cdf() to aom_write_symbol()." into nextgenv2

8 years agoMerge "Bug fix in super_block_uvrd()." into nextgenv2
Yaowu Xu [Tue, 18 Oct 2016 00:49:27 +0000 (00:49 +0000)]
Merge "Bug fix in super_block_uvrd()." into nextgenv2

8 years agoMerge "Display --bit-depth in -h with highbitdepth enabled." into nextgenv2
Yaowu Xu [Tue, 18 Oct 2016 00:49:18 +0000 (00:49 +0000)]
Merge "Display --bit-depth in -h with highbitdepth enabled." into nextgenv2

8 years agoMerge "Update partition_cdf per frame." into nextgenv2
Yaowu Xu [Tue, 18 Oct 2016 00:49:05 +0000 (00:49 +0000)]
Merge "Update partition_cdf per frame." into nextgenv2

8 years agoMerge "Update inter_ext_tx_cdf per frame." into nextgenv2
Yaowu Xu [Tue, 18 Oct 2016 00:48:53 +0000 (00:48 +0000)]
Merge "Update inter_ext_tx_cdf per frame." into nextgenv2

8 years agoMerge "Update intra_ext_tx_cdf per frame." into nextgenv2
Yaowu Xu [Tue, 18 Oct 2016 00:48:41 +0000 (00:48 +0000)]
Merge "Update intra_ext_tx_cdf per frame." into nextgenv2

8 years agoMerge "Update switchable_interp_cdf once per frame." into nextgenv2
Yaowu Xu [Tue, 18 Oct 2016 00:48:26 +0000 (00:48 +0000)]
Merge "Update switchable_interp_cdf once per frame." into nextgenv2

8 years agoMerge "Refactor motion estimation in MOTION_VAR experiment" into nextgenv2
Yue Chen [Tue, 18 Oct 2016 00:32:00 +0000 (00:32 +0000)]
Merge "Refactor motion estimation in MOTION_VAR experiment" into nextgenv2

8 years agoAdd filter_intra experiment flag
hui su [Mon, 17 Oct 2016 23:14:27 +0000 (16:14 -0700)]
Add filter_intra experiment flag

Will break ext-intra into 2 experiments: ext-intra and filter-intra.

Change-Id: Ibf66e9b9d9307fd58a703eada9569b74d171434b

8 years agoRefactor motion estimation in MOTION_VAR experiment
Yue Chen [Mon, 10 Oct 2016 19:37:54 +0000 (12:37 -0700)]
Refactor motion estimation in MOTION_VAR experiment

To get ready for pulling AV1 to nextgenv2. Refactoring is done to
make the code structures similar, especially for the motion search
part.

Change-Id: I5d7636394408d97de55394d668540f5627827983

8 years agoFix warning when discarding const qualifier.
Nathan E. Egge [Thu, 18 Aug 2016 06:34:53 +0000 (02:34 -0400)]
Fix warning when discarding const qualifier.

Cherry-pick Daala 211c2a41: Clean up EC tell() and tell_frac() functions.
Add a const qualifier to the od_ec_enc and od_ec_dec parameters of
 the od_ec_enc_tell(), od_ec_enc_tell_frac(), od_ec_dec_tell(), and
 od_ec_dec_tell_frac() functions.
Add an OD_WARN_UNUSED_RESULT to od_ec_enc_tell_frac().

Change-Id: Ia50e2fd75e98d8a03d993449d658b695cf56e6fb

8 years agoRevert code formatting of OD_UNIFORM_CDFS_Q15.
Nathan E. Egge [Tue, 21 Jun 2016 03:01:29 +0000 (23:01 -0400)]
Revert code formatting of OD_UNIFORM_CDFS_Q15.

The formatting of OD_UNIFORM_CDFS_Q15[] in entcode.c is helpful for
 for understanding what is contained in the array (e.g., the uniform
 probability distributions of small sizes 2 through 16).
This patch reverts the change made in f4b2926d and adds linter hints to
 ignore the formatting.

Change-Id: I2ad9fe6673b86e6067cb97b40f0f0e69a119cdf5

8 years agoRename aom_write_tree_cdf() to aom_write_symbol().
Nathan E. Egge [Mon, 25 Jul 2016 14:23:33 +0000 (10:23 -0400)]
Rename aom_write_tree_cdf() to aom_write_symbol().

Change-Id: I7c088c55f1c461063976d5bd84ff2026c4f3bc69

8 years agoBug fix in super_block_uvrd().
Yushin Cho [Tue, 21 Jun 2016 21:51:23 +0000 (14:51 -0700)]
Bug fix in super_block_uvrd().

In super_block_uvrd(),if is_cost_valid == 0, all return parameters,
i.e. rate, distortion, skippable, and sse, are reset.
So, should not call txfm_rd_in_plane() if is_cost_valid == 0.
Also, the bug causes av1_xform_quant() to see invalid diff signal
since av1_subtract_plane() is not called in super_block_uvrd().

Change-Id: Iaa06061e2e9aa8876b4611a54f4ae6b8d499332b

8 years agoDisplay --bit-depth in -h with highbitdepth enabled.
Nathan E. Egge [Tue, 12 Jul 2016 22:03:18 +0000 (18:03 -0400)]
Display --bit-depth in -h with highbitdepth enabled.

Display the -b --bit-depth command line parameter on of aomenc when
 --config-aom-highbitdepth is enabled.

Change-Id: I76147e38b9985e68b1e642e21be8fd4d8ec4d966

8 years agoUpdate partition_cdf per frame.
Nathan E. Egge [Tue, 3 May 2016 13:48:54 +0000 (09:48 -0400)]
Update partition_cdf per frame.

Move computing the partition_cdf tables per symbol to
 computing them only when the probabilities are updated.

Change-Id: I442f9230ba00be7f5d0558d7c38d7324ad009ee8

8 years agoUpdate inter_ext_tx_cdf per frame.
Nathan E. Egge [Tue, 3 May 2016 14:01:32 +0000 (10:01 -0400)]
Update inter_ext_tx_cdf per frame.

Move computing the inter_ext_tx_cdf tables per symbol to
 computing them only when the probabilities are updated.

Change-Id: I5e1e62f8eae8f6b2edbbd378beeb786649502c10

8 years agoUpdate intra_ext_tx_cdf per frame.
Nathan E. Egge [Tue, 26 Apr 2016 16:31:14 +0000 (12:31 -0400)]
Update intra_ext_tx_cdf per frame.

Move computing the intra_ext_tx_cdf tables per symbol to
 computing them only when the probabilities are updated.

Change-Id: I26d5e419e103093e98a7d896c196176305b50fc9

8 years agoUpdate switchable_interp_cdf once per frame.
Nathan E. Egge [Tue, 26 Apr 2016 15:37:06 +0000 (11:37 -0400)]
Update switchable_interp_cdf once per frame.

Move from computing the switchable_interp_cdf per symbol to
 computing once per frame when the probabilities are adapted.

Change-Id: I6571126239f0327e22bb09ee8bad94114291683e

8 years agoReplace {} with continue
Yaowu Xu [Mon, 17 Oct 2016 15:12:18 +0000 (08:12 -0700)]
Replace {} with continue

Change-Id: I2e939e898cc30c2999b47f2789191e08272b1cc0

8 years agoMerge changes Ie43c599f,Icd0dbed4,Ic04e180b into nextgenv2
Yaowu Xu [Fri, 14 Oct 2016 23:46:48 +0000 (23:46 +0000)]
Merge changes Ie43c599f,Icd0dbed4,Ic04e180b into nextgenv2

* changes:
  Move av1_indices_from_tree() to common code space.
  Add code to compute in-order mappings for tokens.
  Fix bug in av1_tree_to_cdf_2D() macro.

8 years agoMerge changes I339d0389,I2fa1e87a,If79fa5ae,Icb1a8cb8,Ic76de4a4, ... into nextgenv2
Yaowu Xu [Fri, 14 Oct 2016 23:42:22 +0000 (23:42 +0000)]
Merge changes I339d0389,I2fa1e87a,If79fa5ae,Icb1a8cb8,Ic76de4a4, ... into nextgenv2

* changes:
  Add missing CONFIG_DAALA_EC declaration.
  Add API for writing trees using a CDF.
  Add macro to build a simple cdf table.
  Use Daala entropy coder to code trees.
  Silence clang-format code review warning.
  Use Daala entropy coder to code bits.
  Clear existing format issue in the codebase
  Add Daala entropy coder.

8 years agoMerge "Zero high 128b YMM registers to avoid SSE-AVX transition penalties" into nextgenv2
Yi Luo [Fri, 14 Oct 2016 23:13:09 +0000 (23:13 +0000)]
Merge "Zero high 128b YMM registers to avoid SSE-AVX transition penalties" into nextgenv2

8 years agoMerge "Bugfix: fix the build for CONFIG_FP_MB_STATS" into nextgenv2
Urvang Joshi [Fri, 14 Oct 2016 22:11:28 +0000 (22:11 +0000)]
Merge "Bugfix: fix the build for CONFIG_FP_MB_STATS" into nextgenv2

8 years agoMove av1_indices_from_tree() to common code space.
Nathan E. Egge [Wed, 20 Jul 2016 17:12:31 +0000 (13:12 -0400)]
Move av1_indices_from_tree() to common code space.

Move the av1_indices_from_tree() function from av1/encoder/treewriter.c
 to aom_dsp/prob.c so that it can be used by both the encoder and
 the decoder.

Change-Id: Ie43c599f425c3503b1ff93f0c77b5033a05b1bb4

8 years agoAdd missing CONFIG_DAALA_EC declaration.
Nathan E. Egge [Fri, 15 Jul 2016 20:56:03 +0000 (16:56 -0400)]
Add missing CONFIG_DAALA_EC declaration.

Without first including ./aom_config.h in aom_dsp/prob.c the memmove
 function is implicitly defined and causes a compiler warning.

Change-Id: I339d0389f10324a1085aba7d6492b2159a14da92

8 years agoAdd code to compute in-order mappings for tokens.
Nathan E. Egge [Sun, 19 Jun 2016 18:38:04 +0000 (14:38 -0400)]
Add code to compute in-order mappings for tokens.

Add av1_indices_from_tree() function that computes a forward and inverse
 mapping of the tree leaf-node symbols to their in-order traversal.
This is necessary because many of the aom_tree binary trees have their
 leaf nodes out of order (e.g., an in-order traversal of a tree with n
 nodes does not start at symbol 0 and go to symbol n - 1), but the CDFs
 created by tree_to_cdf() are indexed in-order.

Change-Id: Icd0dbed4c171a67c9e84a634106c4fdb5b1b3488

8 years agoAdd API for writing trees using a CDF.
Nathan E. Egge [Mon, 20 Jun 2016 17:44:22 +0000 (13:44 -0400)]
Add API for writing trees using a CDF.

Added aom_write_tree_cdf() and aom_read_tree_cdf() function calls to
 bitwriter.h and bitreader.h respectively.
These calls take a multisymbol CDF and an index and directly encode the
 symbol using the enabled entropy coder.
Currently only the daala entropy encoder supports this (enabled with
 --enable-daala_ec) and a compile error is thrown otherwise.

Change-Id: I2fa1e87af4352c94384e0cfdbfd170ac99cf3705

8 years agoFix bug in av1_tree_to_cdf_2D() macro.
Nathan E. Egge [Mon, 18 Jul 2016 03:07:27 +0000 (23:07 -0400)]
Fix bug in av1_tree_to_cdf_2D() macro.

Change-Id: Ic04e180b09745fab2230d05985770c41deea4fad

8 years agoAdd macro to build a simple cdf table.
Nathan E. Egge [Thu, 19 May 2016 16:11:56 +0000 (12:11 -0400)]
Add macro to build a simple cdf table.

Add the av1_tree_to_cdf() macro which takes a aom_tree_index tree and
 associated aom_prob probabilities and constructs a daala uint16_t cdf.
The av1_tree_to_cdf_1D() and av1_tree_to_cdf_2D() apply av1_tree_to_cdf()
 across 1D and 2D arrays respectively.

Change-Id: If79fa5ae034263f279d7d0842493570885272fb2

8 years agoUse Daala entropy coder to code trees.
Nathan E. Egge [Sun, 6 Mar 2016 18:41:53 +0000 (13:41 -0500)]
Use Daala entropy coder to code trees.

When building with --enable-daala_ec, calls to aom_write_tree() and
 aom_read_tree() will convert a aom_tree_index structure with associated
 aom_prob probabilities into a CDF on the fly for use with the
 od_ec_encode_cdf_q15().
The number of symbols in the CDF is capped at 16, and trees that contain
 more than 16 leaf nodes are handled by splitting the most likely, e.g.,
 highest probability symbols, first and coding multiple symbols if
 necessary.

ntt-short-1:

         MEDIUM (%) HIGH (%)
    PSNR 0.000227   0.000213
 PSNRHVS 0.000215   0.000205
    SSIM 0.000229   0.000209
FASTSSIM 0.000229   0.000214

subset1:

          RATE (%)  DSNR (dB)
    PSNR -0.00026   0.00002
 PSNRHVS -0.00026   0.00002
    SSIM -0.00026   0.00001
FASTSSIM -0.00026   0.00001

Change-Id: Icb1a8cb854fd81fdd88fbe4bc6761c7eb4757dfe

8 years agoSilence clang-format code review warning.
Nathan E. Egge [Tue, 21 Jun 2016 17:02:36 +0000 (13:02 -0400)]
Silence clang-format code review warning.

Change-Id: Ic76de4a4c0c39924bf04c3c2fa9214d33bcee9fb

8 years agoUse Daala entropy coder to code bits.
Nathan E. Egge [Sun, 6 Mar 2016 17:42:47 +0000 (12:42 -0500)]
Use Daala entropy coder to code bits.

When building with --enable-daala_ec, calls to aom_write() and aom_read()
 use the daala entropy coder to write and read bits.
When the probability is exactly 0.5 (128), then raw bits are used.

ntt-short-1:

          MEDIUM (%) HIGH (%)
    PSNR -0.027556  -0.020114
 PSNRHVS -0.027401  -0.020169
    SSIM -0.027587  -0.020151
FASTSSIM -0.027592  -0.020102

subset1:

         RATE (%)  DSNR (dB)
    PSNR 0.03296  -0.00210
 PSNRHVS 0.03537  -0.00281
    SSIM 0.03299  -0.00161
FASTSSIM 0.03458  -0.00111

Change-Id: I48ad8eb40fc895d62d6e241ea8abc02820d573f7

8 years agoClear existing format issue in the codebase
Yaowu Xu [Fri, 14 Oct 2016 20:53:51 +0000 (13:53 -0700)]
Clear existing format issue in the codebase

Fix the clang-format warnings on the existing codes.

Change-Id: I8e9e781b6f68f41a7fbd0a2116f6b35290d73dc8

8 years agoAdd Daala entropy coder.
Nathan E. Egge [Sun, 6 Mar 2016 15:59:29 +0000 (10:59 -0500)]
Add Daala entropy coder.

Change-Id: I2849a50163268d58cc5d80aacfec1fd02299ca43

8 years agoMerge "Switch rANS to 15 bit precision, and adjust L_BASE." into nextgenv2
Alex Converse [Fri, 14 Oct 2016 21:56:34 +0000 (21:56 +0000)]
Merge "Switch rANS to 15 bit precision, and adjust L_BASE." into nextgenv2

8 years agoSwitch rANS to 15 bit precision, and adjust L_BASE.
Alex Converse [Fri, 9 Sep 2016 17:51:48 +0000 (10:51 -0700)]
Switch rANS to 15 bit precision, and adjust L_BASE.

This causes rANS to operate at the same precision as the Daala EC.

aom/master stats: rans10uabs8lbase12 → rans15uabs8lbase15

objective-1-fast
PSNR YCbCr:      0.01%      0.01%      0.01%
   PSNRHVS:      0.01%
      SSIM:      0.01%
    MSSSIM:      0.01%
 CIEDE2000:      0.01%

subset1
PSNR YCbCr:     -0.01%     -0.00%     -0.00%
   PSNRHVS:     -0.01%
      SSIM:     -0.01%
    MSSSIM:     -0.01%
 CIEDE2000:     -0.01%

(cherry picked from aom/master commit ddbc2e2a68bfc997dc61fca5bcaac3a75245e965)

Change-Id: I6ef0a4f6198784b3712a61af9f105d560a22eaea

8 years agoBugfix: fix the build for CONFIG_FP_MB_STATS
Urvang Joshi [Fri, 14 Oct 2016 00:11:08 +0000 (17:11 -0700)]
Bugfix: fix the build for CONFIG_FP_MB_STATS

Cherry-picked from aomedia/master: bf6c636

Change-Id: Iea3fb46d23cb94d1152de3a7a40b6a183e78b4d7

8 years agoWrap palette code inside CONFIG_PALETTE flag.
Urvang Joshi [Wed, 12 Oct 2016 23:28:56 +0000 (16:28 -0700)]
Wrap palette code inside CONFIG_PALETTE flag.

This flag was already added to aomedia/master, so bringing it back to
webm/nextgenv2, as part of an effort to get the two codebases in sync.

Change-Id: I2b933a6a160e4210d1411a9e7978149eb8553205

8 years agoZero high 128b YMM registers to avoid SSE-AVX transition penalties
Yi Luo [Fri, 7 Oct 2016 22:02:33 +0000 (15:02 -0700)]
Zero high 128b YMM registers to avoid SSE-AVX transition penalties

Documents:
- https://software.intel.com/en-us/articles/intel-avx-state-transitions-migrating-sse-code-to-avx
- https://software.intel.com/sites/default/files/m/d/4/1/d/8/11MC12_Avoiding_2BAVX-SSE_2BTransition_2BPenalties_2Brh_2Bfinal.pdf

Change-Id: I90f85fcb15a7a2c49ee068300be6ffe9c68d371c

8 years agoMerge changes I4850b36e,Ic4d7128a into nextgenv2
James Zern [Fri, 14 Oct 2016 19:10:20 +0000 (19:10 +0000)]
Merge changes I4850b36e,Ic4d7128a into nextgenv2

* changes:
  variance_avx2: sync variance functions with c-code
  Resolve -Wshorten-64-to-32 in variance.

8 years agoUse "av1" as codec name
Yaowu Xu [Fri, 14 Oct 2016 18:05:54 +0000 (11:05 -0700)]
Use "av1" as codec name

Change-Id: I7650f1e96df0bcd53b1733c7967aae52dccf836a

8 years agoMerge "Revert "Revert "Move CLPF block signals from frame to SB level.""" into nextgenv2
Yaowu Xu [Fri, 14 Oct 2016 17:58:20 +0000 (17:58 +0000)]
Merge "Revert "Revert "Move CLPF block signals from frame to SB level.""" into nextgenv2

8 years agoMerge "Delete some redundant function declarations in aom_dsp_rtcd_defs.pl" into...
Yi Luo [Fri, 14 Oct 2016 17:50:37 +0000 (17:50 +0000)]
Merge "Delete some redundant function declarations in aom_dsp_rtcd_defs.pl" into nextgenv2

8 years agoRevert "Revert "Move CLPF block signals from frame to SB level.""
Yaowu Xu [Fri, 14 Oct 2016 15:47:03 +0000 (08:47 -0700)]
Revert "Revert "Move CLPF block signals from frame to SB level.""

This reverts commit 9b25f3067485b32442e13964df098903736c3fd8 to
reinstate the reverted commit with fixes that solved the build issues
when --enalbe-clpf is used in configure.

Change-Id: I15447cae7fa9b3deb27976345dc3db230a4a7a60

8 years agoMerge "Revert "Move CLPF block signals from frame to SB level."" into nextgenv2
Yaowu Xu [Fri, 14 Oct 2016 15:39:36 +0000 (15:39 +0000)]
Merge "Revert "Move CLPF block signals from frame to SB level."" into nextgenv2

8 years agoRevert "Move CLPF block signals from frame to SB level."
Yaowu Xu [Fri, 14 Oct 2016 15:39:03 +0000 (15:39 +0000)]
Revert "Move CLPF block signals from frame to SB level."

This reverts commit 975350387ce0b55bf5af8cb944f6a242b72251ff.

Change-Id: I9f8e891739352ca2bde4b294e37c85a668f416e0

8 years agovariance_avx2: sync variance functions with c-code
James Zern [Mon, 19 Sep 2016 23:17:24 +0000 (16:17 -0700)]
variance_avx2: sync variance functions with c-code

add missing int64 -> uint32 cast; quiets -Wshorten-64-to-32 warnings

Change-Id: I4850b36e18dc8b399108342be4bfe0b684aefb78
(cherry picked from commit 6acd061aad8cf62000cc9117390d0c94581a8591)

8 years agoResolve -Wshorten-64-to-32 in variance.
Alex Converse [Thu, 28 Jul 2016 16:48:50 +0000 (09:48 -0700)]
Resolve -Wshorten-64-to-32 in variance.

The subtrahend is small enough to fit into uint32_t.

Change-Id: Ic4d7128aaa665eaf6b25d562610ba8942c46137f
(cherry picked from commit c0241664aac3a1805db9bd8e09e071ac326531e0)

8 years agoMerge "Simplify 8x16 and 16x8 inverse transform tests" into nextgenv2
Debargha Mukherjee [Fri, 14 Oct 2016 02:53:38 +0000 (02:53 +0000)]
Merge "Simplify 8x16 and 16x8 inverse transform tests" into nextgenv2

8 years agoMerge "Enable test system to detect transforms misusing 'stride' parameter" into...
Debargha Mukherjee [Fri, 14 Oct 2016 02:50:46 +0000 (02:50 +0000)]
Merge "Enable test system to detect transforms misusing 'stride' parameter" into nextgenv2

8 years agoMerge "Add sse2 forward and inverse 16x32 and 32x16 transforms" into nextgenv2
Debargha Mukherjee [Fri, 14 Oct 2016 02:49:20 +0000 (02:49 +0000)]
Merge "Add sse2 forward and inverse 16x32 and 32x16 transforms" into nextgenv2

8 years agoMerge "Renamings for OBMC experiment" into nextgenv2
Yue Chen [Fri, 14 Oct 2016 01:33:00 +0000 (01:33 +0000)]
Merge "Renamings for OBMC experiment" into nextgenv2

8 years agoDelete some redundant function declarations in aom_dsp_rtcd_defs.pl
Yi Luo [Fri, 14 Oct 2016 00:53:45 +0000 (17:53 -0700)]
Delete some redundant function declarations in aom_dsp_rtcd_defs.pl

Change-Id: I4df57a7faba5800c048b2dc469ec31545406f55c

8 years agoMove CLPF block signals from frame to SB level.
Steinar Midtskogen [Wed, 21 Sep 2016 11:38:16 +0000 (13:38 +0200)]
Move CLPF block signals from frame to SB level.

These signals were in the uncompressed frame header (as a temporary
hack), which caused two problems:

* We don't want that header to be duplicated in the slice header
* It was necessary to signal the number of bits to transmit up front

However, the filter size can be 128x128 which is greater than the SB
size, and a decoder wouldn't be able to know whether to read a bit or
not until the final SB of that 128x128 block has been decoded
(depending on whether the 128x128 is all skip or not).  Therefore the
signalling was changed for 128x128 blocks so that every top left SB of
a 128x128 filter block contains a signal regardless of whether the
block is all skip or not.  Also, all the MB's of 128x128 block are
filtered even if they are skip MB's.  This gives the signal a purpose
even when the 128x128 block is all skip, and it also gives a slight
coding gain as it leaves a way to filter skip blocks, which was
previously forbidden.

Low latency:
PSNR YCbCr:     -0.19%     -0.14%     -0.06%
   PSNRHVS:     -0.15%
      SSIM:     -0.13%
    MSSSIM:     -0.15%
 CIEDE2000:     -0.19%

High latency:
PSNR YCbCr:     -0.03%     -0.01%     -0.09%
   PSNRHVS:      0.04%
      SSIM:      0.00%
    MSSSIM:      0.02%
 CIEDE2000:     -0.02%

Change-Id: I69ba7144d07d388b4f0968f6a53558f480979171

8 years agoRenamings for OBMC experiment
Yue Chen [Thu, 13 Oct 2016 22:18:22 +0000 (15:18 -0700)]
Renamings for OBMC experiment

To get ready for pulling AV1 to nextgenv2
Replace the experimental flag by MOTION_VAR. Rename major variables.

Change-Id: If6cf4f37b9319c46d8f90df551cc7295d66ca205

8 years agoDon't use _mm_cvtsi128_si64 on 32 bit systems
Steinar Midtskogen [Wed, 5 Oct 2016 21:09:21 +0000 (23:09 +0200)]
Don't use _mm_cvtsi128_si64 on 32 bit systems

Change-Id: I332afb8d9e35cd60f05915160a5b2e1dc8757de5

8 years agoFix formatting in a few files
Yaowu Xu [Thu, 13 Oct 2016 20:04:29 +0000 (13:04 -0700)]
Fix formatting in a few files

Change-Id: Ia5175afe82b142d9e18c01c546610202c630588e

8 years agoRemoving some useless loops in deringing filter
Jean-Marc Valin [Fri, 7 Oct 2016 22:10:19 +0000 (18:10 -0400)]
Removing some useless loops in deringing filter

No change in the output

Change-Id: I1627feaa163d65da0df90e9dacbc5e39ee755de8

8 years agoFix deringing level choice for 10-bit and 12-bit
Jean-Marc Valin [Sat, 8 Oct 2016 18:10:39 +0000 (14:10 -0400)]
Fix deringing level choice for 10-bit and 12-bit

Making sure we never exceed a base level of 63

Change-Id: I821254b8d970446bd40fdd6e4d7073c69760a86d

8 years agoDon't dering superblocks that have deringing disabled
Jean-Marc Valin [Fri, 7 Oct 2016 19:03:39 +0000 (15:03 -0400)]
Don't dering superblocks that have deringing disabled

Doesn't change the output, but avoids useless deringing with threshold=0

Change-Id: I69f3e54abad2d2493cfbc76c188ad7d190f0aeff

8 years agoMerge "Add SSE4.1 code for deringing functions." into nextgenv2
Yaowu Xu [Thu, 13 Oct 2016 18:02:59 +0000 (18:02 +0000)]
Merge "Add SSE4.1 code for deringing functions." into nextgenv2

8 years agoAdd SSE4.1 code for deringing functions.
Michael Bebenita [Thu, 6 Oct 2016 21:27:34 +0000 (14:27 -0700)]
Add SSE4.1 code for deringing functions.

Change-Id: I363f7fb610a5c86ea9f417e34b57c6373af877e5

8 years agoMerge "Simpler threshold calculation for the second filter" into nextgenv2
Yaowu Xu [Thu, 13 Oct 2016 18:01:45 +0000 (18:01 +0000)]
Merge "Simpler threshold calculation for the second filter" into nextgenv2

8 years agoMerge "Make 4x4 deringing (chroma) use shorter filters" into nextgenv2
Yaowu Xu [Thu, 13 Oct 2016 18:01:23 +0000 (18:01 +0000)]
Merge "Make 4x4 deringing (chroma) use shorter filters" into nextgenv2

8 years agoMerge "Removing Daala-specific deringing code" into nextgenv2
Yaowu Xu [Thu, 13 Oct 2016 18:01:11 +0000 (18:01 +0000)]
Merge "Removing Daala-specific deringing code" into nextgenv2

8 years agoMerge "Clean code a bit and fix a couple of small bugs in ext-refs" into nextgenv2
Zoe Liu [Thu, 13 Oct 2016 16:47:03 +0000 (16:47 +0000)]
Merge "Clean code a bit and fix a couple of small bugs in ext-refs" into nextgenv2

8 years agoMerge "Use a quantizer-based threshold rather than full search for deringing" into...
Yaowu Xu [Thu, 13 Oct 2016 16:35:07 +0000 (16:35 +0000)]
Merge "Use a quantizer-based threshold rather than full search for deringing" into nextgenv2

8 years agoMerge changes Ic3a68557,Ib1dbe41a,I0da09270,Ibdbd720d into nextgenv2
Yaowu Xu [Thu, 13 Oct 2016 15:54:32 +0000 (15:54 +0000)]
Merge changes Ic3a68557,Ib1dbe41a,I0da09270,Ibdbd720d into nextgenv2

* changes:
  Deringing cleanup: remove DERING_REFINEMENT (always on now)
  Don't run the deringing filter on skipped blocks within a superblock
  Don't dering skipped superblocks
  On x86 use _mm_set_epi32 when _mm_cvtsi64_si128 isn't available

8 years agoClean code a bit and fix a couple of small bugs in ext-refs
Zoe Liu [Wed, 12 Oct 2016 19:31:43 +0000 (12:31 -0700)]
Clean code a bit and fix a couple of small bugs in ext-refs

Currently the patch does not have any impact on the RD performance. The
fix could however potentially help on the next step of work, especially
when the extra altref frames allow non-zero temporal filtering strength
and their corresponding OVERLAY frames, i.e. the INTNL_OVERLAY frames
are being added.

Change-Id: I2e07fb3d0aa547a0b5dd05bb4ba865cd46309076

8 years agoMerge "Sync 2x2 intra predictors" into nextgenv2
Yaowu Xu [Thu, 13 Oct 2016 15:20:52 +0000 (15:20 +0000)]
Merge "Sync 2x2 intra predictors" into nextgenv2

8 years agoSimplify 8x16 and 16x8 inverse transform tests
David Barker [Thu, 13 Oct 2016 15:02:59 +0000 (16:02 +0100)]
Simplify 8x16 and 16x8 inverse transform tests

Change-Id: Ie86aedfb1f3e0d9c0cf58d7183861a0ed0e8ccc8