1473 Commits

Author SHA1 Message Date
hui su
ebc6e058db Fix a bug in vp10_predict_intra_block
Avoid mistakenly setting "have_right" as 0 for UV channel in blocks
of width no larger than 8.

Change-Id: Ic2b031e32f967a23fd118a052bf9edd7d5a3abe6
2016-03-02 11:22:09 -08:00
Yaowu Xu
9425616615 Merge "Fix a unused function warning with var_tx on" into nextgenv2 2016-03-02 01:11:17 +00:00
Hui Su
90fe1cffbf Merge "Fix a couple of minor bugs in vp10_has_right and vp10_has_bottom" into nextgenv2 2016-03-02 00:33:38 +00:00
Yunqing Wang
84f982080a Minor fix in header files
Move functions to be included in extern "C".

Change-Id: If57fa5eb7955763cf99e6839dde4d7221fad75ea
2016-03-01 13:16:03 -08:00
Yaowu Xu
3d89d059dc Merge "Fix an overflow issue for HBD" into nextgenv2 2016-03-01 19:22:48 +00:00
Yaowu Xu
0cfa89c0eb Fix a unused function warning with var_tx on
Change-Id: I1e65d7e1586d8c7c65bb150b1a928cf3adf97366
2016-03-01 11:05:48 -08:00
hui su
935a837c01 Fix a couple of minor bugs in vp10_has_right and vp10_has_bottom
The above-right and left-bottom pixels were sometimes not used even
though they are available. Results on lowres_all and hdres_all are
mostly neutral.

Change-Id: Ic13533dd498442ad5592b83bb5fabf053cc8e8f0
2016-03-01 10:09:04 -08:00
Yaowu Xu
5c613ea881 Fix an overflow issue for HBD
The sum of squared value of a block can overflow 32bit, this commit
changes to use int64_t to avoid the overflow issue.

Change-Id: I78fcd6999634f186f86d649cfce85d97a993d040
2016-03-01 09:44:04 -08:00
Angie Chiang
7667733991 Update obmc counts in multithread mode
Change-Id: I0743e00dad9d36a87870c480922f5ae904bd5c9d
2016-02-29 17:09:02 -08:00
Yunqing Wang
342a368fd4 Do sub-pixel motion search in up-sampled reference frames
Up-sampled the reference frames to 8 times in each dimension using
the 8-tap interpolation filter. In sub-pixel motion search, use the
up-sampled reference frames to find the best matching blocks. This
largely improved the motion search precision, and thus, improved
the compression quality. There was no change in decoder side.

Borg test and speed test results:
1. On derflr set,
Overall PSNR gain: 1.306%, and SSIM gain: 1.512%.
Average speed loss on derf set was 6.0%.
2. On stdhd set,
Overall PSNR gain: 0.754%, and SSIM gain: 0.814%.
On hevchd set,
Overall PSNR gain: 0.465%, and SSIM gain: 0.527%.
Speed loss on HD clips was 3.5%.

Change-Id: I300ebaafff57e88914f3dedc8784cb21d316b04f
2016-02-29 12:14:47 -08:00
Debargha Mukherjee
db084506d8 A build fix and some other cosmetic changes
Fixes some issues introduced by a merge of two patches.
Also decouples the temporal interpolation filter from the switchable
filters for now for ease of experimentation with both separately.

Change-Id: If1c7c08adf00e0cf818fe8d0d3656c26ea65eb32
2016-02-29 10:20:52 -08:00
Debargha Mukherjee
48589e8d07 Merge "Some refactoring and cleanups of interp filter" into nextgenv2 2016-02-29 15:55:48 +00:00
Jingning Han
0fc0c1a32d Merge "Enable improved temporal filter in ext-interp experiment" into nextgenv2 2016-02-27 01:22:15 +00:00
Jingning Han
dca86af8f4 Merge "Unify frame border extension operation" into nextgenv2 2016-02-27 01:22:03 +00:00
Debargha Mukherjee
bab2912b5e Some refactoring and cleanups of interp filter
Includes various cosmetic changes and refactoring including
naming the sharp filters differently (since they are no longer
8-tap).

Change-Id: Ida5a19ca0daa9f6a64a6734394c685b2a4a2564a
2016-02-26 15:42:49 -08:00
Jingning Han
95d35a4a0b Enable improved temporal filter in ext-interp experiment
It improves the coding performance by 0.3%.

