17183 Commits

Author SHA1 Message Date
Yi Luo
299c5fc202 HBD hybrid transform 8x8 SSE4.1 optimization
- Tx_type: DCT_DCT, DCT_ADST, ADST_DCT, ADST_ADST.
- Update bit-exact unit test against current C version.
- HBD encoder speed improves ~3.8%.

Change-Id: Ie13925ba11214eef2b5326814940638507bf68ec
2016-04-29 17:04:52 -07:00
James Zern
5d27ee1c08 Merge "vp9_ethread_test: replace FramePktHook w/DecompressedFrameHook" 2016-04-29 19:56:55 +00:00
James Zern
706bd3d57a Merge "msvs_common.sh: make fix_file_list generic" 2016-04-29 18:31:06 +00:00
Debargha Mukherjee
88fe7871be Refactor wedge generation
Change-Id: I2ec4f562e28a4673477e20186f9d6167b24b76b8
2016-04-28 17:51:21 -07:00
Marco
7bd73b638a vp9: Move the initialization of some rc variables to rc_init.
And initialize a variable (avg_source_sad) that was not initialized to 0.

Change-Id: I63223e20fffe2a2ea38f03da62dad16af0618ea4
2016-04-28 17:10:37 -07:00
James Zern
ef877d846f vp9_ethread_test: replace FramePktHook w/DecompressedFrameHook
this avoids the decoder test which was only correct for vp9, vp10 was
missed in the earlier change

Change-Id: Ib789c906d440c0e4169052cf64c74d5e4b196caa
2016-04-28 16:26:34 -07:00
Debargha Mukherjee
cf3ee22597 Merge "Make the backward updates work with bitshifts" into nextgenv2 2016-04-28 20:25:53 +00:00
Alex Converse
94806e029d Merge "Avoid an unsigned overflow in invert_quant" 2016-04-28 19:44:03 +00:00
Debargha Mukherjee
e4bf50b9b9 Make the backward updates work with bitshifts
Removes integer divides from backward updates for VP10.
Currently this is put in as part of the entropy experiment.
Coding efficiency change is in the noise level.

Change-Id: I5b3c0ab6169ee6d82d0ca1778e264fd4577cdd32
2016-04-28 11:51:18 -07:00
Debargha Mukherjee
7ff7943455 Brings back near-near compound mode into ext-inter
lowres: improves by 0.1%

Change-Id: I245019916bf47c6e24bc8c3953b86715ab0193c9
2016-04-28 11:34:13 -07:00
Jacky Chen
78cde4f593 Merge "vp9: Don't force block size to 8x8 in denoiser." 2016-04-28 18:06:29 +00:00
Geza Lore
bf93b38561 Fix some mismatches when using ext-interp.
With ext interp, write_switchable_interp_filter calls
vp10_is_interp_needed, which needs access to the reference frame
buffers to check if they are scaled, the ref frame buffer pointer
at this point used to be uninitialized in the encoder resulting in
bitstream syntax mismatch when the encoder/decoder did not read/write
the interp filter element consistently.

Change-Id: Ie0be2a19cbfcb5639a751aa857458e91c23b8fe3
2016-04-28 18:09:54 +01:00
Alex Converse
43622dd92a Merge "Port convolve test refactor to master." 2016-04-28 16:26:54 +00:00
Alex Converse
f6d13e7be5 Merge "bitreader: remove an unsigned overflow." 2016-04-28 16:26:37 +00:00
James Zern
a8b056526e x86.h,x86_simd_caps: add an explicit cast w/strtol
+ use strtoul as mask is unsigned

quiets a -Wshorten-64-to-32 warning

Change-Id: Ia1c24679302100a252da7a45d3bb871f591f1888
2016-04-27 23:41:51 -07:00
JackyChen
c69a141a9e vp9: Don't force block size to 8x8 in denoiser.
First, we only set use_4x4_partition for key frame where we don't
denoise; second, envision we have small partitions, we should pass the
actual block size to denoiser and make an early termination if needed.

Change-Id: I331f42046d792b17360723d17ff817d601394658
2016-04-27 22:18:11 -07:00
James Zern
4d8796a59c msvs_common.sh: make fix_file_list generic
take an array name as the first parameter and operate on the reference;
removes a TODO

