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

17191 Коммитов

Автор SHA1 Сообщение Дата
James Zern b869de9856 Merge "configure: test for -Wfloat-conversion" into nextgenv2 2016-08-08 21:48:14 +00:00
Yi Luo dd2edd0ad5 Merge "Optimization EXT_INTRA's filtered intra predictor (SSE4.1)" into nextgenv2 2016-08-08 20:55:44 +00:00
Sarah Parker b659281eec Add reconstruction using gm parameters
This patch only includes inter frame reconstruction using gm
parameters when GLOBAL_MOTION and/or VP9_HIGHBITDEPTH are enabled.
GM is not currently used when EXT_INTER or DUAL_FILTER is enabled.
This will be added in a followup patch. For now, these experiments
will take precedence over GLOBAL_MOTION when they are all enabled.

Change-Id: I930ddda529c44d7245dbb56db3c9c5524cf45473
2016-08-08 10:17:05 -07:00
Yi Luo 57c4711b5c Optimization EXT_INTRA's filtered intra predictor (SSE4.1)
- Add unit tests to verify the bit-exact result.
- In speed test, function speed (for each mode/tx_size)
  improves about 23%~35%.
- On E5-2680, park_joy_1080p, 10 frames, --kf-max-dist=1,
  encoding time improves about 1%~2%.

Change-Id: Id89f313d44eea562c02e775a6253dc4df7e046a9
2016-08-08 10:02:36 -07:00
Yue Chen 292ea74fe4 Merge "Speed filter intra mode search in EXT_INTRA experiment" into nextgenv2 2016-08-06 00:17:33 +00:00
James Zern a9d984830a configure: test for -Wfloat-conversion
supported by clang, gcc-4.9+

Change-Id: I893766de7307fef9a8b68c0cfae137c9d3b0dbe8
(cherry picked from commit 889ed5b158fc280927f2de9172d48245c3b735a7)
2016-08-06 00:02:45 +00:00
James Zern d609b520fa Merge "warped_motion: remove unused vp10_integerize_model" into nextgenv2 2016-08-06 00:02:15 +00:00
Yue Chen f6a5c27493 Speed filter intra mode search in EXT_INTRA experiment
(1) Key frame: skip filter intra modes whose directional pred
    version is relatively bad (rd >= 1.125 * best_rd)
(2) Inter frame: do not check filter intra modes if best_intra_rd
    >= 1.25 * best_rd

Encoding time overhead is reduced by:
4.9% (9.2%->4.3%, soccer_cif)
Coding gains drop by 0.021% on lowres and by 0.076% on midres

Change-Id: I29b6f7d3d3dc4b362c6d63bc447e6a429ba5dc66
2016-08-05 23:04:46 +00:00
Urvang Joshi 016a5daa59 Palette code: simpler and faster duplicate removal
Change-Id: I0c1baa5ca73c1f067d69239d3e31d1050b4706d2
2016-08-05 12:33:21 -07:00
Zoe Liu cbed16b8b3 Merge "Code refactoring on Macros related to ref frame numbers" into nextgenv2 2016-08-05 16:59:36 +00:00
Urvang Joshi 9faf9148ec Merge "Make palette code faster: replace nested for loops by a single memcpy()." into nextgenv2 2016-08-05 00:20:11 +00:00
Yaowu Xu 476e44a689 Merge "Replace variants of 'vp8' and 'vp9' with 'vpx'" into nextgenv2 2016-08-04 23:48:59 +00:00
Yaowu Xu 59589d0c4a Merge changes Ic5ddba3c,Ibe7a3248 into nextgenv2
* changes:
  Fix a number of msvc warnings
  Reduce number of frames in lossless tests
2016-08-04 23:27:35 +00:00
Yaowu Xu fe291b647e Replace variants of 'vp8' and 'vp9' with 'vpx'
Change-Id: Id6cb96b0b15efdda63348d8bfe59fc0533c85ba1
2016-08-04 22:20:38 +00:00
Urvang Joshi a0a23b7f0c Make palette code faster: replace nested for loops by a single memcpy().
Change-Id: Ia14df45a35c98d680822454fbb8d1763884c1852
2016-08-04 15:01:19 -07:00
Yaowu Xu 56a91f139d Fix a number of msvc warnings
Change-Id: Ic5ddba3ca0c87245617b6dbc78c0f13dc952ce8b
2016-08-04 21:42:56 +00:00
Yaowu Xu a1b6507e2b Reduce number of frames in lossless tests
This it to reduce the time necessary for these tests.

Change-Id: Ibe7a3248a6c45baf575af85fdffcffc557dd054b
2016-08-04 14:36:29 -07:00
James Zern 6679608386 vp10_inv_txfm2d_test: normalize max_error type
quiets double -> int conversion warning

