Commit Graph

16543 Commits

Author SHA1 Message Date
Jingning Han
44f8ee7258 Enable asymptotic closed-loop encoding decision
This commit enables asymptotic closed-loop encoding decision for
the key frame and alternate reference frame. It follows the regular
rate control scheme, but leaves out additional iteration on the
updated frame level probability model. It is enabled for speed 0.

The compression performance is improved:

lowres 0.2%
midres 0.35%
hdres  0.4%

Change-Id: I905ffa057c9a1ef2e90ef87c9723a6cf7dbe67cb
2016-11-14 09:22:55 -08:00
Linfeng Zhang
a3128ad33a Add high bitdepth intra prediction NEON optimization (h and v)
BUG=webm:1316

Change-Id: I47eeac698a98a31d1af5f72441052302e9fa4f46
2016-11-12 12:00:19 -08:00
Jerome Jiang
186dc40e8e Merge "Add unit tests for post proc." 2016-11-12 04:38:27 +00:00
Jerome Jiang
b282048fe4 Add unit tests for post proc.
Some tests are disabled since C and msa don't match sse2.
BUG=webm:1321

Change-Id: I61f303348e5292844a822612f100dbe006489e3e
2016-11-11 15:17:53 -08:00
Marco Paniconi
b6f6169348 Merge "vp9: Adjust thresholds for limiting cyclic refresh for noisy content." 2016-11-11 17:11:19 +00:00
James Zern
ba016b710a Merge "*ppflags.h: remove unused *_DEBUG_* enum values" 2016-11-10 20:53:22 +00:00
James Zern
80f6b243a7 Merge changes I339088b2,Iaade219e,If142afb1,I4257c4b3
* changes:
  fdct8x8_test: add vpx_idct8x8_64_add_neon in hbd
  fdct4x4_test: add vpx_idct4x4_16_add_neon in hbd
  partial_idct_test,NEON: add missing idct variants
  enable vpx_idct32x32_34_add_neon in hbd builds
2016-11-10 05:02:39 +00:00
James Zern
a1c40a2c1a fdct8x8_test: add vpx_idct8x8_64_add_neon in hbd
this was enabled in:
3ae2597 idct,NEON: add a tran_low_t->s16 load adapter

+ enable it for all NEON configs, both intrisincs and assembly versions
exist

BUG=webm:1294

Change-Id: I339088b2a398200f95658d040034fb9b2a7c8ce0
2016-11-09 20:04:27 -08:00
Linfeng Zhang
40ab0424d4 Add high bitdepth intra prediction NEON optimization (mode d45 and d135)
BUG=webm:1316

Change-Id: I6a330874348df04df24a6d9efdc06f567e04bf8e
2016-11-09 12:04:04 -08:00
James Zern
4807f1584c *ppflags.h: remove unused *_DEBUG_* enum values
usage of the vp8 versions was removed in:
3f72509 vp8: remove VP8_SET_DBG* control support

vp9 had the usage stripped even earlier.

Change-Id: I978142eb6492552cd29c9c6feb1e89acfc5f7b84
2016-11-08 21:09:16 -08:00
James Zern
cfbb599335 fdct4x4_test: add vpx_idct4x4_16_add_neon in hbd
this was enabled in:
3ae2597 idct,NEON: add a tran_low_t->s16 load adapter

+ enable it for all NEON configs, both intrisincs and assembly versions
exist

BUG=webm:1294

Change-Id: Iaade219e9d1de7b69423670d3ea6271b0965e068
2016-11-08 18:29:40 -08:00
James Zern
c344dee463 partial_idct_test,NEON: add missing idct variants
idct4x4 and idct8x8 were universally enabled for high-bitdepth builds
in:
3ae2597 idct,NEON: add a tran_low_t->s16 load adapter

BUG=webm:1294

Change-Id: If142afb169c48728cc4b222e7c41aa4a63f95f0f
2016-11-08 18:29:35 -08:00
James Zern
738c8f23c6 enable vpx_idct32x32_34_add_neon in hbd builds
replace load_and_transpose_s16_8x8() in idct32_6_neon() with a separate
load_tran_low_to_s16() and transpose_s16_8x8(). the combined function is
used in idct32_8_neon() where the input is the correctly sized output
from the earlier stage.

BUG=webm:1294

