1938 Commits

Author SHA1 Message Date
Alex Converse
b60dfc2542 Merge "Switch rANS to 15 bit precision, and adjust L_BASE." into nextgenv2 2016-10-14 21:56:34 +00:00
Alex Converse
62a94a649d 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
2016-10-14 14:05:50 -07:00
Urvang Joshi
b100db7c1d 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
2016-10-14 13:42:02 -07:00
Yaowu Xu
8d510e2e78 Use "av1" as codec name
Change-Id: I7650f1e96df0bcd53b1733c7967aae52dccf836a
2016-10-14 11:05:54 -07:00
Debargha Mukherjee
078856a4df Merge "Simplify 8x16 and 16x8 inverse transform tests" into nextgenv2 2016-10-14 02:53:38 +00:00
Debargha Mukherjee
089315fc5e Merge "Enable test system to detect transforms misusing 'stride' parameter" into nextgenv2 2016-10-14 02:50:47 +00:00
Debargha Mukherjee
a720f4b3b5 Merge "Add sse2 forward and inverse 16x32 and 32x16 transforms" into nextgenv2 2016-10-14 02:49:20 +00:00
Yue Chen
a48764d05f Merge "Renamings for OBMC experiment" into nextgenv2 2016-10-14 01:33:00 +00:00
Yue Chen
cb60b185c7 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
2016-10-13 15:51:22 -07:00
David Barker
4f803efac1 Simplify 8x16 and 16x8 inverse transform tests
Change-Id: Ie86aedfb1f3e0d9c0cf58d7183861a0ed0e8ccc8
2016-10-13 16:02:59 +01:00
David Barker
7825022daa Enable test system to detect transforms misusing 'stride' parameter
This would have caught the bug introduced in patch set 1 of
https://chromium-review.googlesource.com/#/c/397378/

Change-Id: I9c6d5d9c4c98aed5ac48c4fb1c4ff4131b0df1d5
2016-10-13 15:50:44 +01:00
Alex Converse
cba3d1f1c3 AnsTest: Replace the dummy distribution
Use constrained token table row 65/256 instead.

Change-Id: I8b442d4c82af8fa9d36ac2de0d73179ed040478d
(cherry picked from commit 47eb9a2ca46821b468903514cd34eaaca2533d45)
2016-10-13 07:04:55 -07:00
Alex Converse
fc4980edb7 Merge changes Ic74d9d88,Ie93b474e,I544989ea,Ic273f7d9,Idfd2d2b3, ... into nextgenv2
* changes:
  Remove custom rans types
  Remove add_token_no_extra.
  Remove unused aom_rans_build_cdf_from_pdf
  Add the tool used to generate the constrained tokenset.
  Remove the starting zero from ANS CDFs.
  Import the aom_read/write_symbol abstractions from aom/master
2016-10-13 14:03:15 +00:00
David Barker
33231d4801 Add sse2 forward and inverse 16x32 and 32x16 transforms
Change-Id: I1241257430f1e08ead1ce0f31db8272b50783102
2016-10-13 14:01:22 +01:00
Alex Converse
9ed1a2ff44 Remove custom rans types
(cherry picked from aom/master commit 11206c60d930be9d29100567aa67f2a65463852a)

Includes renames in a bunch of places not handled by the original
due to differing tree states.

Change-Id: Ic74d9d8850b8c80a51e55e425bbf472a67e2653f
2016-10-13 05:53:58 +00:00
Alex Converse
e9f70f8f10 Remove the starting zero from ANS CDFs.
This brings it in line with the Daala CDFs and will make it easier to
share code.

Change-Id: Idfd2d2b33c3b9b2c4e72ce72fb3d8039013448b9
(cherry picked from aom/master commit af98507ca928afe33e9f88fdd2ca168379528d6a)
2016-10-12 17:41:01 -07:00
Yi Luo
fed8e1c06d Hybrid forward transform 32x32 AVX2 optimization
- av1_fht32x32 AVX2 function level time reduction ~89% compared to C.

- av1_fht32x32_avx2() on DCT_DCT improves 42.62% over aom_fdct32x32_avx2()
  But function replacement must go with the corresponding inverse txfm.

- No obvious user level time reduction due to 32x32 TX_TYPE selection.

- Zero high 128b YMM to avoid AVX-SSE transition penalties
  (fix 16x16 case).

- Added 32x32 AVX2 unit tests to verify bitexact.

- AVX2 optimization summary:
  On CPU i7-6700, based on 16x16/32x32 fwd txfm optimization results:
  C to AVX2: function level time reduction, ~86-89%.
  SSE2 to AVX2: function level time reduction, ~51%.