Change-Id: I9d63a31d7a7625123f0d64f212b4e702813cc01b
2016-04-27 20:26:49 -07:00
Alex Converse
b93a1e6b44 Merge changes Ia2dd6bb1,Id1220b03 into nextgenv2
* changes:
  transform tests: Avoid #if inside INSTANTIATE_TEST_CASE_P
  variance_test: Avoid #if inside INSTANTIATE_TEST_CASE_P
2016-04-27 23:59:14 +00:00
Alex Converse
2f97b7cbfe Port convolve test refactor to master.
Brings f03e238f to master.

Change-Id: I7f7754e7d1288b103a4510303d10afc68a7d8ca8
2016-04-27 16:53:33 -07:00
Alex Converse
4aafcd220d Merge "convolve_test: Avoid #if inside INSTANTIATE_TEST_CASE_P" into nextgenv2 2016-04-27 23:47:30 +00:00
Alex Converse
a68b24fdee Tweak casts on vpx_sub_pixel_variance to avoid implicit overflow.
Change-Id: I481eb271b082fa3497b0283f37d9b4d1f6de270c
2016-04-27 16:37:18 -07:00
Alex Converse
13c3757067 Merge "buf_ans: Misc cleanup." into nextgenv2 2016-04-27 23:02:39 +00:00
Alex Converse
918a2fd726 Use signed variables in the lookahead.
Wrap around behavior is enforced manually and we use the values in
arithmetic involving negative integers.

Change-Id: I199706b6f3af91f4fb6fe2ef302fbbc6d0cf5785
2016-04-27 16:01:20 -07:00
Alex Converse
36a0c7ffe3 bitreader: remove an unsigned overflow.
bits_left is in the range [0, 64 (= BD_VALUE_SIZE)] , so the narrowing
conversion should be safe.

Change-Id: I943fcd359eaad76249ee1e1fb03a2ac16945d2fd
2016-04-27 15:31:35 -07:00
Alex Converse
6c4007be1c Be explicit about overflow in vpx_variance16x16_sse2.
The product always fits in uint32_t, but the operands don't.

An optimizing compiler should generate the wraparound code.
(Verified with clang).

Change-Id: I25eb64df99152992bc898b8ccbb01d55c8d16e3c
2016-04-27 15:22:17 -07:00
Alex Converse
ccb894ce73 Remove casts on < 16x16 variance.
These blocks will never overflow since max sum is +/-255*w*h.

Change-Id: Ia2c630339fd9cfb411b56b6040ff402095f12a2e
2016-04-27 15:21:58 -07:00
Alex Converse
d3fe3b2abb Avoid an unsigned overflow in invert_quant
Change-Id: I16a570b2af66b6580d1cd6f8345a25f079009bf4
2016-04-27 15:07:22 -07:00
Hui Su
338c9e704a Merge "ext-intra: completely remove floating point operations" into nextgenv2 2016-04-27 22:00:22 +00:00
Alex Converse
2e520f2768 transform tests: Avoid #if inside INSTANTIATE_TEST_CASE_P
BUG=https://bugs.chromium.org/p/webm/issues/detail?id=1200

Change-Id: Ia2dd6bb1ca2dff4422753af4a00156a12e488ed0
2016-04-27 14:39:38 -07:00
Alex Converse
25de2e15a9 variance_test: Avoid #if inside INSTANTIATE_TEST_CASE_P
BUG=https://bugs.chromium.org/p/webm/issues/detail?id=1200

Change-Id: Id1220b03e7be931e298848de381fdbce911e4a73
2016-04-27 14:39:37 -07:00
Alex Converse
f03e238f6b convolve_test: Avoid #if inside INSTANTIATE_TEST_CASE_P
BUG=https://bugs.chromium.org/p/webm/issues/detail?id=1200