Change-Id: Ic860d187bc77e18b277eef28310feee1899cdbe6
2016-08-04 12:24:20 -07:00
James Zern 0d5ac98d1c Merge ".clang-format: disable DerivePointerAlignment" into nextgenv2 2016-08-04 19:21:38 +00:00
Yaowu Xu 2b2ee5cdf6 Merge "more cleanup of vp8 and vp9" into nextgenv2 2016-08-04 18:56:46 +00:00
Zoe Liu 1af28f0230 Code refactoring on Macros related to ref frame numbers
We have renamed following Macros to avoid name confusion:

REFS_PER_FRAME --> INTER_REFS_PER_FRAME
(= ALTREF_FRAME - LAST_FRAME + 1)
MAX_REF_FRAMES --> TOTAL_REFS_PER_FRAME
(= ALTREF_FRAME - INTRA_FRAME + 1)

INTER_REFS_PER_FRAME specifies the maximum number of reference frames
that each Inter frame may use.
TOTAL_REFS_PER_FRAME is equal to INTER_REFS_PER_FRAME + 1, which
counts the INTRA_FRAME.

Further, at the encoder side, since REF_FRAMES specifies the maximum
number of the reference frames that the encoder may store, REF_FRAMES
is usually larger than INTER_REFS_PER_FRAME. For example, in the
ext-refs experiment, REF_FRAMES == 8, which allows the encoder to
store maximum 8 reference frames in the buffer, but
INTER_REFS_PER_FRAME equals to 6, which allows each Inter frame may
use up to 6 frames out of the 8 buffered frames as its references.
Hence, in order to explore the possibility to store more reference
frames in future patches, we modified a couple of array sizes to
accomodate the case that the number of buffered reference frames is
not always equal to the number of the references that are being used
by each Inter frame.

Change-Id: I19e42ef608946cc76ebfd3e965a05f4b9b93a0b3
2016-08-04 11:21:28 -07:00
James Zern 32427b379c warped_motion: remove unused vp10_integerize_model
this function produces implicit double -> int conversion warnings and
has additional style issues.

Change-Id: I6bc740e778658d6f81ca54888fc6fa822d3b5ee0
2016-08-03 15:52:03 -07:00
Sarah Parker 108df24d2a Merge "Adjust gm parameter computation to avoid mismatch" into nextgenv2 2016-08-03 21:42:30 +00:00
Yaowu Xu d9e73a32fc Merge "Cherry pick from AOMedia" into nextgenv2 2016-08-03 19:25:22 +00:00
Yaowu Xu efe198fb04 Merge "Cherry pick from AOM:" into nextgenv2 2016-08-03 19:25:17 +00:00
Yaowu Xu a3cff08259 more cleanup of vp8 and vp9
Change-Id: Ic90ebe6136f4b75645ba699d49c0bcb3764ddccf
2016-08-03 12:20:33 -07:00
Sarah Parker aa810c002c Adjust gm parameter computation to avoid mismatch
The gm parameters need to have WARPED_PRECISION_BITS precision
until they are written to the bitstream because functions in
reconinter use these parameters before they are written to
the bitstream. Previously, the parameters weren't being converted
to WARPED_PRECISION_BITS until they were read from the bitstream
which causes an encode/decode mismatch.

Change-Id: I31e76e9d6f7d24df21af287a72f8c01f1997304d
2016-08-03 12:20:12 -07:00
Yue Chen 0acb76d8eb Merge "Fix a bug and a function name in EXT_INTRA experiment" into nextgenv2 2016-08-03 17:04:15 +00:00
Yaowu Xu b06147de6b Cherry pick from AOMedia
5b5fbad VP9LfSync->VP10LfSync
b752848 vp8_yv12 -> vpx_yv12
e5068cd VP9->VPX for reference frame flags

Change-Id: Ia36860499c81a5aca8cd6190e7370ec404c0df0f
2016-08-02 16:24:41 -07:00
Yue Chen 31dab60888 Fix a bug and a function name in EXT_INTRA experiment
(1) Apply ALLOW_FILTER_INTRA_MODES flag to the correct place, otherwise
there are bitstream mismatchs when it is 0.
(2) Rename pick_ext_intra_iframe() to pick_ext_intra_interframe().

Change-Id: Ic88c930de1d3f819750f0892df52bde55ae32a91
2016-08-02 16:12:49 -07:00
Yaowu Xu 8bf837f153 Cherry pick from AOM:
68e7e4d0 Remove VP9_CAP_POSTPROC
0738390c Remove vp9_temporal denoise
b89861a4 Remove vp9-postproc

