]> granicus.if.org Git - libvpx/log
libvpx
8 years agoRefactor 1D transforms
Debargha Mukherjee [Tue, 15 Mar 2016 05:30:09 +0000 (22:30 -0700)]
Refactor 1D transforms

In preparation for adding more 1D variants with ADST/FlipADST/etc.

BDRATE actually improves by 0.21% on lowres.

Change-Id: I2fa4720c69fe001fa666119a284dfc6b17fffab2

8 years agoMerge "Add high-precision sub-pixel search as a speed feature" into nextgenv2
Yunqing Wang [Sat, 12 Mar 2016 02:26:36 +0000 (02:26 +0000)]
Merge "Add high-precision sub-pixel search as a speed feature" into nextgenv2

8 years agoMerge "Fix sub8x8 interpolation full pixel bug" into nextgenv2
Angie Chiang [Sat, 12 Mar 2016 01:45:27 +0000 (01:45 +0000)]
Merge "Fix sub8x8 interpolation full pixel bug" into nextgenv2

8 years agoAdd high-precision sub-pixel search as a speed feature
Yunqing Wang [Thu, 10 Mar 2016 19:07:50 +0000 (11:07 -0800)]
Add high-precision sub-pixel search as a speed feature

Using the up-sampled reference frames in sub-pixel motion search is
enabled as a speed feature for good-quality mode speed 0 and speed 1.

Change-Id: Ieb454bf8c646ddb99e87bd64c8e74dbd78d84a50

8 years agoMerge "Fix an overflow in highbitdepth loop restoration" into nextgenv2
Debargha Mukherjee [Fri, 11 Mar 2016 21:48:36 +0000 (21:48 +0000)]
Merge "Fix an overflow in highbitdepth loop restoration" into nextgenv2

8 years agoMerge "convolve8 sse2 test" into nextgenv2
Angie Chiang [Fri, 11 Mar 2016 19:57:30 +0000 (19:57 +0000)]
Merge "convolve8 sse2 test" into nextgenv2

8 years agoMerge "Complete (mostly) migration of palette mode" into nextgenv2
Hui Su [Fri, 11 Mar 2016 19:52:41 +0000 (19:52 +0000)]
Merge "Complete (mostly) migration of palette mode" into nextgenv2

8 years agoMerge "Fix a bug in ext-intra experiment" into nextgenv2
Hui Su [Fri, 11 Mar 2016 19:52:34 +0000 (19:52 +0000)]
Merge "Fix a bug in ext-intra experiment" into nextgenv2

8 years agoFix an overflow in highbitdepth loop restoration
Debargha Mukherjee [Fri, 11 Mar 2016 06:56:24 +0000 (22:56 -0800)]
Fix an overflow in highbitdepth loop restoration

Change-Id: Ie20cd35a4c96443c0de234d2cf097187a70ec8dd

8 years agoMerge "Fix compiler warnings" into nextgenv2
Hui Su [Fri, 11 Mar 2016 19:47:38 +0000 (19:47 +0000)]
Merge "Fix compiler warnings" into nextgenv2

8 years agoFix a bug in ext-intra experiment
hui su [Fri, 11 Mar 2016 18:23:51 +0000 (10:23 -0800)]
Fix a bug in ext-intra experiment

Change-Id: I6fab352eb1f7d9c5dc783a4d4d878b6b42838ca2

8 years agoFix compiler warnings
hui su [Fri, 11 Mar 2016 18:13:08 +0000 (10:13 -0800)]
Fix compiler warnings

Change-Id: I00314ec296e8368f1239a556b3a55feac9cec7ae

8 years agoMerge "Enable hybrid 1-D/2-D transform coding for highbd setting" into nextgenv2
Jingning Han [Fri, 11 Mar 2016 18:09:11 +0000 (18:09 +0000)]
Merge "Enable hybrid 1-D/2-D transform coding for highbd setting" into nextgenv2

8 years agoComplete (mostly) migration of palette mode
hui su [Tue, 23 Feb 2016 23:22:25 +0000 (15:22 -0800)]
Complete (mostly) migration of palette mode

Coding gain on screen_content is 12.2% (was 6.6%).

Some features such as frame-level color buffer, adaptive
entropy coding, are coming in future patches.

Change-Id: I2658cf5ec0cbb02cff685475759f3b68c9807697