Change-Id: I7f7754e7d1288b103a4510303d10afc68a7d8ca8
2016-04-27 14:39:31 -07:00
Alex Converse
38dfee802f Merge "Fix vp10 txfm on MSVC 2015." into nextgenv2 2016-04-27 21:38:31 +00:00
Alex Converse
fc838a04be buf_ans: Misc cleanup.
Change-Id: I18a3ef2ee6cdda57abcd27683b30b4e3136182c0
2016-04-27 14:10:15 -07:00
Debargha Mukherjee
bd76fc0492 Merge "Turn skip recode off temporarily for ref-mv" into nextgenv2 2016-04-27 20:43:32 +00:00
Alex Converse
b2ccb9c189 Merge "Declare the operator== overload for M128A in the global namespace." 2016-04-27 20:33:17 +00:00
Alex Converse
bb1e5b79da Declare the operator== overload for M128A in the global namespace.
ADL will look this up from the callsite namespace iff it is declared
before the callsite or from the parent namespace of the class type (the
global namespace).

This patch has been tested on MSVS 2015 and clang-3.8.

Change-Id: I00ba74712c9b617b9d81761abed1e14d8f25d8e3
2016-04-27 20:32:41 +00:00
James Zern
d952b13bf1 Merge changes If45b8931,Ieab273a7
* changes:
  vp9_ethread_test: avoid crash when decoder is unavailable
  resize_test: skip VP9 decode checks if it's disabled
2016-04-27 20:01:33 +00:00
Alex Converse
97673cb128 Fix vp10 txfm on MSVC 2015.
BUG=https://bugs.chromium.org/p/webm/issues/detail?id=1187

Change-Id: Ied6d3d003ed6ab9cf4f03cdd1d0037ae755254f4
2016-04-27 19:40:02 +00:00
hui su
6e39af3697 ext-intra: completely remove floating point operations
No performance changes

Change-Id: Ia489041253423ddf8ebc7e2d41fbfb9e138109f0
2016-04-27 12:08:38 -07:00
Jingning Han
22a68fb047 Merge "Fix compound mv costing for ref-mv." into nextgenv2 2016-04-27 17:15:16 +00:00
Debargha Mukherjee
a671241a6e Turn skip recode off temporarily for ref-mv
To fix tests in VP10/AltRefForcedKeyTestLarge.Frame1IsKey/*

Change-Id: I2f4f9fea515c9935d57006b709a9dd524f174b25
2016-04-27 09:55:30 -07:00
Debargha Mukherjee
bc982cc994 Merge "Initialize dummy variables." into nextgenv2 2016-04-27 16:36:24 +00:00
Geza Lore
264d5c446e Fix compound mv costing for ref-mv.
I believe this is necessary for computing the correct rate,
when not doing joint_motion_search.

Change-Id: I7634d6d7a5e6f0a6998edb4d577dd047d80df3c8
2016-04-27 13:37:29 +01:00
Geza Lore
d29ec48504 Initialize dummy variables.
Valgrind flags these up as needed by handle_inter_mode.
Initializing fixes some assertion failures in the unit tests with
only ref-mv enabled.

Change-Id: I4d56c356692745dbecd9f790cdbb8dbfbaf72d55
2016-04-27 13:35:12 +01:00
Geza Lore
4e177393f0 Fix ext-tile without ext-partition.
Default case (when ext-partition was not configured) was incorrect
in encoder tile size initialization.

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

Change-Id: Ibe57cb1dc16b9fa300573816fc16d2d2f6849fc6
2016-04-27 11:14:48 +01:00
Yue Chen
88bb103f75 Merge "Optimization for EXT_INTER + OBMC" into nextgenv2 2016-04-27 06:29:38 +00:00
Vignesh Venkatasubramanian
021105e3ac Merge "TODO cleanup: Remove unused buffer_size" 2016-04-27 06:17:12 +00:00
Vignesh Venkatasubramanian
fa99c376e5 TODO cleanup: Remove unused buffer_size
Remove unused variable buffer_size and rename bytes_in_buffer to
buffer_size in webm_read_frame.

Change-Id: I18b6ccbb044cd366610a5e39d83883cc0b174051
2016-04-26 22:40:37 -07:00
Vignesh Venkatasubramanian
9dfec135a6 Merge "webmdec.h: remove stale TODO" 2016-04-27 05:38:53 +00:00
Vignesh Venkatasubramanian
69498d66cd Merge "TODO cleanup: s/EbmlGlobal/WebmOutputContext/" 2016-04-27 05:37:32 +00:00