Граф коммитов

16285 Коммитов

Автор SHA1 Сообщение Дата
Geza Lore d29062c4da Use multiple tiles in V10 tile independence tests.
Change-Id: I6e5c1cbe1bf40d2f7a0d8bd821cac8ce626ce3b8
2016-05-10 13:09:54 +01:00
Geza Lore 9ab9438fbb Break tile row dependencies.
When not using ext-tile, there were still dependencies between tile
rows due to various tools (eg intra predictors) relying on the above
row or above mode info, which can be in the above tile. This is now
broken (the same way as it was when ext-tile is enabled) by fixing
the appropriate predicates.

Change-Id: I107dd0d8481775a792f14e05cfbbd761f16cdc1e
2016-05-10 13:09:47 +01:00
Geza Lore e9d2e36264 Fix interintra predictor buffer overflow.
When constructing the intra predictor for rectangular interintra blocks,
the last row/column of the first square is copied back into the source
image (which is the current reconstructed image buffer) before
predicting the second square. The code used to use the height instead
of width for vertical rectangles, and vice versa for horizontal
rectangles, leading to overwriting the block on the right/below. This
leads to an encode/decode mismatch if the right/below block is in a
different tile and is encoded before the current block, which did happen
with multi-threaded encoding tests. This is now fixed.

Change-Id: I073a2a447a98b842b1394d72cc774a78cb296921
2016-05-10 09:53:29 +01:00
Geza Lore e0dcab9d0c Print mismatch location for failing tests.
Change-Id: Ied6929bf5ac41ca25ee4df4ef19edada5bf1e8cd
2016-05-10 09:53:29 +01:00
Yi Luo 6f3e71606f Merge "HBD hybrid transform 16x16 SSE4.1 optimization" into nextgenv2 2016-05-09 23:58:05 +00:00
Alex Converse a2db5815c0 Merge "Fix ans+ref_mv build." into nextgenv2 2016-05-09 23:55:48 +00:00
Jingning Han 0a91b2da26 Merge "Fix unit test failure due to ext-inter and dual filter" into nextgenv2 2016-05-09 23:54:07 +00:00
Sarah Parker d119a5f5c8 Merge "Edit ext-tx so it isn't doing redundant prunes" into nextgenv2 2016-05-09 22:57:37 +00:00
Alex Converse 8c9da4e943 Fix ans+ref_mv build.
Use vp10_read/write instead of vpx_read/write.

Change-Id: I2b7f17e9cdbea14ff48f4bd9776dd3e6aff17a2b
2016-05-09 15:35:58 -07:00
Alex Converse afad52c670 Merge "Remove the ANS rename on pack_mb_tokens()." into nextgenv2 2016-05-09 22:16:35 +00:00
Jingning Han 6b8acc2868 Merge "Fix dual filter type for high bit-depth" into nextgenv2 2016-05-09 22:06:09 +00:00
Sarah Parker f546383b73 Edit ext-tx so it isn't doing redundant prunes
The original pruning function was not taking into account
that certain tx sizes/block sizes use a reduced tx set.

Prune 1: -0.3% performance drop, 20% speedup on foreman video
Prune 2: -0.48% perfomance drop, 30% speedup on foreman video

Change-Id: I557e919d97a89f787b47b3c8579a080db57f91d0
2016-05-09 13:35:42 -07:00
Zoe Liu b9d0d3f4c7 Turn on the use of upsampled refs for ext-refs
Without this patch, the experiment of ext-refs showed almost no coding
gains compared to the baseline. This is because when ext-refs is on, the
use of upsampled reference is off.

With this patch, the ext-refs experiment works with the upsampled
references and shows coding gains in Overall PSNR as follows, with ~5%
slow down for encoding time:

lowres: Avg - -0.965;  BDRate - -0.844
derflr: Avg - -0.847;  BDRate - -0.669

Note that the previous patch a912c6ec31
that "Make LAST_FRAME always point to the newly coded frame in ext-refs"
made ext-refs work with the upsampled refereces.

Change-Id: Id79248d71760109fb9198af4f45718b17455555f
2016-05-09 13:34:08 -07:00
Alex Converse 4d22cc1578 Remove the ANS rename on pack_mb_tokens().
This fixes the ans+var_tx combination.

Change-Id: I4c34edb1deac4475c97ce1907c1d6bdf23ce3fc0
2016-05-09 12:02:01 -07:00
Yi Luo 412ad22f46 HBD hybrid transform 16x16 SSE4.1 optimization
- Tx_type: DCT_DCT, DCT_ADST, ADST_DCT, ADST_ADST.
- Update vp10_fht16x16_test.cc to do bit-exact test against
  latest C version.