8 years agoFilling in speed feature functions for ext tx search
Sarah Parker [Mon, 7 Mar 2016 19:00:03 +0000 (11:00 -0800)]
Filling in speed feature functions for ext tx search

Filled in prune one and prune two. Prune three is still
being experimented with.

Change-Id: Ic07f828c448e86cacb0369aa3a9a0feb2edae054

8 years agoMerge "Adds compound wedge prediction modes" into nextgenv2
Debargha Mukherjee [Thu, 10 Mar 2016 17:44:45 +0000 (17:44 +0000)]
Merge "Adds compound wedge prediction modes" into nextgenv2

8 years agoEnable hybrid 1-D/2-D transform coding for highbd setting
Jingning Han [Thu, 10 Mar 2016 00:40:08 +0000 (16:40 -0800)]
Enable hybrid 1-D/2-D transform coding for highbd setting

This commit enables the hybrid 1-D/2-D transform coding scheme for
high bit-depth setting. It improves the compression performance of
ext-tx experiment by 0.98% for lowres_all set.

Change-Id: Ic27f5037f2c36b095a93b9f15dbae34bdcdf00aa

8 years agoAdds compound wedge prediction modes
Debargha Mukherjee [Tue, 1 Mar 2016 00:08:07 +0000 (16:08 -0800)]
Adds compound wedge prediction modes

Incorporates wedge compound prediction modes.

Change-Id: Ie73b54b629105b9dcc5f3763be87f35b09ad2ec7

8 years agoMerge "Fix an assertion condition in transform type search" into nextgenv2
Jingning Han [Thu, 10 Mar 2016 00:20:30 +0000 (00:20 +0000)]
Merge "Fix an assertion condition in transform type search" into nextgenv2

8 years agoMerge "Implemented DST 16x16 SSE2 intrinsics optimization" into nextgenv2
Yi Luo [Wed, 9 Mar 2016 22:27:43 +0000 (22:27 +0000)]
Merge "Implemented DST 16x16 SSE2 intrinsics optimization" into nextgenv2

8 years agoMerge "Add horizontal and vertical scan order for 1-D transform" into nextgenv2
Jingning Han [Wed, 9 Mar 2016 20:47:06 +0000 (20:47 +0000)]
Merge "Add horizontal and vertical scan order for 1-D transform" into nextgenv2

8 years agoFix sub8x8 interpolation full pixel bug
Angie Chiang [Wed, 9 Mar 2016 19:15:19 +0000 (11:15 -0800)]
Fix sub8x8 interpolation full pixel bug

Change-Id: I5df744dc6b21ed9dbbf6ddf38004f2a9e88b7d00

8 years agoFix an assertion condition in transform type search
Jingning Han [Wed, 9 Mar 2016 17:30:17 +0000 (09:30 -0800)]
Fix an assertion condition in transform type search

Change-Id: I442475e559be2acdc1c2a3e5ca021b3de77adda5

8 years agoAdd horizontal and vertical scan order for 1-D transform
Jingning Han [Wed, 9 Mar 2016 16:58:07 +0000 (08:58 -0800)]
Add horizontal and vertical scan order for 1-D transform

This commit enables the 1-D transform to use Manhattan grid vertical
and horizontal scan order for transform coefficient entropy coding.

Enabled in inter prediction mode, the hybrid 1D/2D transform coding
scheme outperforms the 2D-DCT based coding system used in VP9 by
lowres_all  1.7%
hdres_all   1.4%

As one coding option, in addition to the existing 17 other transform
types in ext-tx experiment, the 1D/2D hybrid transform improves
the coding gains:
lowres_all  2.2% -> 3.0%

Change-Id: I9cefa9d9e38224546d0afd67feecd9f8d4a16ab0

8 years agoRefactor entropy coding of transform size
hui su [Mon, 7 Mar 2016 23:25:50 +0000 (15:25 -0800)]
Refactor entropy coding of transform size

No performance change.

Change-Id: If35125fed909d89235b303514f77a33183bb36b3

8 years agoImplemented DST 16x16 SSE2 intrinsics optimization
Yi Luo [Tue, 8 Mar 2016 22:10:24 +0000 (14:10 -0800)]
Implemented DST 16x16 SSE2 intrinsics optimization