Change-Id: I4257c4b3a421b2cf5d13651f966eee0680ef98a9
2016-11-08 17:03:36 -08:00
Marco
18794d8ddc vp9: Adjust thresholds for limiting cyclic refresh for noisy content.
For noisy content, be more aggressive in skippping some blocks for
delta-qp to reduce noise pulsing artifact. Also treat frame boundary
case when dimension is not multiple of superblock size/64.

Only affects non-screen content case, and when source noise
is measured to be high (at least level kMedium).

Change-Id: Ib13a2a20ed1ce37ff3c44d95c3ef2635fd695222
2016-11-08 15:50:46 -08:00
Johann
f5141ea45f Refine vp8_refining_search_sadx4 targeting
This uses the same sdx4df pointers as vp8_diamond_search_sadx4 and
should therefore target the same optimizations.

See e4ddf9db6a

Change-Id: Ic298e9b25c34bbe6b7a0799509355b0addb56675
2016-11-08 15:22:44 -08:00
Johann
50b40f114c Optimize idct32x32_135_add for NEON
BUG=webm:1295

Change-Id: I7f80ef4d29813fcb401fc6075babf19e3c195462
2016-11-08 22:06:07 +00:00
Linfeng Zhang
64a5a8fd6f Merge "Add high bitdepth intra prediction NEON optimization (mode dc)" 2016-11-08 16:53:42 +00:00
James Zern
3fdfbcb73d Merge "partial_idct_test: set MinSupportedCoeff for NEON" 2016-11-08 01:05:16 +00:00
Johann Koenig
5c64c01c7c Merge "ads2gas: remove RN stanza" 2016-11-08 00:44:17 +00:00
Johann
271de2c9fb ads2gas: remove RN stanza
The matching on ads2gas_apple.pl is too liberal and catches
CONFIG_EXTERNAL_BUILD and CONFIG_INTERNAL_STATS because they have RN in
the names.

The RN renaming feature is not used in any existing assembly files. It
was used in some armv6 files but they were removed.

Change-Id: Ib65abf1947d3e89f0d1584e2a5de399d24008f95
2016-11-07 16:21:16 -08:00
James Zern
40bcb96abd partial_idct_test: set MinSupportedCoeff for NEON
vpx_idct4x4_16_add_neon fails with INT16_MIN, +1 is all right

BUG=webm:1335

Change-Id: I25830c8ab0782822fc3c9db6cc669c2e65f2700e
2016-11-07 15:47:09 -08:00
Linfeng Zhang
d545c19afa Rename vpx_highbd_idct8x8_10{*}() to vpx_highbd_idct8x8_12{*}()
Also update its trigger threshold from 10 to 12.

Change-Id: Ib8dddd87a5a22a12ca66e7084d342fbb027b0a2f
2016-11-07 09:07:55 -08:00
Linfeng Zhang
a9874961f0 Merge "Replace highbd_dct_const_round_shift with dct_const_round_shift" 2016-11-07 16:55:01 +00:00
Johann Koenig
ac495218fb Merge "idct test: use coeff consistently" 2016-11-06 00:13:05 +00:00
Johann Koenig
a139ecd0c9 Merge "partial_idct_test: Add large coefficient test" 2016-11-06 00:13:00 +00:00
Johann Koenig
5d0a271ded Merge "Update vp9_fdct8x8_quant_ssse3 for highbitdepth" 2016-11-06 00:12:13 +00:00
James Zern
6e179dacd0 Merge "vp9-svc: Add unittest for svc-decoding." 2016-11-05 02:47:11 +00:00
Johann
e851160642 idct test: use coeff consistently
Change-Id: I913a13066993a3315a0ff8310b3cad1572d4cdd7
2016-11-04 18:41:59 -07:00
Johann
9ad3e14015 partial_idct_test: Add large coefficient test
Two functions do not pass this test:
vpx_idct8x8_64_add_ssse3
vpx_idct8x8_12_add_ssse3

The test has been modified to avoid triggering an issue with those
functions but they still must be investigated.

BUG=webm:1332

Change-Id: I52569a81e8e6e0b33c4a4d060d0b69c3fc4f578e
2016-11-04 18:37:58 -07:00
Marco
eefc7d1412 vp9-svc: Add unittest for svc-decoding.
To test the VP9_DECODE_SVC_SPATIAL_LAYER decoder control
introduced in 86b0042.

Change-Id: I3d164a41d7bbab14c0aee80fd890870704a18f6e
2016-11-05 01:29:51 +00:00
Johann
e10c95dc83 Update vp9_fdct8x8_quant_ssse3 for highbitdepth
Borrow transition functions from fdct.h nee vpx_quantize_b_sse2