- HBD encoder speed improves ~1.8%.

Change-Id: Icfc799a212e5289bcf6cedcae3722032133a2bc6
2016-05-09 11:07:01 -07:00
Jingning Han 1215793007 Fix unit test failure due to ext-inter and dual filter
Make the inter predictor use the right filter type to avoid
enc/dec mismatch.

Change-Id: I2aa416d50450188ec2057dca3338fa258314e562
2016-05-09 16:41:57 +00:00
Geza Lore 1d2d1e752e Merge "Add SSE2 versions of 128x128 vpx_sad*" into nextgenv2 2016-05-09 10:30:59 +00:00
Geza Lore edf6a708c1 Merge "Unbreak VP9 threading tests." into nextgenv2 2016-05-09 10:30:46 +00:00
Jingning Han 9de916eb20 Fix dual filter type for high bit-depth
This commit fixes the compiler error in high bit-depth inter
predictor when dual filter type experiment is turned on.

Change-Id: I404a76a246477f2fcffc38a3275007d5dfe229cd
2016-05-09 02:14:48 +00:00
Jingning Han df56fcdf52 Merge "Reduce sizes of some of the tests" into nextgenv2 2016-05-09 02:14:38 +00:00
Yaowu Xu 569101bed8 Merge "Make parameter types consistent" into nextgenv2 2016-05-07 20:33:25 +00:00
Yaowu Xu 1a6ec3c756 Merge "Change initializations to be compatible with MSVC" into nextgenv2 2016-05-07 20:33:12 +00:00
Zoe Liu a912c6ec31 Make LAST_FRAME always point to the newly coded frame in ext-refs
This patch changes the encoder only for the ext-refs experiment. For
each newly coded frame to refresh the LAST_FRAME, the decoder is
notified that the LAST4_FRAME is to be refreshed, and read out the
updated reference frame buffer vitural indexes for the next coded
frame in a way that:
LAST4_FRAME => LAST_FRAME,
LAST_FRAME  => LAST2_FRAME,
LAST2_FRAME => LAST3_FRAME, and
LAST3_FRAME => LAST4_FRAME.

Compared against the original ext-refs experiment in TOT, a small gain
is achieved in overall PSNR:
lowres Avg: -0.154
lowres BDRate: -0.044

Change-Id: I648810c146a3cd915b408274a9373b7d38324864
2016-05-07 00:27:51 -07:00
Jingning Han bd33326372 Dual prediction filter type for motion compensated reference
Make the bit-stream level support per direction filter type coding
for motion compensated reference.

Change-Id: I61a2360b301075f6734cfd9711b7ae68f214174d
2016-05-07 03:03:04 +00:00
Debargha Mukherjee a5c4dcb553 Reduce sizes of some of the tests
Change-Id: I846410bd61253d0271c6315d266c6edc2808621d
2016-05-06 17:23:01 -07:00
Yi Luo 7c5fd6aadc Merge "Normalize naming/testing convention in vp10_fht8x8_test.cc" into nextgenv2 2016-05-06 23:48:17 +00:00
Yaowu Xu ad841b7dac Make parameter types consistent
This fixes compiler warnings from MSVC.

Change-Id: Iaac0e994869561371295578a893f766493ce0544
2016-05-06 23:39:46 +00:00
Yi Luo fcf54fb7df Normalize naming/testing convention in vp10_fht8x8_test.cc
Use clear and correct type/function names.
Add ASM_REGISTER_STATE_CHECK wrapper for SSE4.1 function.
Conform macro EXPECT_EQ(expected, actual) convention.

Change-Id: I26c6430bea98a4fcb9727eb411b86a3b7abce933
2016-05-06 14:32:12 -07:00
Yaowu Xu 33993798e1 Change initializations to be compatible with MSVC
Change-Id: If5473dadc40d3caea61953fbd112a01939dc1183
2016-05-06 14:20:15 -07:00
Yaowu Xu 71d4e444c1 Merge "Change initializations of variables with type "int_mv"" into nextgenv2 2016-05-06 20:21:39 +00:00
Jingning Han eb366a0312 Merge "Clean up ext-interp experiment" into nextgenv2 2016-05-06 17:16:56 +00:00
Alex Converse d5a5bc6522 Merge "Rename pick_filter_intra." into nextgenv2 2016-05-06 16:57:53 +00:00
Yaowu Xu 824a8b228d Change initializations of variables with type "int_mv"
This is to make MSVC happy and eliminate build errors.

Change-Id: Ic81e7c7516923913e6e7a652b691953e4a1af8aa
2016-05-06 16:52:12 +00:00
Yaowu Xu 3be8c5fc64 Merge "Replace inline with INLINE" into nextgenv2 2016-05-06 16:48:54 +00:00
Geza Lore a0e1c23277 Add SSE2 versions of 128x128 vpx_sad*
Encoder speedup with all experiments enabled approx 15%.