- Implemented fdst16_sse2(), fdst16_8col() against C version: fdst16().
- Turned on 7 DST related hybrid txfm types in vp10_fht16x16_sse2().
- Replaced vp10_fht10x10_c() with vp10_fht16x16_sse2() in
  fwd_txfm_16x16().
- Added vp10_fht16x16_sse2() unit test against C version:
  vp10_fht16x16_c() (--gtest_filter=*VP10Trans16x16*).
- Unit test passed.
- Speed improvement: 2.4%, 3.2%, 3.2%, for city_cif.y4m, garden_sif.y4m,
  and mobile_cif.y4m.

Change-Id: Ib30a67ce5d5964bef143d588d0f8fa438be8901f

8 years agoMerge "Adds an ext-tile config flag to host new tiling" into nextgenv2
Debargha Mukherjee [Tue, 8 Mar 2016 17:14:44 +0000 (17:14 +0000)]
Merge "Adds an ext-tile config flag to host new tiling" into nextgenv2

8 years agoMerge "Fix several MSVC compiler warning/errors" into nextgenv2
Yaowu Xu [Tue, 8 Mar 2016 16:44:16 +0000 (16:44 +0000)]
Merge "Fix several MSVC compiler warning/errors" into nextgenv2

8 years agoAdds an ext-tile config flag to host new tiling
Debargha Mukherjee [Tue, 8 Mar 2016 15:17:29 +0000 (07:17 -0800)]
Adds an ext-tile config flag to host new tiling

Change-Id: I6c3bf5545c42030b484a8aaf434b63bd409a0487

8 years agoFix several MSVC compiler warning/errors
Yaowu Xu [Tue, 8 Mar 2016 00:23:26 +0000 (16:23 -0800)]
Fix several MSVC compiler warning/errors

Change-Id: Iccaacee9b7a66b016b5747a3902c236888ad4ba1

8 years agoMerge "Added vp10_fht8x8_sse2() unit test" into nextgenv2
Yi Luo [Tue, 8 Mar 2016 00:30:06 +0000 (00:30 +0000)]
Merge "Added vp10_fht8x8_sse2() unit test" into nextgenv2

8 years agoMerge "Calculate the distortion in pixel domain for sub8x8 rd selection" into nextgenv2
Yue Chen [Tue, 8 Mar 2016 00:13:45 +0000 (00:13 +0000)]
Merge "Calculate the distortion in pixel domain for sub8x8 rd selection" into nextgenv2

8 years agoCalculate the distortion in pixel domain for sub8x8 rd selection
Yue Chen [Fri, 4 Mar 2016 17:48:57 +0000 (09:48 -0800)]
Calculate the distortion in pixel domain for sub8x8 rd selection

Pixel domain distortion calculation is enabled for the rd loop of
inter sub8x8 and intra 4x4 cases.

Coding gain: 0.124% derflr, 0.122% derfhd

Change-Id: I43b47fe81b4f5ccc1c66bc626bd310c413a1ed87

8 years agoAdded vp10_fht8x8_sse2() unit test
Yi Luo [Mon, 7 Mar 2016 22:25:07 +0000 (14:25 -0800)]
Added vp10_fht8x8_sse2() unit test

- Inherited base class TransformTestBase to derived class VP10Trans8x8HT.
- Employed RunCoeffCheck() to test vp10_fht8x8_sse2() against C reference
  function vp10_fht8x8_c().
- fdst8_sse2() related seven hybrid transform cases are covered in this
  test.
- Test passed (4 test cases w/o EXT_TX; 16 test cases with EXT_TX).

Change-Id: Id9a9b308c707164a120d9ceb2c30e572026fb1d0

8 years agoMerge "ANS: Switch from PDFs to CDFs." into nextgenv2
Alex Converse [Mon, 7 Mar 2016 20:51:44 +0000 (20:51 +0000)]
Merge "ANS: Switch from PDFs to CDFs." into nextgenv2

8 years agoMerge "Extend convolution functions to 128x128 for ext-partition." into nextgenv2
Debargha Mukherjee [Mon, 7 Mar 2016 19:54:44 +0000 (19:54 +0000)]
Merge "Extend convolution functions to 128x128 for ext-partition." into nextgenv2

8 years agoMerge "Make sharp filter 10 tap and makes sharp2 sharper" into nextgenv2
Debargha Mukherjee [Mon, 7 Mar 2016 19:51:42 +0000 (19:51 +0000)]
Merge "Make sharp filter 10 tap and makes sharp2 sharper" into nextgenv2