Change-Id: Idd0cd8bf066a61c7117140ef15ab6c1f8eb4b036
2016-10-12 14:19:53 -07:00
Yaowu Xu
97aa09f658 LIBVPX_TEST_DATA_PATH -> LIBAOM_TEST_DATA_PATH
This commit renames LIBVPX_TEST_DATA_PATH to LIBAOM_TEST_DATA_PATH,
with a work around for working with jenkins environmnet variables.

Change-Id: If664ce57e25ad2af8121d1b578bf64043f0baa2a
2016-10-12 08:26:44 -07:00
Yaowu Xu
445ae93ec7 Merge "y4m_test: fix segfault if test files are missing" into nextgenv2 2016-10-12 04:26:52 +00:00
Tristan Matthews
46940a8e7d y4m_test: fix segfault if test files are missing
Change-Id: I7a04beb83095e5c0821048909f81f45be8b5eee3
2016-10-11 18:20:01 -07:00
Yaowu Xu
5a9b51c725 Remove two files not in use
test/cx_set_ref.sh: replaced by test/aomcx_set_ref.sh
test/vpxdec.sh: replaced by aomdec.sh

Change-Id: I74136d311eee7666e08ed8f573a17f810992fc52
2016-10-11 15:12:11 -07:00
Steinar Midtskogen
6116141c23 Fix typos in CLPF unit test
Change-Id: Ia69bad44e47509208e3b9d306165d0872d4e92f3
2016-10-11 12:36:16 -07:00
Yaowu Xu
80eaf1a120 Merge "Extend CLPF to chroma." into nextgenv2 2016-10-11 18:44:31 +00:00
Yaowu Xu
aaf64c4387 Merge "Print correct info if CLPF unit tests fail." into nextgenv2 2016-10-11 18:42:52 +00:00
Yaowu Xu
038d41045b Merge "Added high bit-depth support in CLPF." into nextgenv2 2016-10-11 18:41:15 +00:00
Yaowu Xu
a2bbf621f1 Merge "Reduce memory footprint for CLPF decoding." into nextgenv2 2016-10-11 18:40:47 +00:00
Yaowu Xu
12fcf74c8a Merge "Use derived variable size for memcpy" into nextgenv2 2016-10-11 16:15:43 +00:00
Yaowu Xu
4960f7c3bd Merge "Added generic SIMD support for CLPF." into nextgenv2 2016-10-11 16:05:18 +00:00
Yaowu Xu
c648a9fd83 Use derived variable size for memcpy
Manually cherry-picked from aom/master:
bf2ad75a1723d223c376b93295aa06dd23226937

Change-Id: I99f05e79ec8ad35a49bc124e6dd829ccc7d9cc36
2016-10-10 17:39:29 -07:00
Steinar Midtskogen
ecf9a0c821 Extend CLPF to chroma.
Objective quality impact (low latency):

PSNR YCbCr:      0.13%     -1.37%     -1.79%
   PSNRHVS:      0.03%
      SSIM:      0.24%
    MSSSIM:      0.10%
 CIEDE2000:     -0.83%

Change-Id: I8ddf0def569286775f0f9d4d4005932766a7fc27
2016-10-10 15:23:38 -07:00
Steinar Midtskogen
ee54e5f3c5 Print correct info if CLPF unit tests fail.
Change-Id: Ieac27194f342d8ef9ef98c96ebea9d0c444658cf
2016-10-10 15:21:06 -07:00
Steinar Midtskogen
3dbd55a6c4 Added high bit-depth support in CLPF.
Change-Id: Ic5eadb323227a820ad876c32d4dc296e05db6ece
2016-10-10 11:27:04 -07:00
Steinar Midtskogen
e8224c7ad5 Reduce memory footprint for CLPF decoding.
Instead of having CLPF write to an entire new frame and
copy the result back into the original frame, make the
filter able to work in-place by keeping a buffer of size
frame_width*filter_block_size and delay the write-back
by one filter_block_size row.

This reduces the cycles spent in the filter to ~75%.