BUG=webm:1304

Change-Id: I9c88c3eec3ff8bb461411d98c26c3c236ea28ef1
2016-11-05 01:23:07 +00:00
Linfeng Zhang
04c3bf3c85 Replace highbd_dct_const_round_shift with dct_const_round_shift
They are identical.

Change-Id: I1ccaf03c81c3cbf88e82d77ffeb8204f5b063c61
2016-11-04 16:15:02 -07:00
Linfeng Zhang
32326c2f13 Merge "Cosmetics of inv_txfm.c" 2016-11-04 22:40:03 +00:00
Johann Koenig
900ec31bea Merge "Extract high bit depth helper functions" 2016-11-04 21:03:17 +00:00
Linfeng Zhang
b68d8107cb Cosmetics of inv_txfm.c
Unify code of 8-bit and high bitdepth.

Change-Id: I3fe441577af0249030ca3a1ef769eb9030711434
2016-11-04 13:24:41 -07:00
Johann
cf35ffc025 Extract high bit depth helper functions
These can be used in the vp9 fdct as well.

Change-Id: I4f3875e0cba1b8cad209c3a0581e121deba7675e
2016-11-04 18:13:51 +00:00
James Zern
232221b83a Merge "configure: disable tools for armv7-win32-vs1[24]" 2016-11-04 17:48:24 +00:00
Martin Storsjo
34c35b6fb6 Add a missing END directive in idct_neon.asm
This fixes building with MS armasm.

Change-Id: I2629eeed859b775ca667a65ba109f8d1bf7b0e03
2016-11-04 12:21:18 +02:00
Martin Storsjo
c559cc6191 Fix producing vcxproj files with *.S arm assembly files
These cases were leftover in
1ddb4c0362.

Change-Id: Ie058fb6c78580e60205c47a1d314bd66e794cde4
2016-11-04 12:21:13 +02:00
James Zern
90a135854c configure: disable tools for armv7-win32-vs1[24]
this shares the same prohibition as the examples

Change-Id: I17d65e4f26847af8cbb1d1a3c4a114ed021a8b9f
2016-11-03 22:54:35 -07:00
Marco Paniconi
cca774c7df Merge "vp9: Non-rd pickmode: fix logic in reference masking." 2016-11-03 23:12:05 +00:00
Marco
86b0042f44 vp9-svc: Add decoder control to decode up to x spatial layers.
Change-Id: I85536473b8722424785c84c5b5520960b4e5744a
2016-11-03 11:18:00 -07:00
Marco
da9f762e24 vp9: Non-rd pickmode: fix logic in reference masking.
Add condition that usable_ref_frame > LAST.
This is to avoid potentially skipping all last-nonzero mv modes,
if golden is used as a reference but skipped completely for the
current block.

This has no effect currenty, as we always consider testing golden
mode for each block.

Change-Id: I3182cf44664081935a90ed43aa7b32e710e60e22
2016-11-03 10:32:57 -07:00
Debargha Mukherjee
f93305aa07 Merge "Speed-up recode loop for extreme bitrate diffs" 2016-11-03 17:04:17 +00:00
Jerome Jiang
cb5a2ac920 Merge "pp_filter_test.cc,cosmetics:adjust name convention" 2016-11-03 04:31:35 +00:00
Jerome Jiang
3e961c09be pp_filter_test.cc,cosmetics:adjust name convention
Change-Id: I81b6fc9b83f0febbb12975aef92768bbd273fd61
2016-11-02 13:50:00 -07:00
Linfeng Zhang
1338c71dfb Clean horizontal intra prediction NEON optimization
Change-Id: I1ef0a5b2655cbc7e1cc2a4a1a72e0eed9aa41f05
2016-11-02 11:43:45 -07:00
Linfeng Zhang
1868582e7d Add 32x32 d45 and 8x8, 16x16, 32x32 d135 NEON intra prediction
Change-Id: I852616794244490123eb615ac750da50265f0fa5
2016-11-02 11:40:37 -07:00
Johann Koenig
5ac7a59a05 Merge "arm idct: move to-be-shared code to header" 2016-11-02 18:09:45 +00:00
Paul Wilkins
295cd3b493 Merge "Fixed bug in formatting of debug stats." 2016-11-02 17:10:07 +00:00