8 years agoMerge "Added vp10_fht4x4_sse2() unit test" into nextgenv2
Yi Luo [Mon, 7 Mar 2016 19:18:33 +0000 (19:18 +0000)]
Merge "Added vp10_fht4x4_sse2() unit test" into nextgenv2

8 years agoMerge "Hybrid 1-D/2-D transform coding" into nextgenv2
Jingning Han [Mon, 7 Mar 2016 19:15:44 +0000 (19:15 +0000)]
Merge "Hybrid 1-D/2-D transform coding" into nextgenv2

8 years agoHybrid 1-D/2-D transform coding
Jingning Han [Sat, 5 Mar 2016 05:23:55 +0000 (21:23 -0800)]
Hybrid 1-D/2-D transform coding

This commit enables a hybrid 1-D/2-D transform coding scheme and
the accompany entropy coding system. It currently uses hybrid
1-D/2-D DCT transform coding. It provides coding performance gains:

lowres_all  0.55%
hdres_all   0.43%

Change-Id: I2b30dcafd21eb2bb3371f6e854cbab440a4dfa78

8 years agoMerge "Adding speed feature interface for ext tx search" into nextgenv2
Sarah Parker [Mon, 7 Mar 2016 16:32:55 +0000 (16:32 +0000)]
Merge "Adding speed feature interface for ext tx search" into nextgenv2

8 years agoMerge "Add 128 pixel variance and SAD functions" into nextgenv2
Debargha Mukherjee [Mon, 7 Mar 2016 16:02:05 +0000 (16:02 +0000)]
Merge "Add 128 pixel variance and SAD functions" into nextgenv2

8 years agoExtend convolution functions to 128x128 for ext-partition.
Geza Lore [Fri, 4 Mar 2016 15:55:48 +0000 (15:55 +0000)]
Extend convolution functions to 128x128 for ext-partition.

Change-Id: I7f7e26cd1d58eb38417200550c6fbf4108c9f942

8 years agoMerge "Cleanup in get_uv_tx_size" into nextgenv2
Hui Su [Sat, 5 Mar 2016 07:42:26 +0000 (07:42 +0000)]
Merge "Cleanup in get_uv_tx_size" into nextgenv2

8 years agoCleanup in get_uv_tx_size
hui su [Sat, 5 Mar 2016 00:53:19 +0000 (16:53 -0800)]
Cleanup in get_uv_tx_size

Change-Id: Ia2aa7558f9f53da7dff970b30fe0a94958159ffb

8 years agoFix a bug in obmc prediction
Yue Chen [Fri, 4 Mar 2016 23:37:45 +0000 (15:37 -0800)]
Fix a bug in obmc prediction

For left side obmc, the input of the mask function is corrected as
the column coordinate.
Also, minor fixes for a compiler warning.

Change-Id: Ia981ef443d5b0285a93d73e5c7ab83f8c3a23464

8 years agoAdded vp10_fht4x4_sse2() unit test
Yi Luo [Mon, 29 Feb 2016 17:53:42 +0000 (09:53 -0800)]
Added vp10_fht4x4_sse2() unit test

Inherited class TransformTestBase to derived class VP10Trans4x4HT.
Employed RunCoeffCheck() to test vp10_fht4x4_sse2() against
C reference vp10_fht4x4_c().
fdst4_sse2() related seven hybrid transform cases are covered
 in this test.
Wrote a header file for test base class. Some modification to
make sure the base class can be used for 8x8, 16x16, 32x32 cases.
All related tests passed.

Change-Id: I6b19a39d3ea30b657847781e78e73b829998a57a

8 years agoAdding speed feature interface for ext tx search
Sarah Parker [Tue, 1 Mar 2016 18:12:13 +0000 (10:12 -0800)]
Adding speed feature interface for ext tx search

This sets up the interface for 3 speed features that progressively
eliminate a greater number of transforms in ext tx using
pre-trained support vector machines.
Each speed feature still needs to be implemented.

Change-Id: Ia508aeadc0cffdc080fb227f357a5d1dfbca08e2