Change-Id: Ib3c771d8da00989ddc9112b71b48ce7c5594e91a
2016-05-06 14:18:00 +01:00
Geza Lore 855b6d7a56 Unbreak VP9 threading tests.
Change-Id: If4eb7094986513ee2e49f7456a2248ad1c54d833
2016-05-06 13:27:52 +01:00
Yaowu Xu f2512710d5 Replace inline with INLINE
This fixes build issues under MSVC

Change-Id: I6db6a43cba2e8ddb099b676f1ae019fe2742f366
2016-05-05 18:28:04 -07:00
Alex Converse 130cccba8d Rename pick_filter_intra.
The word 'pick' is usually used in functions that make decisions where
the bitstream allows multiple legal choices, and not to limit the
bitstream format itself.

Change-Id: Ia60709c29e004475e1aa8861aefded27ebaf4712
2016-05-05 17:06:54 -07:00
Jingning Han 8b084b683c Clean up ext-interp experiment
Remove the unused sub-experiments within the ext-interp experiment.

Change-Id: I716e3392412d02c56f9395a86c9cab02f580fa59
2016-05-05 16:29:21 -07:00
Jingning Han 2041979a09 Remove misc-fixes flag from the experimental list
This flag is not in effect in the codebase. The related contents
have been merged.

Change-Id: I7125ccbedf39e4683d117ecb72ffdd7547c23fc4
2016-05-05 16:11:32 -07:00
Sarah Parker 9dfe45a84d Merge "Add 1D tx set that corresponds to reduced ext tx inter sets" into nextgenv2 2016-05-05 23:06:14 +00:00
Sarah Parker 867f664e17 Add config flag for new_quant experiment
Change-Id: I3575f688ad473d9750a16c7dae74f5f97d026b26
2016-05-05 22:15:23 +00:00
Zoe Liu adaa685215 Merge "Add the experiment of bidir-pred" into nextgenv2 2016-05-05 22:04:57 +00:00
Zoe Liu 9e974b86de Add the experiment of bidir-pred
This experiment will implement the use of a backward prediction
reference without temporal filtering. No overlay frame will be
transmitted, instead, the flag of show_existing_frame will be turned
on.

Change-Id: I361a3004344e2ca6b63723f660635c0d790ee036
2016-05-05 14:32:48 -07:00
Jingning Han 4862363e6a Merge "Remove a redundant variable definition from sub8x8 RD loop" into nextgenv2 2016-05-05 21:17:31 +00:00
Debargha Mukherjee 47fd87e77f Merge "Fix mismatch with ext-interp." into nextgenv2 2016-05-05 21:06:51 +00:00
Debargha Mukherjee 8dcb06fd20 Merge "Refactor supertx rd search" into nextgenv2 2016-05-05 21:06:18 +00:00
Jingning Han cf51217148 Remove a redundant variable definition from sub8x8 RD loop
Change-Id: I464cbb75fbd3872f66ca024dd803605542a9d887
2016-05-05 12:41:05 -07:00
Geza Lore 1502d9e44a Fix mismatch with ext-interp.
The encoder signals the interp filter type in the frame header if all
blocks use the same filter (see bitstream.c:fix_interp_filter). This
decision is made based on the counts, but with ext-interp, the counts
are actually only incremented for blocks that fail vp10_is_interp_needed
(see for example encodeframe.c:update_state), otherwise a default value
is used (EIGHTTAP_REGULAR). The decoder however first checks if the
interp filter is signaled at the frame level, and uses that filter type
for all blocks, even if the default value should have been used.

This patch makes the decoder first check with vp10_is_interp_needed
to see if the default value should be used and then checks the frame
level signaling, which reconciles the difference between encoder and
decoder.

Change-Id: I87857ade42dea06b0d5ec2a029e9219268334dbb
2016-05-05 18:24:21 +01:00
Geza Lore 688f9ed6c3 Improve multi-threaded encode/decode test.
The test used to test that multi-threaded encode/decode resulted in
the same reconstructed image as single-threaded encode/decode. This
however did not mean that the multi-threaded encoder produced the same
bitstream as the single-threaded encoder, as the multi-threaded encoder
could use different forward probability updates and still produce a
bitstream that is sub optimal but yields the same reconstructed image.
The test now asserts that the bitstream is the same as well as the
reconstructed image. Also added more cpu-use values for testing VP10.

Change-Id: I324ed33a702c488b39e077f750d81a1ad1d7ea87
2016-05-05 18:23:31 +01:00