Change-Id: I9703abd705ceacdf9e7424428e5120253cadcc18
2016-02-26 21:59:51 +00:00
Jingning Han
d1d11fc6dd Unify frame border extension operation
This commit unifies the encoder and decoder border extension and
motion compensated prediction process. Remove the decoder specific
flow to simplify the development flow.

Change-Id: I9c43bbe6d7c017e6da2db6a62c5bf3d0af7ccfce
2016-02-26 13:58:53 -08:00
Geza Lore
7ded038af5 Port interintra experiment from nextgen.
The interintra experiment, which combines an inter prediction and an
inter prediction have been ported from the nextgen branch. The
experiment is merged into ext_inter, so there is no separate configure
option to enable it.

Change-Id: I0cc20cefd29e9b77ab7bbbb709abc11512320325
2016-02-26 13:01:51 -08:00
Debargha Mukherjee
3287f5519e Merge "Hooks to use 32x32 masked transforms for ext-tx" into nextgenv2 2016-02-26 20:54:37 +00:00
Yi Luo
b347c3c5e5 Merge "Implemented DST 8x8 with SSE2 intrinsics." into nextgenv2 2016-02-26 19:10:00 +00:00
Jingning Han
2b7196a8bb Merge "Use sharp filter for alter reference frame generation" into nextgenv2 2016-02-26 16:24:59 +00:00
Jingning Han
83ecafbd95 Merge "Enable context based motion vector entropy coding" into nextgenv2 2016-02-26 16:24:49 +00:00
Yaowu Xu
a570cefcf8 Merge "Extend vpxssim to handle more HBD combinations" into nextgenv2 2016-02-26 15:57:40 +00:00
Jingning Han
72eda13e50 Use sharp filter for alter reference frame generation
This commit uses 12-tap sharp filter to generate alter reference
frame. It improves the compression performance by
derf    0.45%
hevcmr  0.35%
stdhd   0.79%

No encoding time change is observed.

Change-Id: Ia5dc26d5aae6b9b0cb782e5a28dc5066eeeb2ec8
2016-02-25 14:20:38 -08:00
James Zern
ac4c37c684 vp9/10: fix forced keyframes w/alt-refs enabled
in 1-pass encodes. issues with 2-pass as well as other forced flags
persist.

Change-Id: Ic7ceb906fccea6456d5df96483c10cacd46e01c7
2016-02-24 15:56:37 -08:00
Yi Luo
0353f596e9 Implemented DST 8x8 with SSE2 intrinsics.
Implemented fdst8_sse2() function against C version: fdst8().
Added seven DST related hybrid transform types in vp10_fht8x8_sse2().
Replaced vp10_fht8x8_c() with vp10_fht8x8_sse2() in fwd_txfm_8x8().
Speedup: 18.1%, 11.5%, 22.0% based on speed test from
city_cif.y4m, garden_sif.y4m, mobile_cif.y4m.

Change-Id: Ia4aa1ea44c7a33e494f64ce843037f8703f975e3
2016-02-24 14:58:01 -08:00
Debargha Mukherjee
da2d4a7afc Hooks to use 32x32 masked transforms for ext-tx
Adds hooks to use 32x32 ext-tx. Also adds scan orders for the masked
transforms for 32x32.
Make macro USE_MSKTX_FOR_32X32 1 in blockd.h to support 32x32 masked
transforms for ext-tx.

Change-Id: Ie6564830266651fcafae2d536c274dafd664ce17
2016-02-24 13:08:37 -08:00
Debargha Mukherjee
389efb289e Adds an utility macro ROUNDZ_POWER_OF_TWO
This macro works for the shift parameter being 0.
The ROUND_POWER_OF_TWO macro does not.

Change-Id: I8434d2933892e09bbc0d2dafc934d0c3637df347
2016-02-24 12:35:29 -08:00
Debargha Mukherjee
ad574d4008 Merge "Some fixes in reconintra" into nextgenv2 2016-02-24 20:25:25 +00:00
Yaowu Xu
aa6c754635 Merge remote-tracking branch 'webm/master' into nextgenv2 2016-02-24 10:53:17 -08:00
Debargha Mukherjee
3ef0db078e Some fixes in reconintra
Change-Id: I0b0fa7c9853ce12d39ee21829686b308154b2c61
2016-02-24 10:49:35 -08:00
Debargha Mukherjee
557cb9a879 Merge "Rename above and left offset variables." into nextgenv2 2016-02-24 18:48:22 +00:00
Debargha Mukherjee
c1e51beba6 Merge "Experiment to use image domain dist in baseline." into nextgenv2 2016-02-24 18:30:50 +00:00
Geza Lore
44dba01f3e Rename above and left offset variables.
These variable names were legacy from a previous version of this
function and in the current version they were confusingly backwards.