8 years agoMerge "Apply mv precision check to reference mv candidate" into nextgenv2
Jingning Han [Fri, 4 Mar 2016 16:54:27 +0000 (16:54 +0000)]
Merge "Apply mv precision check to reference mv candidate" into nextgenv2

8 years agoMerge "Properly restore transform block skip flag in RD search" into nextgenv2
Jingning Han [Thu, 3 Mar 2016 23:30:58 +0000 (23:30 +0000)]
Merge "Properly restore transform block skip flag in RD search" into nextgenv2

8 years agoProperly restore transform block skip flag in RD search
Jingning Han [Thu, 3 Mar 2016 17:20:10 +0000 (09:20 -0800)]
Properly restore transform block skip flag in RD search

This commit fixes an encoding issue related to var-tx and ref-mv
experiments that causes the codec to use random values for transform
block skip flag.

Change-Id: I8daa6d6b88ea45b5bbeb81b43dd0eeff545c8e5a

8 years agoMerge "Fixed a computation bug in fdct16_sse2()" into nextgenv2
Yi Luo [Thu, 3 Mar 2016 20:05:35 +0000 (20:05 +0000)]
Merge "Fixed a computation bug in fdct16_sse2()" into nextgenv2

8 years agoMake sharp filter 10 tap and makes sharp2 sharper
Debargha Mukherjee [Mon, 29 Feb 2016 22:58:44 +0000 (14:58 -0800)]
Make sharp filter 10 tap and makes sharp2 sharper

There is a ~0.1% gain.

Various experiments with different kinds of windowing functions to
follow.

Change-Id: I0787fddca53607ab39e53f919066839301938e68

8 years agoAdd 128 pixel variance and SAD functions
Geza Lore [Wed, 2 Mar 2016 11:12:52 +0000 (11:12 +0000)]
Add 128 pixel variance and SAD functions

Change-Id: I8fde245b32c9e586683a28aa6925da0b83850b39

8 years agoANS: Switch from PDFs to CDFs.
Alex Converse [Tue, 16 Feb 2016 21:41:01 +0000 (13:41 -0800)]
ANS: Switch from PDFs to CDFs.

Make the RANS implementation operate on cumulative distribution
functions rather than individual probability distribution functions.
CDFs have shown themselves more flexible to work with.

Reduces decoding memory usage from scaling O(num_distributions *
symbol_resolution) to O(num_distributions).

No bitstream change. This is an purely implementation change.

Change-Id: I4e18d3a0a3d37a36a61487c3d778f9d088b0b374

8 years agoApply mv precision check to reference mv candidate
Jingning Han [Thu, 3 Mar 2016 04:09:54 +0000 (20:09 -0800)]
Apply mv precision check to reference mv candidate

This allows the codec to use effective motion vector as the candidate
to produce the reference motion vector list.

Change-Id: Ib90be705fe28200c13376d6d7741800a61f13043

8 years agoFixed a computation bug in fdct16_sse2()
Yi Luo [Wed, 2 Mar 2016 21:45:52 +0000 (13:45 -0800)]
Fixed a computation bug in fdct16_sse2()

fdct16_sse2() was not bit-exact with C reference, fdct16().
The inconsistency was found by writing a unit test for
vp10_fht16x16_sse2().  Since the unit test needs a pending
change on the inherited base class.  I will commit this unit
test after making a header file for this base class.
Passed the uncommitted unit test: vp10_fht16x16_test.cc.

Change-Id: If2b617883c633a3ea90c19e1d018240c8007102b

8 years agoFix a bug in vp10_predict_intra_block
hui su [Wed, 2 Mar 2016 19:22:09 +0000 (11:22 -0800)]
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

8 years agoMerge "Adds masked variance and sad functions for wedge" into nextgenv2
Debargha Mukherjee [Wed, 2 Mar 2016 03:28:39 +0000 (03:28 +0000)]
Merge "Adds masked variance and sad functions for wedge" into nextgenv2

8 years agoAdds masked variance and sad functions for wedge
Debargha Mukherjee [Tue, 1 Mar 2016 00:08:07 +0000 (16:08 -0800)]
Adds masked variance and sad functions for wedge

Adds masked variance and sad functions needed for wedge
prediction modes to come.

Change-Id: I25b231bbc345e6a494316abb0a7d5cd5586a3a54