Change-Id: I4ecaa0ac83a519c8174a494378fc23df610ff2a8
2016-08-02 15:29:50 -07:00
Yaowu Xu 134710af32 Disable tests not applicable to VP10
As VP10 does not support multiple layers yet, we disable the ported
tests from VP9.

Change-Id: Ib7577c27e402ede481213b7a64ebee7576a025a5
2016-08-01 13:32:40 -07:00
Hui Su 0594c7f5b1 Merge "Use all possible intra ref pixels for blocks on frame boundary" into nextgenv2 2016-08-01 17:29:09 +00:00
Yaowu Xu de42ab22bd Merge "Cherry pick renaming changes from AOMedia branch" into nextgenv2 2016-08-01 17:16:07 +00:00
Yaowu Xu 22fda38fa4 Merge "Rename files with vp9_ prefix" into nextgenv2 2016-08-01 17:15:50 +00:00
Yaowu Xu d4c4724090 Cherry pick renaming changes from AOMedia branch
Manually cherry-picked the following changes:
8c8d16de vp9 -> vpx in names
75b57d39 VP9_ -> VPX_ in function names
761a7088 VP9_INTERP_EXTEND -> VPX_INTERP_EXTEND
4273a52c VP9->VPX in border pixel macros
03568c31 VP9_FRAME_MARKER -> VPX_FRAME_MARKER
2334f51d VP9->VPX in fdct function names

Change-Id: Icc18dbf4b416dd0fa21033b3e19ab8a47c893508
2016-07-29 13:31:32 -07:00
hui su a4daf360ca Use all possible intra ref pixels for blocks on frame boundary
Tested on lowres and midres, performance impact is neutral.

BUG=https://bugs.chromium.org/p/webm/issues/detail?id=1269

Change-Id: Idaccaf7da7b460e6201efd436c084be66b5d4ebd
2016-07-29 10:06:50 -07:00
Yaowu Xu ac86d3d668 Merge "More vp8/vp9 clean up" into nextgenv2 2016-07-29 16:50:33 +00:00
Yaowu Xu 5eee90730b Rename files with vp9_ prefix
Change-Id: I9c51ae3a2af698efe32288b807f881385e19822b
2016-07-29 16:45:08 +00:00
Yaowu Xu 3fa28d51af More vp8/vp9 clean up
Change-Id: I8101de20e873c19d03c7fd2977bc22003e395807
2016-07-28 18:22:47 -07:00
hui su f67ff4a5b7 Fix a missing space
Change-Id: I6a9ab351012b731308d6b4fc78c09744c6afb61a
2016-07-28 09:55:17 -07:00
Jingning Han 3ecf31dbdf Merge "Separate frame context index for different frame types" into nextgenv2 2016-07-28 16:39:45 +00:00
Yaowu Xu 3bd709fafe Remove vp8, vp9 folders
Change-Id: I09b8acd22d031ece52e1fee18b998349bf1cf06b
2016-07-28 14:33:21 +00:00
Jingning Han 8915eb8e9a Separate frame context index for different frame types
This commit makes the encoder to use different frame context index
for different frame types. In the baseline setting, it sets the
frame context index of the overlay frame to be different from other
regular inter frames. In the ext-refs setting, it further allows
the backward reference frame to use a different index.

It improves the compression performance for both settings.

Baseline
lowres  0.12%

ext-refs
lowres  0.50%
midres  0.56%

Change-Id: I7c63ddec9fc296c56a86353cf2c661a740b97a97
2016-07-27 15:35:15 -07:00
James Zern 725f7f9d57 .clang-format: disable DerivePointerAlignment
everything outside of third_party should follow 'PointerAlignment:
right' i.e., associate the '*' with the variable

+ add a note about the clang-format that generated this file

Change-Id: I13e3f4f5fb6e22a8fa7fc3d06879c995b7c41a39
(cherry picked from commit e4290800b21478a3f9548c58b4f15c5ba5393073)
2016-07-26 19:51:45 -07:00
Hui Su b124b243d4 Merge "ext-intra: squeeze the derivative table" into nextgenv2 2016-07-26 21:53:50 +00:00
hui su 831e009970 ext-intra: squeeze the derivative table
Reduce its size form 270x2 to 90.

Change-Id: Icaacc4258e43cdc19c6f06598fee17c3dd06d7e9
2016-07-26 12:58:22 -07:00
Yaowu Xu 6d6291b119 Merge "Fix compilation error under Clang 4.0." into nextgenv2 2016-07-26 17:21:58 +00:00
Yaowu Xu 077168bb16 Merge "MinArfFreqTest: Don't leak video on failure." into nextgenv2 2016-07-26 17:21:46 +00:00
Yaowu Xu d8f83fcfd6 Merge "blockiness_test: fix implicit float conversion" into nextgenv2 2016-07-26 17:21:37 +00:00