Change-Id: I4f6c1628f296fd5b650fd9c5e2d56d7daf66a3f6
2016-02-24 17:39:48 +00:00
Jingning Han
47bc2a5741 Enable context based motion vector entropy coding
This commit enables a context based motion vector entropy coding
conditioned on dynamic reference motion vector list. This (along with
the previous CL) imporves the coding gains due to dynamic motion
vector referencing based entropy coding:
derf   0.1%
hevcmr 0.2%
stdhd  0.7%
hevchr 0.4%

No encoding time change was observed.

Change-Id: I179c723844079195f6952a12582996a3ca9e9914
2016-02-24 09:02:32 -08:00
Yue Chen
02e734168c Merge "Optimizing obmc rd decision by checking the real rd cost" into nextgenv2 2016-02-23 23:05:06 +00:00
Yue Chen
a614262edb Optimizing obmc rd decision by checking the real rd cost
Instead of using model_rd_for_sb() to estimate the cost and make the
decision on bmc/obmc, we use super_block_yrd/uvrd() to calculate and
compare the real rd costs of bmc and obmc.

Average bit-rate reduction(%) of obmc experiment:
derflr/derfhd/hevcmr/hevchd
2.353/TBD/TBD/TBD
Before the optimization, the coding gain was:
1.582/1.109/1.600/1.164

Note: there is still some mysterious bug because that compared to
the previous version, the performance at low bit rate drops a lot.

Change-Id: I8dbee04a272190f10516a3953c1ae690f8136766
2016-02-23 14:16:12 -08:00
hui su
875aa1c58c Fix palette mode
It was broken by commit 3787b17439d00d3684646e97c18d231860dae8b9

Change-Id: I2be0f6243e8716b9ca4c0321de381419108d1abe
2016-02-23 12:01:23 -08:00
Alex Converse
05f33142f5 Merge "Port "Better workaround for Bug 1089." to vp10 (nextgenv2)." into nextgenv2 2016-02-23 17:53:57 +00:00
Geza Lore
3c4b56c4dd Experiment to use image domain dist in baseline.
Change-Id: Ib29f510289716b5ab5c7d74d32a450c190308a83
2016-02-23 09:35:40 -08:00
Yaowu Xu
272dbaa13f Merge "Cleanup psnr.h" into nextgenv2 2016-02-23 17:13:34 +00:00
Angie Chiang
5340d1424d Merge "Merge 12sharp filter into ext-interp" into nextgenv2 2016-02-23 01:26:23 +00:00
Yaowu Xu
ec6b8d8b76 Merge "Add shift stage in FASTSSIM computation" into nextgenv2 2016-02-23 00:43:18 +00:00
Angie Chiang
e4af6a42a7 Merge 12sharp filter into ext-interp
Change-Id: I7df48e7f3b57f212798ef4be86f28aed928fc3e0
2016-02-22 16:26:38 -08:00
Yaowu Xu
eeaf8e6b6c Extend vpxssim to handle more HBD combinations
Change-Id: I38426d946b74c9090a265d34b89e2db6693927c2
2016-02-22 16:09:08 -08:00
Yaowu Xu
38cfc45e07 Cleanup psnr.h
Change-Id: Id026e72ee655ee5bd645a89e378da0d462be367d
2016-02-22 15:37:40 -08:00
Angie Chiang
a90f8b8c8f Merge "sync dec/enc mv clamp behavior in prediction" into nextgenv2 2016-02-22 23:30:10 +00:00
Yaowu Xu
d1c5cd4a30 Add shift stage in FASTSSIM computation
This commits adds a shift stage for FASTSSIM computaton when source
bit depth is different from working bit depth, to make sure metric
results are calculated in bit_depth consistent with source.

Change-Id: I997799634076ef7b00fd051710544681ed536185
2016-02-22 14:58:10 -08:00
Angie Chiang
e9336e4dfc sync dec/enc mv clamp behavior in prediction
Change-Id: I12ce1da18b3db7bd2f36e0424a264b3c36fbed61
2016-02-22 11:36:03 -08:00
Angie Chiang
94493e606d Merge "Fix 12 TAP convolution bug" into nextgenv2 2016-02-22 19:03:06 +00:00