8 years agoMerge "Fix a unused function warning with var_tx on" into nextgenv2
Yaowu Xu [Wed, 2 Mar 2016 01:11:17 +0000 (01:11 +0000)]
Merge "Fix a unused function warning with var_tx on" into nextgenv2

8 years agoMerge "Fix a couple of minor bugs in vp10_has_right and vp10_has_bottom" into nextgenv2
Hui Su [Wed, 2 Mar 2016 00:33:38 +0000 (00:33 +0000)]
Merge "Fix a couple of minor bugs in vp10_has_right and vp10_has_bottom" into nextgenv2

8 years agoMinor fix in header files
Yunqing Wang [Tue, 1 Mar 2016 21:16:03 +0000 (13:16 -0800)]
Minor fix in header files

Move functions to be included in extern "C".

Change-Id: If57fa5eb7955763cf99e6839dde4d7221fad75ea

8 years agoMerge "Fix an overflow issue for HBD" into nextgenv2
Yaowu Xu [Tue, 1 Mar 2016 19:22:47 +0000 (19:22 +0000)]
Merge "Fix an overflow issue for HBD" into nextgenv2

8 years agoFix a unused function warning with var_tx on
Yaowu Xu [Tue, 1 Mar 2016 17:47:04 +0000 (09:47 -0800)]
Fix a unused function warning with var_tx on

Change-Id: I1e65d7e1586d8c7c65bb150b1a928cf3adf97366

8 years agoFix a couple of minor bugs in vp10_has_right and vp10_has_bottom
hui su [Mon, 29 Feb 2016 17:27:33 +0000 (09:27 -0800)]
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

8 years agoFix an overflow issue for HBD
Yaowu Xu [Tue, 1 Mar 2016 17:17:17 +0000 (09:17 -0800)]
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

8 years agoUpdate obmc counts in multithread mode
Angie Chiang [Tue, 1 Mar 2016 01:03:08 +0000 (17:03 -0800)]
Update obmc counts in multithread mode

Change-Id: I0743e00dad9d36a87870c480922f5ae904bd5c9d

8 years agoDo sub-pixel motion search in up-sampled reference frames
Yunqing Wang [Tue, 16 Feb 2016 22:33:18 +0000 (14:33 -0800)]
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

8 years agoA build fix and some other cosmetic changes
Debargha Mukherjee [Mon, 29 Feb 2016 18:08:23 +0000 (10:08 -0800)]
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

8 years agoMerge "Some refactoring and cleanups of interp filter" into nextgenv2
Debargha Mukherjee [Mon, 29 Feb 2016 15:55:48 +0000 (15:55 +0000)]
Merge "Some refactoring and cleanups of interp filter" into nextgenv2

8 years agoMerge "Fix compiler warnings" into nextgenv2
Hui Su [Sat, 27 Feb 2016 05:04:01 +0000 (05:04 +0000)]
Merge "Fix compiler warnings" into nextgenv2

8 years agoMerge "Enable improved temporal filter in ext-interp experiment" into nextgenv2
Jingning Han [Sat, 27 Feb 2016 01:22:15 +0000 (01:22 +0000)]
Merge "Enable improved temporal filter in ext-interp experiment" into nextgenv2

8 years agoMerge "Unify frame border extension operation" into nextgenv2
Jingning Han [Sat, 27 Feb 2016 01:22:03 +0000 (01:22 +0000)]
Merge "Unify frame border extension operation" into nextgenv2

8 years agoSome refactoring and cleanups of interp filter
Debargha Mukherjee [Fri, 26 Feb 2016 08:18:03 +0000 (00:18 -0800)]
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

8 years agoEnable improved temporal filter in ext-interp experiment
Jingning Han [Fri, 26 Feb 2016 20:36:03 +0000 (12:36 -0800)]
Enable improved temporal filter in ext-interp experiment

It improves the coding performance by 0.3%.

Change-Id: I9703abd705ceacdf9e7424428e5120253cadcc18

8 years agoUnify frame border extension operation
Jingning Han [Fri, 26 Feb 2016 17:23:43 +0000 (09:23 -0800)]
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

8 years agoFix compiler warnings
hui su [Fri, 26 Feb 2016 21:26:54 +0000 (13:26 -0800)]
Fix compiler warnings

Change-Id: Id7240260cec471a3f8d0986b9c8df06efda925f9

8 years agoPort interintra experiment from nextgen.
Geza Lore [Mon, 22 Feb 2016 10:55:32 +0000 (10:55 +0000)]
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