Change-Id: I78ca74380c45492daa8935d08d766851edb5fbc1
2016-10-10 11:26:33 -07:00
Steinar Midtskogen
be668e92c3 Added generic SIMD support for CLPF.
Change-Id: Ie03f9a5b0a4c708a586532198d755a1e7509f149
2016-10-10 11:19:37 -07:00
David Barker
4d03d6fc6f Add sse2 forward / inverse 4x8 and 8x4 transforms
Change-Id: I89ed93fb20cf975c2b463cff58879521ceaa4163
2016-10-10 09:02:45 -07:00
Yi Luo
3a8217f21b Merge "Hybrid forward transforms 16x16 AVX2 optimization" into nextgenv2 2016-10-07 01:52:11 +00:00
Debargha Mukherjee
609453e7e4 Merge "Added sse2 inverse 8x16 and 16x8 transforms" into nextgenv2 2016-10-07 00:03:34 +00:00
Yi Luo
e8e8cd8f1b Hybrid forward transforms 16x16 AVX2 optimization
- Unit tests are added for AVX2 SIMD.
- Encoder speed improvement:
  AV1 baseline and EXT_TX, three 1080p sequences at bitrate:
  800 Kbps, 2 Mbps, 6 Mbps, on i7-6700 CPU, average
  user level time reduction: 3.86%.

Change-Id: Ibbd7837ee3a831c6b1e4e471bf6c8d3fa3a19ff4
2016-10-06 15:33:15 -07:00
Peter de Rivaz
1baecfeb03 Added sse2 inverse 8x16 and 16x8 transforms
Change-Id: I43628407b11e5c8e6af4df69f2acdc67ac827834
2016-10-06 11:23:14 -07:00
Jim Bankoski
ddb90bb445 decode_with_drops.sh : make sample test work for av1
Change-Id: I4175070840a6561c1cec5f5a50b64e425f3e2926
2016-10-03 11:13:13 -07:00
Yaowu Xu
a7c2e5c3f5 decode_with_drop.sh: vp8->aom
Change-Id: I22dacbc2e4933a60ce7151204af9ee253990ca1f
2016-10-03 11:13:08 -07:00
Jim Bankoski
0d730f95f0 decode_to_md5_test: fixes and runs quick encode and checks decode
This test checks if there's any basic change to the bitstream or default
encoder by running an encode and checking that the md5 from the decode
doesn't change.

Any change to the default encoder or bitstream should be accompanied by
a change to the md5 in this file.

Change-Id: Ibdd5a1442296fd3e946823ec1f43e8ac4e66dd34
2016-10-03 11:12:13 -07:00
Yaowu Xu
8982e20889 decode_to_md5.sh: vp8->aom
Change-Id: I0dcb0643cf83ee99b63336df851cbca749c11b68
2016-10-03 11:11:54 -07:00
Alex Converse
57aa0f656d Merge changes Ideda50a6,Id2bced5f,If423eeb3 into nextgenv2
* changes:
  Port ANS from aom/master 25aaf40
  Refactor bitreader and bitwriter wrapper.
  Migrate aom/master ANS test from d311d02.
2016-09-29 16:43:12 +00:00
Debargha Mukherjee
4ee1f71b5c Merge "Update codec name in test enviroment to match decoder" into nextgenv2 2016-09-29 16:04:37 +00:00
Alex Converse
7fe2ae8e88 Port ANS from aom/master 25aaf40
Reconciles the following commits from aom/master to nextgenv2:
- 25aaf40bbc24beeb52de9af7d7624b7d7c6ce9de
- 87073de5693df70eba1c9b9be2b2732ed3b08fb3

Change-Id: Ideda50a6ec75485cb4fa7437c69f4e58d6a2ca73
2016-09-28 12:07:00 -07:00
Alex Converse
5d33cc42c3 Migrate aom/master ANS test from d311d02.
This helps in porting entropy coder changes that happened in aom/master.

Change-Id: If423eeb3da552066cceb88227138ea61d6a20f07
(cherry picked from aom/master commit d311d02da55433d20aad6dd88e0bbb992919988d)
2016-09-28 12:07:00 -07:00
Peter de Rivaz
105fa6d9f2 Update codec name in test enviroment to match decoder
The codec name is defined in av1_dx_iface.c
This name needs to match kAV1Name in decode_test_driver.cc.
Otherwise the EndtoEndPSNRTest fails when built with --enable-ext-tile,
(because we need the IsAV1 function to return true.)

Change-Id: I05d5ea5b6fd4bbd49e8bcacd047fb81c27efb3b3
2016-09-28 09:11:41 -07:00
Yi Luo
fda2f1b95a Merge "Add a TODO for aom_highbd_fdct16x16_1_sse2 tests" into nextgenv2 2016-09-27 22:21:54 +00:00
Alex Converse
0ad82c6edb Rename av1_ans_test to match aom/master.
Change-Id: I3b2137903a87a1f8169ff45e940575b917c26a6a
2016-09-26 13:15:41 -07:00