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
James Zern
c4d56257f9
vp9_ethread_test: avoid crash when decoder is unavailable
...
Change-Id: If45b8931771d50990b78a5aa860f372eb0430cf4
2016-04-26 20:15:15 -07:00
James Zern
0616fa6e87
resize_test: skip VP9 decode checks if it's disabled
...
Change-Id: Ieab273a779c44e1c4648642e9f12735b81bd2300
2016-04-26 19:56:44 -07:00
Yue Chen
3ac12aecc5
Optimization for EXT_INTER + OBMC
...
Remove the restriction that the neighboring predictor cannot be
used in obmc prediction if it is an interintra or wedgeinterinter
block. The inter predictor of the interintra block, or the first
inter predictor(using LAST or GOLDEN frame) of the wedgeinterinter
block will be exploited in obmc prediction.
Coding gain: 0.248% (2.833%->3.081%) lowres
Change-Id: I4ac0368b9d2f2956f266b30c1ac97db8bafa0742
2016-04-26 16:50:10 -07:00
Debargha Mukherjee
e5b8a01fd5
Merge "Reduce intra transform set" into nextgenv2
2016-04-26 23:32:16 +00:00
Marco
a136c1769d
vp8: Adjust consec_zeromv thresholds for skin detection.
...
Change-Id: Iab5aed7bf86538352232e208bce58c3528cc9a4e
2016-04-26 16:03:44 -07:00
Yue Chen
02e941d371
Merge "Remove double counting for mv costs" into nextgenv2
2016-04-26 21:40:13 +00:00
Jingning Han
2f2448aec9
Merge "Rework motion vector precision limit" into nextgenv2
2016-04-26 21:31:10 +00:00
Yue Chen
34177e673d
Remove double counting for mv costs
...
The bug is introduced by commit 1a0352d, in which mv costs are
counted twice in joint_motion_search() in ext_inter experiment.
Change-Id: Ibace453df999d3c2e781d73f1f0912038fee2d4e
2016-04-26 13:01:52 -07:00
Hui Su
03b6f5f8e3
Merge "VP9: adjust trellis quant optimization RD parameters"
2016-04-26 19:12:09 +00:00
Hui Su
f16cf9fbcc
Merge "VP9: enable trellis quantization optimization for intra blocks"
2016-04-26 19:11:49 +00:00
Hui Su
3f7a709676
Merge "ext-intra: get rid of some floating operations." into nextgenv2
2016-04-26 18:53:33 +00:00
Marco Paniconi
fbefe470bf
Merge "vp9: Fix condition to update consec_zero_mv."
2016-04-26 18:15:27 +00:00
Jacky Chen
29ade0d3cf
Merge "vp9: Simplify the logic in denoiser SSE2 code."
2016-04-26 17:43:49 +00:00
Yi Luo
0bd84571e4
Merge "Add the 64-bit CPU cycle count utility function"
2016-04-26 17:24:21 +00:00
hui su
c3a9247e09
VP9: adjust trellis quant optimization RD parameters
...
Coding gain:
lowres 0.64%
midres 0.38%
hdres 0.58%
Change-Id: I233fa2a4b24bd1e15091a5f5ef6aff661f3f50ec
2016-04-26 10:17:38 -07:00
hui su
c8f56d2303
VP9: enable trellis quantization optimization for intra blocks
...
Coding gain:
lowres 0.18%
midres 0.23%
hdres 0.36%
Change-Id: I044c8afbc481fc55b23d440352941071355b0afb
2016-04-26 10:17:29 -07:00
Jingning Han
8678ab4c55
Rework motion vector precision limit
...
This commit enables 1/8 luma component motion vector precision
for all motion vector cases. It improves the compression performance
of lowres by 0.13% and hdres by 0.49%.
Change-Id: Iccfc85e8ee1c0154dfbd18f060344f1e3db5dc18
2016-04-26 10:14:26 -07:00
Debargha Mukherjee
8851acc5ed
Reduce intra transform set
...
Reduce transform set for intra for 8x8 and smalller to 7 from 12.
Also fixes an issue with prob updates.
Enocder Speed-up about 8-10%
Coding efficiency very little change.
lowres: -2.996 (from -3.055 before)
midres: -2.482 (from -2.552 before)
Change-Id: I4ba50ff967521b33c748fe423bd92f7cf4105ebc
2016-04-26 10:10:55 -07:00
Hui Su
1e93a3e64e
Merge "Keep track of zcoeff_blk in tx size/type search" into nextgenv2
2016-04-26 16:41:50 +00:00
JackyChen
1a53c0c9e1
vp9: Simplify the logic in denoiser SSE2 code.
...
Block size passed into denoiser filter is always >= BLOCK_8X8 (in
vp9_pick_inter_mode), it is not necessary to check smaller block
size. Passed the bitexact test on clips with different resolutions and
noise levels.
Change-Id: I19fa3195d18c27d9e5de60dc11cff1522ef3714e
2016-04-26 09:04:39 -07:00
Paul Wilkins
779840c9f4
Merge "Resolve a couple of TODOs in firstpass.c"
2016-04-26 12:57:09 +00:00
Paul Wilkins
7a4c2c7671
Merge "Experiment to adapt for net AQ offset."
2016-04-26 12:56:52 +00:00