8 years agoMerge "Hooks to use 32x32 masked transforms for ext-tx" into nextgenv2
Debargha Mukherjee [Fri, 26 Feb 2016 20:54:37 +0000 (20:54 +0000)]
Merge "Hooks to use 32x32 masked transforms for ext-tx" into nextgenv2

8 years agoMerge "Implemented DST 8x8 with SSE2 intrinsics." into nextgenv2
Yi Luo [Fri, 26 Feb 2016 19:10:00 +0000 (19:10 +0000)]
Merge "Implemented DST 8x8 with SSE2 intrinsics." into nextgenv2

8 years agoMerge "Use sharp filter for alter reference frame generation" into nextgenv2
Jingning Han [Fri, 26 Feb 2016 16:24:59 +0000 (16:24 +0000)]
Merge "Use sharp filter for alter reference frame generation" into nextgenv2

8 years agoMerge "Enable context based motion vector entropy coding" into nextgenv2
Jingning Han [Fri, 26 Feb 2016 16:24:49 +0000 (16:24 +0000)]
Merge "Enable context based motion vector entropy coding" into nextgenv2

8 years agoMerge "Extend vpxssim to handle more HBD combinations" into nextgenv2
Yaowu Xu [Fri, 26 Feb 2016 15:57:40 +0000 (15:57 +0000)]
Merge "Extend vpxssim to handle more HBD combinations" into nextgenv2

8 years agoUse sharp filter for alter reference frame generation
Jingning Han [Wed, 24 Feb 2016 23:33:10 +0000 (15:33 -0800)]
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

8 years agoMerge "Add test for screen content coding tools in end to end test" into nextgenv2
Hui Su [Thu, 25 Feb 2016 03:47:03 +0000 (03:47 +0000)]
Merge "Add test for screen content coding tools in end to end test" into nextgenv2

8 years agoconvolve8 sse2 test
Angie Chiang [Mon, 22 Feb 2016 22:11:05 +0000 (14:11 -0800)]
convolve8 sse2 test

This experiment shows that when frame size is 64x64
vpx_highbd_convolve8_sse2 and vpx_convolve8_sse2's speed are similar.
However when frame size becomes 1024x1024
vpx_highbd_convolve8_sse2 is around 50% slower than vpx_convolve8_sse2
we think the bottleneck is from memory IO

VP10ConvolveTest.vpx_highbd_convolve8_sse2_speed_8_64
VP10ConvolveTest.vpx_highbd_convolve8_sse2_speed_8_64 (17 ms)
VP10ConvolveTest.vpx_highbd_convolve8_sse2_speed_16_64
VP10ConvolveTest.vpx_highbd_convolve8_sse2_speed_16_64 (42 ms)
VP10ConvolveTest.vpx_highbd_convolve8_sse2_speed_32_64
VP10ConvolveTest.vpx_highbd_convolve8_sse2_speed_32_64 (139 ms)
VP10ConvolveTest.vpx_highbd_convolve8_sse2_speed_64_64
VP10ConvolveTest.vpx_highbd_convolve8_sse2_speed_64_64 (499 ms)

VP10ConvolveTest.vpx_convolve8_sse2_speed_l_8_64
VP10ConvolveTest.vpx_convolve8_sse2_speed_l_8_64 (16 ms)
VP10ConvolveTest.vpx_convolve8_sse2_speed_l_16_64
VP10ConvolveTest.vpx_convolve8_sse2_speed_l_16_64 (40 ms)
VP10ConvolveTest.vpx_convolve8_sse2_speed_l_32_64
VP10ConvolveTest.vpx_convolve8_sse2_speed_l_32_64 (130 ms)
VP10ConvolveTest.vpx_convolve8_sse2_speed_l_64_64
VP10ConvolveTest.vpx_convolve8_sse2_speed_l_64_64 (485 ms)

VP10ConvolveTest.vpx_highbd_convolve8_sse2_speed_8_1024
VP10ConvolveTest.vpx_highbd_convolve8_sse2_speed_8_1024 (32 ms)
VP10ConvolveTest.vpx_highbd_convolve8_sse2_speed_16_1024
VP10ConvolveTest.vpx_highbd_convolve8_sse2_speed_16_1024 (61 ms)
VP10ConvolveTest.vpx_highbd_convolve8_sse2_speed_32_1024
VP10ConvolveTest.vpx_highbd_convolve8_sse2_speed_32_1024 (196 ms)
VP10ConvolveTest.vpx_highbd_convolve8_sse2_speed_64_1024

