18311 Commits

Author SHA1 Message Date
clang-format
397d964f29 examples: apply clang-format
Change-Id: I06903104bf822819fae39e42fdb6e44d3f9d7787
2016-08-10 12:42:44 -07:00
Urvang Joshi
6dde801818 Palette code: Use built-in qsort() method; create remove_dup() method.
Change-Id: Id816413307334336a9f473540cf9aa0e789ea9e9
2016-08-10 12:10:09 -07:00
Debargha Mukherjee
1da3e129ff Merge "Fix for lossless with rect-tx" into nextgenv2 2016-08-10 19:06:47 +00:00
James Zern
4cfb8309f8 Merge changes I619b365d,I579a9328 into nextgenv2
* changes:
  lossless_test: mark tests as Large
  cpu_speed_test: mark speed 0 as Large
2016-08-10 19:06:16 +00:00
Urvang Joshi
a017c372e5 Merge "Palette code cleanup:" into nextgenv2 2016-08-10 19:05:11 +00:00
Yaowu Xu
d67a8feb93 Change to use proper types
block: from int64_t to int as it is a block index.
sse: from unsigned int to int64_t to reduce type conversion. 

Change-Id: Iec8104ff8a3fd3a77d4e451c12918bd869966c2f
2016-08-10 14:27:12 +00:00
Peter de Rivaz
ffbdc51018 Fix for lossless with rect-tx
Change-Id: Ibb1e5d5137c7717bc6a8683ad78d842c3e5f052e
2016-08-10 12:00:55 +00:00
James Zern
239bb16fef lossless_test: mark tests as Large
Change-Id: I619b365d636737da8b1a322bab3be973de53200d
2016-08-09 20:39:44 -07:00
James Zern
b5818b7722 cpu_speed_test: mark speed 0 as Large
TestTuneScreen / TestScreencastQ0 are the worst offenders

Change-Id: I579a93289aa431afbfea8a280ddcb1011ab1a8cf
2016-08-09 20:32:51 -07:00
Yaowu Xu
c57816fb58 Merge "vp10_highbd_quantize_fp: use const consistently" into nextgenv2 2016-08-10 03:13:42 +00:00
Yaowu Xu
f9efcb345a vp10_highbd_quantize_fp: use const consistently
Remove a few extra ones that are consistent with the definitions, this
fixes some MSVC warnings.

Change-Id: I4b26de4cca71f0ac85667bd641c448b44315941b
2016-08-10 03:13:22 +00:00
James Zern
9df7c2544a Merge "remove SVC" into nextgenv2 2016-08-10 03:07:07 +00:00
James Zern
cc73e1fcd4 remove SVC
spatial/temporal scalability are not supported in VP10 currently.
+ remove the unused vp10/encoder/skin_detection.[hc]

this also enables DatarateTestLarge for VP10 which passes with no
experiments enabled. these were removed previously when only the SVC
tests should have been:
134710a Disable tests not applicable to VP10

Change-Id: I9ee7a0dd5ad3d8cc1e8fd5f0a90260fa43da387c
2016-08-09 18:42:20 -07:00
Sarah Parker
b4d9a2caf3 Merge "Add interface to compute gm parameters in encodeframe" into nextgenv2 2016-08-10 00:37:28 +00:00
James Zern
d44472b646 Merge "remove vp8cx_set_ref.c" into nextgenv2 2016-08-10 00:03:54 +00:00
Sarah Parker
d616a5cee4 Add interface to compute gm parameters in encodeframe
This patch just creates the interface for global motion computation
and calls it from encodeframe. Currently, the function
compute_global_motion_feature_based is empty and the work to do
the actual parameter calculation will be added in a future patch.

Change-Id: Ife142742140079e1c1743b66f180aeb2ecea29ae
2016-08-09 16:00:59 -07:00
Wei-ting Lin
ffdd988427 Merge "Fix a bug for multi_arf_allowed" into nextgenv2 2016-08-09 21:09:57 +00:00
Urvang Joshi
d000020840 Palette code cleanup:
- Avoid some memcpy()s
- Remove indices array
- Make pre_indices array local
- Avoid rounding twice
- Other small simplifications

Change-Id: Iac3236daaad04f21f54054cdd9504de13b942a07
2016-08-09 11:53:34 -07:00
James Zern
2c14c539b3 remove vp8cx_set_ref.c
and the related tests. vpxcx_set_ref is the binary to use for vp10.

Change-Id: I4c4ce7b36b165e6d06b87fd6b53923a1c11e4e6c
2016-08-08 17:14:04 -07:00
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
Wei-ting Lin
c0e55de06b Fix a bug for multi_arf_allowed
The ARF Index was wrong when updating the upsampled reference
frame buffer.

Compared to the baseline in which multi_arf_allowed is disabled, the
RD performance drops 2.250% in Avg using Overall PSNR in the derf
dataset. The performance decrease is especially in the following
video sequences:

foreman_cif: drops 7.489%
husky_cif: drops 6.421%
soccer_cif: drops 4.850%

However, it has a significant gain in the following video sequences:

container_cif: increases 8.043%
harbour_cif: increases 1.332%

Change-Id: I02472909eb34bd070d7544f57383e72559fa42b3
2016-08-05 14:05:50 -07: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