VP10ConvolveTest.vpx_highbd_convolve8_sse2_speed_64_1024 (694 ms)
VP10ConvolveTest.vpx_convolve8_sse2_speed_l_8_1024
VP10ConvolveTest.vpx_convolve8_sse2_speed_l_8_1024 (21 ms)
VP10ConvolveTest.vpx_convolve8_sse2_speed_l_16_1024
VP10ConvolveTest.vpx_convolve8_sse2_speed_l_16_1024 (44 ms)
VP10ConvolveTest.vpx_convolve8_sse2_speed_l_32_1024
VP10ConvolveTest.vpx_convolve8_sse2_speed_l_32_1024 (138 ms)
VP10ConvolveTest.vpx_convolve8_sse2_speed_l_64_1024
VP10ConvolveTest.vpx_convolve8_sse2_speed_l_64_1024 (491 ms)

Change-Id: I3131a031e0380e8eae748cfcccc6cbb961d05943

8 years agoAdd test for screen content coding tools in end to end test
hui su [Wed, 24 Feb 2016 20:33:19 +0000 (12:33 -0800)]
Add test for screen content coding tools in end to end test

Test screen content coding tools (currently only palette) at
speed 1 and two-pass.

Change-Id: I3c467aee1cd9c366c65a3abfdccfafa0416b59b7

8 years agoImplemented DST 8x8 with SSE2 intrinsics.
Yi Luo [Wed, 24 Feb 2016 00:59:38 +0000 (16:59 -0800)]
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

8 years agoHooks to use 32x32 masked transforms for ext-tx
Debargha Mukherjee [Sat, 13 Feb 2016 00:44:33 +0000 (16:44 -0800)]
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

8 years agoAdds an utility macro ROUNDZ_POWER_OF_TWO
Debargha Mukherjee [Wed, 24 Feb 2016 19:25:20 +0000 (11:25 -0800)]
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

8 years agoMerge "Fix some compiler warnings." into nextgenv2
Hui Su [Wed, 24 Feb 2016 20:28:37 +0000 (20:28 +0000)]
Merge "Fix some compiler warnings." into nextgenv2

8 years agoMerge "Some fixes in reconintra" into nextgenv2
Debargha Mukherjee [Wed, 24 Feb 2016 20:25:25 +0000 (20:25 +0000)]
Merge "Some fixes in reconintra" into nextgenv2

8 years agoFix some compiler warnings.
hui su [Wed, 24 Feb 2016 19:17:33 +0000 (11:17 -0800)]
Fix some compiler warnings.

"taking the absolute value of unsigned type 'unsigned int' has no effect"

Change-Id: Iea1f67c2a3171a98ca89d5dc7192a5508d086c16

8 years agoMerge remote-tracking branch 'webm/master' into nextgenv2
Yaowu Xu [Wed, 24 Feb 2016 18:53:17 +0000 (10:53 -0800)]
Merge remote-tracking branch 'webm/master' into nextgenv2

8 years agoSome fixes in reconintra
Debargha Mukherjee [Wed, 24 Feb 2016 18:27:56 +0000 (10:27 -0800)]
Some fixes in reconintra

Change-Id: I0b0fa7c9853ce12d39ee21829686b308154b2c61

8 years agoMerge "Rename above and left offset variables." into nextgenv2
Debargha Mukherjee [Wed, 24 Feb 2016 18:48:21 +0000 (18:48 +0000)]
Merge "Rename above and left offset variables." into nextgenv2

8 years agoMerge "Experiment to use image domain dist in baseline." into nextgenv2
Debargha Mukherjee [Wed, 24 Feb 2016 18:30:50 +0000 (18:30 +0000)]
Merge "Experiment to use image domain dist in baseline." into nextgenv2

8 years agoRename above and left offset variables.
Geza Lore [Mon, 22 Feb 2016 10:58:52 +0000 (10:58 +0000)]
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

8 years agoEnable context based motion vector entropy coding
Jingning Han [Tue, 23 Feb 2016 17:25:24 +0000 (09:25 -0800)]
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