]> granicus.if.org Git - libvpx/log
libvpx
9 years agoCheck if sub8x8 rd stats are valid before reusing them.
Geza Lore [Fri, 13 May 2016 13:39:44 +0000 (14:39 +0100)]
Check if sub8x8 rd stats are valid before reusing them.

Change-Id: I5d49f15a07de58c226d4003b4691e001abf1f3f8

9 years agoMerge "Add 1D version of vpx_sum_squares_i16" into nextgenv2
Debargha Mukherjee [Fri, 3 Jun 2016 13:27:50 +0000 (13:27 +0000)]
Merge "Add 1D version of vpx_sum_squares_i16" into nextgenv2

9 years agoMerge "Move template specializations into .cc from .h" into nextgenv2
Debargha Mukherjee [Fri, 3 Jun 2016 13:27:43 +0000 (13:27 +0000)]
Merge "Move template specializations into .cc from .h" into nextgenv2

9 years agoMerge "Factor out x86 SIMD intrinsic synonyms" into nextgenv2
Debargha Mukherjee [Fri, 3 Jun 2016 13:27:29 +0000 (13:27 +0000)]
Merge "Factor out x86 SIMD intrinsic synonyms" into nextgenv2

9 years agoMerge "Factor out model_rd_from_sse" into nextgenv2
Debargha Mukherjee [Fri, 3 Jun 2016 13:27:22 +0000 (13:27 +0000)]
Merge "Factor out model_rd_from_sse" into nextgenv2

9 years agoMerge "Pre-compute and use contiguous wedge masks." into nextgenv2
Debargha Mukherjee [Fri, 3 Jun 2016 13:27:02 +0000 (13:27 +0000)]
Merge "Pre-compute and use contiguous wedge masks." into nextgenv2

9 years agoAdd 1D version of vpx_sum_squares_i16
Geza Lore [Wed, 1 Jun 2016 12:57:47 +0000 (13:57 +0100)]
Add 1D version of vpx_sum_squares_i16

Change-Id: I0d7bda2fe6f995a9e88a9f66540b4979b3f7fab1

9 years agoMove template specializations into .cc from .h
Geza Lore [Wed, 1 Jun 2016 12:54:54 +0000 (13:54 +0100)]
Move template specializations into .cc from .h

Change-Id: I6d8775c1fa228fde25016a401e3c22a8e3da42f9

9 years agoFactor out x86 SIMD intrinsic synonyms
Geza Lore [Wed, 1 Jun 2016 12:53:16 +0000 (13:53 +0100)]
Factor out x86 SIMD intrinsic synonyms

Change-Id: Idc4ac3ccd2ba19087cdb74a3e4a6774ac50386aa

9 years agoFactor out model_rd_from_sse
Geza Lore [Tue, 31 May 2016 15:20:57 +0000 (16:20 +0100)]
Factor out model_rd_from_sse

Change-Id: Ia60ff0ecc8d083870fadbfe07d494d1e2c080489

9 years agoPre-compute and use contiguous wedge masks.
Geza Lore [Mon, 30 May 2016 00:35:35 +0000 (01:35 +0100)]
Pre-compute and use contiguous wedge masks.

This is purely a refactoring patch and has no functional effect.

Uses of these masks can be arranged such that all input blocks are
contiguous in memory (stride == block width). In this case 1D versions
of  operations can be used. 1D vector operations have superior performance
over 2D block equivalents as they are more processor cache friendly and
they can do away with a second loop overhead.

Change-Id: I2b76c9888aea2c857cc497e8a4b2841fd3dad54e

9 years agoMerge "Use standard rounding in combine_interintra." into nextgenv2
Debargha Mukherjee [Thu, 2 Jun 2016 19:29:16 +0000 (19:29 +0000)]
Merge "Use standard rounding in combine_interintra." into nextgenv2

9 years agoMerge "Warped motion functions added" into nextgenv2
Debargha Mukherjee [Thu, 2 Jun 2016 19:28:02 +0000 (19:28 +0000)]
Merge "Warped motion functions added" into nextgenv2

9 years agoUse standard rounding in combine_interintra.
Geza Lore [Thu, 2 Jun 2016 15:26:05 +0000 (16:26 +0100)]
Use standard rounding in combine_interintra.

Use the same rounding method that is used throughout the codebase,
where the halfway value is rounded up rather than down.

Change-Id: I04e92850bc69a7d7a07b06e3d2ce97f6f2ada321

9 years agoMerge "segmentation: Don't use uninitialized probability data." into nextgenv2
Alex Converse [Wed, 1 Jun 2016 17:50:37 +0000 (17:50 +0000)]
Merge "segmentation: Don't use uninitialized probability data." into nextgenv2

9 years agoMerge "Replace some vpxbool calls with entropy coder agnostic calls." into nextgenv2
Alex Converse [Tue, 31 May 2016 23:57:59 +0000 (23:57 +0000)]
Merge "Replace some vpxbool calls with entropy coder agnostic calls." into nextgenv2

9 years agosegmentation: Don't use uninitialized probability data.
Alex Converse [Tue, 24 May 2016 17:58:00 +0000 (10:58 -0700)]
segmentation: Don't use uninitialized probability data.

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

Change-Id: I17b76fcf0d8c191850350d5aa50dcc007b8b0cdc

9 years agoMerge "ext-intra: speed up keyframe encoding" into nextgenv2
Hui Su [Tue, 31 May 2016 23:21:03 +0000 (23:21 +0000)]
Merge "ext-intra: speed up keyframe encoding" into nextgenv2

9 years agoMerge "Add a speed feature for inter tx type search" into nextgenv2
Hui Su [Tue, 31 May 2016 23:20:57 +0000 (23:20 +0000)]
Merge "Add a speed feature for inter tx type search" into nextgenv2

9 years agoMerge "Add a speed feature for intra tx type search" into nextgenv2
Hui Su [Tue, 31 May 2016 23:20:51 +0000 (23:20 +0000)]
Merge "Add a speed feature for intra tx type search" into nextgenv2

9 years agoMerge "vp10_inv_txfm2d_test: fix memory leak" into nextgenv2
James Zern [Tue, 31 May 2016 23:19:47 +0000 (23:19 +0000)]
Merge "vp10_inv_txfm2d_test: fix memory leak" into nextgenv2

9 years agoReplace some vpxbool calls with entropy coder agnostic calls.
Alex Converse [Tue, 31 May 2016 22:42:19 +0000 (15:42 -0700)]
Replace some vpxbool calls with entropy coder agnostic calls.

Change-Id: Ifbcd0714fcf994c43b69255185456c7a255df66c

9 years agoWarped motion functions added
Debargha Mukherjee [Fri, 20 May 2016 23:51:36 +0000 (16:51 -0700)]
Warped motion functions added

Change-Id: I5064ef1421e17c3ecafe70e7ff1fc7db0c16cc8f

9 years agoext-intra: speed up keyframe encoding
hui su [Sat, 28 May 2016 21:26:28 +0000 (14:26 -0700)]
ext-intra: speed up keyframe encoding

130% speed increase for keyframe encoding, with 0.4%
compression loss.

When kf-max-dist=150, 1.5% speed increase with 0.03%
compression loss.

Change-Id: I4cf7314ab95b9eb6dd17f314aca8955522c82676

9 years agoAdd a speed feature for inter tx type search
hui su [Sat, 28 May 2016 17:51:05 +0000 (10:51 -0700)]
Add a speed feature for inter tx type search

Seperate prediction mode and tx type search for inter
modes. Enabled for speed >=1.

baseline:
speed increase     40%
compression drop   0.30%/0.29% on lowres/midres

ext-tx:
speed increase    160%
compression drop  1.08%/0.95% on lowres/midres

Change-Id: Ieb34b1ee80df6980d16e26a5783e08cc0deae55b

9 years agoAdd a speed feature for intra tx type search
hui su [Sat, 21 May 2016 00:40:00 +0000 (17:40 -0700)]
Add a speed feature for intra tx type search

Add a speed feature to seperate prediction mode and tx type search
for intra modes: search for best intra prediction mode with fixed
default tx type first, then choose the best tx type for the
selected mode.

Coding performance drop:
baseline
  lowres 0.10% midres 0.08% hdres 0.14%
with ext-tx
  lowres 0.14% midres 0.25% hdres 0.20%

Speed improvement is 20% for baseline and 17% for ext-tx.

It is turned on for speed >= 1.

Change-Id: Ia5e8d39e8a4e2e42c521bfde938f8b6a98ab24f9

9 years agoMake the bi-predictive frame group interval adjustable
Zoe Liu [Wed, 25 May 2016 18:57:15 +0000 (11:57 -0700)]
Make the bi-predictive frame group interval adjustable

This is for the bidir-pred experiment. Previously the length of the
bi-predictive frame group interval is fixed at 2, i.e. one
bi-predictive frame may be inserted every other frame. This patch
makes the length adjustable, i.e. any positive number may be
specified, but the use of the backward ref will be turned off if the
bi-predictive frame group interval is larger than the golden frame
group.

Further, an additional rate factor level has been added:
INTER_LOW
, which applies to LAST_BIPRED_UPDATE frames that are not used as
references.

Change-Id: I5514d34a64dd486bbb5756c2d0612946f598a789

9 years agoMerge "ext-intra: refactor mode info. writing and reading" into nextgenv2
Hui Su [Sat, 28 May 2016 04:34:58 +0000 (04:34 +0000)]
Merge "ext-intra: refactor mode info. writing and reading" into nextgenv2

9 years agovp10_inv_txfm2d_test: fix memory leak
James Zern [Fri, 27 May 2016 03:04:59 +0000 (20:04 -0700)]
vp10_inv_txfm2d_test: fix memory leak

input_, ref_input_ and output_ were being allocated with new[] followed
by vpx_memalign, remove the former

Change-Id: Ia16d0f9b9317042a24445095ad3c284f4e7bb481

9 years agoMerge "Add a quick path in build_intra_predictors" into nextgenv2
Hui Su [Thu, 26 May 2016 22:12:53 +0000 (22:12 +0000)]
Merge "Add a quick path in build_intra_predictors" into nextgenv2

9 years agoext-intra: refactor mode info. writing and reading
hui su [Thu, 26 May 2016 18:42:44 +0000 (11:42 -0700)]
ext-intra: refactor mode info. writing and reading

No performance changes.

Change-Id: I001068330ea217a993aee9b79d7ffead0d23100e

9 years agoMerge "Skip unnecessary calculations in ext-intra" into nextgenv2
Hui Su [Thu, 26 May 2016 18:03:02 +0000 (18:03 +0000)]
Merge "Skip unnecessary calculations in ext-intra" into nextgenv2

9 years agoAdd a quick path in build_intra_predictors
hui su [Wed, 25 May 2016 21:51:02 +0000 (14:51 -0700)]
Add a quick path in build_intra_predictors

For the cases where no reference data is available.

Change-Id: Ibf1ac9b7073acc2c7fc44da893f3d608dc74bc1e

9 years agoMerge "Integrate HBD inverse HT flip types sse4.1 optimization" into nextgenv2
Yi Luo [Wed, 25 May 2016 21:35:14 +0000 (21:35 +0000)]
Merge "Integrate HBD inverse HT flip types sse4.1 optimization" into nextgenv2

9 years agoIntegrate HBD inverse HT flip types sse4.1 optimization
Yi Luo [Thu, 19 May 2016 21:13:07 +0000 (14:13 -0700)]
Integrate HBD inverse HT flip types sse4.1 optimization

- tx_size: 4x4, 8x8, 16x16.
- tx_type: FLIPADST_DCT, DCT_FLIPADST, FLIPADST_FLIPADST,
  ADST_FLIPADST, FLIPADST_ADST.
- Encoder speed improvement:
  park_joy_1080p_12: ~11%, crowd_run_1080p_12: ~7%.
- Add unit test cases for bit-exact against C.

Change-Id: Ia69d069031fa76c4625e845bfbfe7e6f6ed6e841

9 years agoMerge "add vp10 ActiveMap/ActiveMapRefreshTest" into nextgenv2
James Zern [Wed, 25 May 2016 19:05:02 +0000 (19:05 +0000)]
Merge "add vp10 ActiveMap/ActiveMapRefreshTest" into nextgenv2

9 years agoMerge "HBD inverse HT 8x8 and 16x16 sse4.1 optimization" into nextgenv2
Yi Luo [Tue, 24 May 2016 22:06:07 +0000 (22:06 +0000)]
Merge "HBD inverse HT 8x8 and 16x16 sse4.1 optimization" into nextgenv2

9 years agoAdded an experiment "bidir_pred" for backward prediction
Zoe Liu [Thu, 4 Feb 2016 17:47:46 +0000 (09:47 -0800)]
Added an experiment "bidir_pred" for backward prediction

Major parts have been implemented as follows:
(1) Added BRF_UPDATE, LASTNRF_UPDATE, and NRF_UPDATE in firstpass.c;
(2) Added the handling for the scenario of
"cpi->common.show_existing_frame == 1" at the encoder;
(3) Added a new reference frame of BWDREF_FRAME;
(4) Have bwd-ref work with upsampled references.

Note that when the experiment of "ext_refs" turned on, this experiment
will be turned off automatically currently.

RD performance in Overall PSNR has been improved, compared against the
VP10 baseline:

lowres: Avg -3.312; BDRate -3.154
derflr: Avg -1.927; BDRate -1.176
midres: Avg -2.149; BDRate -2.001
hdres : Avg -0.567; BDRate -0.588

Change-Id: I4c06ff51cc20194bffbd4d2346e57ba3dcf6b62c

9 years agoHBD inverse HT 8x8 and 16x16 sse4.1 optimization
Yi Luo [Thu, 19 May 2016 21:13:07 +0000 (14:13 -0700)]
HBD inverse HT 8x8 and 16x16 sse4.1 optimization

- Covers tx_type: DCT_DCT, DCT_ADST, ADST_DCT, ADST_ADST.
- Encoding speed improves ~27% on crowd_run_1080p_12.
- Merge 4x4, 8x8, 16x16 unit tests in one test file.

Change-Id: I058ef5254d068a9523a826480c78ebbdd231824c

9 years agoMerge "Remove redundant memcpy from wedge predictor." into nextgenv2
Debargha Mukherjee [Tue, 24 May 2016 17:33:54 +0000 (17:33 +0000)]
Merge "Remove redundant memcpy from wedge predictor." into nextgenv2

9 years agoMerge "Pick up bit-depth from the right place" into nextgenv2
Debargha Mukherjee [Tue, 24 May 2016 17:33:22 +0000 (17:33 +0000)]
Merge "Pick up bit-depth from the right place" into nextgenv2

9 years agoRemove redundant memcpy from wedge predictor.
Geza Lore [Tue, 24 May 2016 10:26:18 +0000 (11:26 +0100)]
Remove redundant memcpy from wedge predictor.

Removing redundant calls to memcpy from
build_wedge_inter_predictor_from_buf yields a net 4% encoder speedup
with ext-inter only. The output is identical.

Change-Id: If97d4e323a5c8aca90c84a25a72085e006b05446

9 years agoPick up bit-depth from the right place
Geza Lore [Tue, 24 May 2016 10:08:23 +0000 (11:08 +0100)]
Pick up bit-depth from the right place

Change-Id: Icbdb036d7927b77b84bd78e8348ec8b5be88df08

9 years agoSkip unnecessary calculations in ext-intra
hui su [Mon, 23 May 2016 19:21:50 +0000 (12:21 -0700)]
Skip unnecessary calculations in ext-intra

Around 5% speedup.

Change-Id: I1c552e4e58fbf5637c0b5a97dd2cc4f83a1ca201

9 years agoFix --test-decode=warn to test mismatch
Zoe Liu [Thu, 19 May 2016 23:46:10 +0000 (16:46 -0700)]
Fix --test-decode=warn to test mismatch

This patch always compares the most recent show frames between
the encoder and the decoder to test the mismatch.

Change-Id: I68a91ad0996a598231450debfd616e24992419b5

9 years agoMerge "Add optimized vpx_blend_mask6" into nextgenv2
Debargha Mukherjee [Mon, 23 May 2016 23:43:52 +0000 (23:43 +0000)]
Merge "Add optimized vpx_blend_mask6" into nextgenv2

9 years agoAdd optimized vpx_blend_mask6
Geza Lore [Fri, 20 May 2016 15:33:12 +0000 (16:33 +0100)]
Add optimized vpx_blend_mask6

This is to replace vp10/common/reconinter.c:build_masked_compound.
Functionality is equivalent, but the interface is slightly more
generic.

Total encoder speedup with ext-inter: ~7.5%

Change-Id: Iee18b83ae324ffc9c7f7dc16d4b2b06adb4d4305

9 years agoMerge "Wedge refactoring to handle signs better" into nextgenv2
Debargha Mukherjee [Fri, 20 May 2016 23:19:39 +0000 (23:19 +0000)]
Merge "Wedge refactoring to handle signs better" into nextgenv2

9 years agoMerge "Clear redundant condition check from vp10_ext_tile_test.cc" into nextgenv2
Jingning Han [Fri, 20 May 2016 22:10:41 +0000 (22:10 +0000)]
Merge "Clear redundant condition check from vp10_ext_tile_test.cc" into nextgenv2

9 years agoWedge refactoring to handle signs better
Debargha Mukherjee [Tue, 17 May 2016 14:10:39 +0000 (07:10 -0700)]
Wedge refactoring to handle signs better

Mostly refactoring. Handles signs better though results are
more or less neutral.

Change-Id: If499537c8f8da4f34d104ebfda072eb4c85fb12f

9 years agoMerge "Properly handle the filter extension in highbd setting" into nextgenv2
Yaowu Xu [Fri, 20 May 2016 20:00:51 +0000 (20:00 +0000)]
Merge "Properly handle the filter extension in highbd setting" into nextgenv2

9 years agoMerge "Fix build when vp8 is disabled" into nextgenv2
Yaowu Xu [Fri, 20 May 2016 19:59:47 +0000 (19:59 +0000)]
Merge "Fix build when vp8 is disabled" into nextgenv2

9 years agoMerge "Port change to highbitdepth code path" into nextgenv2
Yaowu Xu [Fri, 20 May 2016 19:59:41 +0000 (19:59 +0000)]
Merge "Port change to highbitdepth code path" into nextgenv2

9 years agoFix build when vp8 is disabled
Yaowu Xu [Fri, 20 May 2016 18:33:07 +0000 (11:33 -0700)]
Fix build when vp8 is disabled

Change-Id: Ie1765f086b10d0f7c4d72961d238dfe0d6056dc2

9 years agoPort change to highbitdepth code path
Yaowu Xu [Fri, 20 May 2016 18:30:37 +0000 (11:30 -0700)]
Port change to highbitdepth code path

This fixes the crash in encoder when configure with both  highbitdepth
and dual-filter.

Change-Id: Ie06cc528094f4b31b7fc0ba75e7b15cae031d707

9 years agoMerge "Use standard rounding in intra filters." into nextgenv2
Hui Su [Fri, 20 May 2016 16:36:04 +0000 (16:36 +0000)]
Merge "Use standard rounding in intra filters." into nextgenv2

9 years agoMerge "Rework sub8x8 chroma component inter predictor" into nextgenv2
Jingning Han [Fri, 20 May 2016 15:50:32 +0000 (15:50 +0000)]
Merge "Rework sub8x8 chroma component inter predictor" into nextgenv2

9 years agoMerge "Remove unused private variables from vp10_inv_txfm2d_test.cc" into nextgenv2
Jingning Han [Fri, 20 May 2016 01:23:25 +0000 (01:23 +0000)]
Merge "Remove unused private variables from vp10_inv_txfm2d_test.cc" into nextgenv2

9 years agoFix a build issue
Yaowu Xu [Thu, 19 May 2016 21:24:41 +0000 (14:24 -0700)]
Fix a build issue

When both obmc and dual_filter is enabled.

Change-Id: I56b127573a6cca31469bb357cf7a6a9c3df64071

9 years agoMerge "Fix obmc + ext-interp interference" into nextgenv2
Yue Chen [Thu, 19 May 2016 18:08:52 +0000 (18:08 +0000)]
Merge "Fix obmc + ext-interp interference" into nextgenv2

9 years agoProperly handle the filter extension in highbd setting
Jingning Han [Thu, 19 May 2016 16:57:23 +0000 (09:57 -0700)]
Properly handle the filter extension in highbd setting

This commit makes the filter extension in highbd aware of the
dual filter and ext-interp experiments to prevent enc/dec mismatch
when both experiments are turned on.

Change-Id: I11ac1f041bd5f73d61e839d6386d9c5d008da3f7

9 years agoClear redundant condition check from vp10_ext_tile_test.cc
Jingning Han [Thu, 19 May 2016 16:25:38 +0000 (09:25 -0700)]
Clear redundant condition check from vp10_ext_tile_test.cc

Change-Id: I74e9df9e314e49b931c23a81d14f5a9e143b0b7d

9 years agoRemove unused private variables from vp10_inv_txfm2d_test.cc
Jingning Han [Thu, 19 May 2016 16:20:28 +0000 (09:20 -0700)]
Remove unused private variables from vp10_inv_txfm2d_test.cc

Change-Id: Ie933d754aca649bdf17cd679b9a31239bf413b63

9 years agoMerge "Fix to conform Google's coding convention" into nextgenv2
Yi Luo [Thu, 19 May 2016 16:07:01 +0000 (16:07 +0000)]
Merge "Fix to conform Google's coding convention" into nextgenv2

9 years agoRework sub8x8 chroma component inter predictor
Jingning Han [Tue, 17 May 2016 01:27:20 +0000 (18:27 -0700)]
Rework sub8x8 chroma component inter predictor

This commit makes the sub8x8 chroma component inter predictor
operate at 2x2 block level. This allows one to use the actual motion
vector associated with each individal pixel block. It improves the
compression performance

lowres  0.40%
midres  0.25%
hdres   0.15%

Change-Id: Ia40e07cc7fde463dbf660018850e024932136c4f

9 years agoMerge "Account sub8x8 block reference filter type for prob context" into nextgenv2
Jingning Han [Thu, 19 May 2016 15:04:31 +0000 (15:04 +0000)]
Merge "Account sub8x8 block reference filter type for prob context" into nextgenv2

9 years agoMerge "Re-structure probability model context for prediction filter type" into nextgenv2
Jingning Han [Thu, 19 May 2016 15:04:17 +0000 (15:04 +0000)]
Merge "Re-structure probability model context for prediction filter type" into nextgenv2

9 years agoUse standard rounding in intra filters.
Geza Lore [Thu, 19 May 2016 12:16:42 +0000 (13:16 +0100)]
Use standard rounding in intra filters.

Use the same rounding method that is used throughout the codebase,
where the halfway value is rounded up rather than down.

Change-Id: Ie969ed7eb9fcc88a93a90c7e274fd82f336c7e4d

9 years agoFix obmc + ext-interp interference
Geza Lore [Wed, 18 May 2016 14:29:30 +0000 (15:29 +0100)]
Fix obmc + ext-interp interference

With ext-interp, a switchable interpolation filter is coded iff the
motion vector uses fractional pixel movement (ie, true subpixel
movement). With ext-interp and obmc enabled at the same time, the RD
search proceeds as:
1. Do motion search
2. Do interpolation filter search iff subpixel motion, otherwise use
   EIGHTTAP_REGULAR
3. Evaluate obmc=0
4. Evaluete obmc=1 - This involves another motion search

If the motion search in step 4 yields an integer motion vector, while
the search in step 1 did not, then an interp_filter value other than
EIGHTTAP_REGULAR is invalid, and will cause an assertion failure
at output time, or a mismatch if not using --enable-debug.

The fix sets the interp_filter to EIGHTTAP_REGULAR if obmc=1 is picked
with an integer motion vector.

Change-Id: I4685d1ad537f41d833dc9eb64845956b67886cca

9 years agoFix to conform Google's coding convention
Yi Luo [Tue, 17 May 2016 16:54:56 +0000 (09:54 -0700)]
Fix to conform Google's coding convention

- Confirm input coeff buffer is 16-byte aligned.
- sizeof() prefer variable name instead of type.
- Fix function name (Capital first letter then Pascal case).
- Long base class name uses a newline (with colon and 4 space indent).
- Remove a unnecessary reference function variable.
- Method declaration precedes variable declaration in class definition.

Change-Id: I317f7e679926b5219f58c5f7d14512e94985e7fe

9 years agoRefactor on getting upsampled reference frame
Zoe Liu [Wed, 18 May 2016 22:47:04 +0000 (15:47 -0700)]
Refactor on getting upsampled reference frame

Reused a function that has been used in getting the normal
reference frames.

Change-Id: Ic4f7dac5c396d689a72699ab79fd580747f8bd65

9 years agoAccount sub8x8 block reference filter type for prob context
Jingning Han [Sat, 7 May 2016 00:12:52 +0000 (17:12 -0700)]
Account sub8x8 block reference filter type for prob context

If a reference block is coded with sub8x8 block size, and if it
has sub-pixel level motion vectors, its prediction filter type
should be used as context information.

The coding performance gains of dual filter type coding scheme are
lowres  0.57%
hdres   0.88%

Change-Id: I68b98f2518d02f11c29d0256aeb45b2580fe5cac

9 years agoMerge "Turn on flip in inverse txfm2d" into nextgenv2
Angie Chiang [Wed, 18 May 2016 18:37:41 +0000 (18:37 +0000)]
Merge "Turn on flip in inverse txfm2d" into nextgenv2

9 years agoTurn on flip in inverse txfm2d
Angie Chiang [Fri, 13 May 2016 22:11:18 +0000 (15:11 -0700)]
Turn on flip in inverse txfm2d

Fix build failed
Reduce txfm test time

Change-Id: Ieaf6b27f3a272d06286f817f01230413fa8adcf6

9 years agoMerge "vpx_dsp/*.[hc]: add missing vpx_dsp_rtcd.h include" into nextgenv2
James Zern [Wed, 18 May 2016 18:25:00 +0000 (18:25 +0000)]
Merge "vpx_dsp/*.[hc]: add missing vpx_dsp_rtcd.h include" into nextgenv2

9 years agoRe-structure probability model context for prediction filter type
Jingning Han [Wed, 4 May 2016 22:44:00 +0000 (15:44 -0700)]
Re-structure probability model context for prediction filter type

This commit reworks the probability model contexts used in the
prediction filter type entropy coding.

Change-Id: I7abc68cb469248d0d7ca1046da3c086ecb7b066a

9 years agoMerge "Integrate HBD row/column flip fwd txfm SSE4.1 optimization" into nextgenv2
Yi Luo [Wed, 18 May 2016 17:45:45 +0000 (17:45 +0000)]
Merge "Integrate HBD row/column flip fwd txfm SSE4.1 optimization" into nextgenv2

9 years agoMerge "Reducing computation of interintra modes" into nextgenv2
Debargha Mukherjee [Wed, 18 May 2016 17:21:15 +0000 (17:21 +0000)]
Merge "Reducing computation of interintra modes" into nextgenv2

9 years agovpx_dsp/*.[hc]: add missing vpx_dsp_rtcd.h include
James Zern [Wed, 4 May 2016 22:06:44 +0000 (15:06 -0700)]
vpx_dsp/*.[hc]: add missing vpx_dsp_rtcd.h include

Change-Id: I103be7eee36492f8619144ce8325bc916d4975c7
(cherry picked from commit 2184692c07c15290b424d538ae942d5f60eb7df8)

9 years agoIntegrate HBD row/column flip fwd txfm SSE4.1 optimization
Yi Luo [Tue, 17 May 2016 23:41:02 +0000 (16:41 -0700)]
Integrate HBD row/column flip fwd txfm SSE4.1 optimization

- Integrate 5 flip transform types for each 4x4, 8x8, and 16x16
  block, for experiment, EXT_TX.
- Encoder speed improves about 12%-15%.
- Update the unit tests for bit-exact result against C.

Change-Id: Idf27c87f1e516ca5b66c7b70142477a115404ccb

9 years agoMerge "Silience compiler warnings in unsigned int" into nextgenv2
Jingning Han [Wed, 18 May 2016 01:18:46 +0000 (01:18 +0000)]
Merge "Silience compiler warnings in unsigned int" into nextgenv2

9 years agoSilience compiler warnings in unsigned int
Jingning Han [Tue, 17 May 2016 23:45:26 +0000 (16:45 -0700)]
Silience compiler warnings in unsigned int

Add suffix u to clarify the unsigned int constant when the value
is above 2^31.

Change-Id: Ic712096285b7bf37deaeb5ad1b6b117fc0d67093

9 years agoReducing computation of interintra modes
Debargha Mukherjee [Mon, 16 May 2016 22:04:30 +0000 (15:04 -0700)]
Reducing computation of interintra modes

Use model for interintra mode search.
Speed-up about 5-10% with about 0.04 drop in efficiency.

lowres: -2.60%

Change-Id: I825bf0ba8a46eb7f19fc528c25b8df066fb8ea95

9 years agoMerge "vp10/rdopt,rd_pick_intra4x4block: port tsan fix from vp9" into nextgenv2
James Zern [Tue, 17 May 2016 03:04:00 +0000 (03:04 +0000)]
Merge "vp10/rdopt,rd_pick_intra4x4block: port tsan fix from vp9" into nextgenv2

9 years agovp10/rdopt,rd_pick_intra4x4block: port tsan fix from vp9
James Zern [Sat, 14 May 2016 02:57:12 +0000 (19:57 -0700)]
vp10/rdopt,rd_pick_intra4x4block: port tsan fix from vp9

minus the non-existent nonrd portion. original change:

commit d642294b1c57a5adacb1038ff45766c38bae8a6d
Author: Jingning Han <jingning@google.com>
Date:   Thu Feb 11 12:36:49 2016 -0800

    Fix tsan error in VP9 sub8x8 intra mode search

    This commit fixes issue 1141. The issue was triggered in multi-tile
    encoding. The change properly saves and restores the block context
    information in the real-time mode selection process. It removes
    several redundant memcpy operations in sub8x8 intra block mode
    search.

    Change-Id: I35c9ad197f4bd500ec39b5fc833f052f19eee010

Change-Id: Idfa38c54c9e645479f6870d46f71fb1e91c071da

9 years agoUnify the per directional filter type system for compound modes
Jingning Han [Tue, 3 May 2016 23:42:08 +0000 (16:42 -0700)]
Unify the per directional filter type system for compound modes

For the current stage, we assume a single prediction filter type
per direction in the settings of compound inter prediction modes.

Change-Id: I12a1afdd364b93fcee870bd11ad01fc40ab48cff

9 years agoEnable per motion component filter type selection
Jingning Han [Tue, 3 May 2016 01:09:47 +0000 (18:09 -0700)]
Enable per motion component filter type selection

Change-Id: I73823fc94f296d225dece7156de71b30bae3fcb7

9 years agoMerge "Properly handle 2D filter boundary extension" into nextgenv2
Jingning Han [Mon, 16 May 2016 21:34:28 +0000 (21:34 +0000)]
Merge "Properly handle 2D filter boundary extension" into nextgenv2

9 years agoMerge "HBD inverse HT 4x4 SSE4.1 optimization" into nextgenv2
Yi Luo [Mon, 16 May 2016 21:15:08 +0000 (21:15 +0000)]
Merge "HBD inverse HT 4x4 SSE4.1 optimization" into nextgenv2

9 years agoMerge "Various wedge enhancements" into nextgenv2
Debargha Mukherjee [Mon, 16 May 2016 21:11:35 +0000 (21:11 +0000)]
Merge "Various wedge enhancements" into nextgenv2

9 years agoVarious wedge enhancements
Debargha Mukherjee [Tue, 10 May 2016 16:30:30 +0000 (09:30 -0700)]
Various wedge enhancements

Increases number of wedges for smaller block and removes
wedge coding mode for blocks larger than 32x32.

Also adds various other enhancements for subsequent experimentation,
including adding provision for multiple smoothing functions
(though one is used currently), adds a speed feature that decides
the sign for interinter wedges using a fast mechanism, and refactors
wedge representations.

lowres: -2.651% BDRATE

Most of the gain is due to increase in codebook size for 8x8 - 16x16.

Change-Id: I50669f558c8d0d45e5a6f70aca4385a185b58b5b

9 years agoProperly handle 2D filter boundary extension
Jingning Han [Fri, 13 May 2016 23:15:43 +0000 (16:15 -0700)]
Properly handle 2D filter boundary extension

The amount of border extension needed in the first stage inter
filtering is decided by the length of the second stage filter
kernel.

Change-Id: Icddbc58c02234d5df09ff0eeebcf166ffe689203

9 years agoMerge changes I6aa75c66,Id5f0fade,I368d365e,Ibaf7b00b into nextgenv2
Angie Chiang [Mon, 16 May 2016 18:12:18 +0000 (18:12 +0000)]
Merge changes I6aa75c66,Id5f0fade,I368d365e,Ibaf7b00b into nextgenv2

* changes:
  Refactor and add flip unit test to vp10_inv_txfm2d_test.cc
  Add flip feature to vp10_inv_txfm2d.c
  add unit test for highbd flip transform
  Refactor vp10_fwd_txfm2d_test.cc

9 years agoRefactor and add flip unit test to vp10_inv_txfm2d_test.cc
Angie Chiang [Fri, 13 May 2016 00:11:27 +0000 (17:11 -0700)]
Refactor and add flip unit test to vp10_inv_txfm2d_test.cc

Change-Id: I6aa75c66429a0178852cf8df88f16eaa8e36b629

9 years agoAdd flip feature to vp10_inv_txfm2d.c
Angie Chiang [Thu, 12 May 2016 22:21:01 +0000 (15:21 -0700)]
Add flip feature to vp10_inv_txfm2d.c

Change-Id: Id5f0fade42749d2bed5553eda0d690af22b6c5b1

9 years agoadd unit test for highbd flip transform
Angie Chiang [Thu, 12 May 2016 01:50:47 +0000 (18:50 -0700)]
add unit test for highbd flip transform

Change-Id: I368d365ee0f58373bc399b615febd790addb2c36

9 years agoRefactor vp10_fwd_txfm2d_test.cc
Angie Chiang [Wed, 11 May 2016 23:41:36 +0000 (16:41 -0700)]
Refactor vp10_fwd_txfm2d_test.cc

Change-Id: Ibaf7b00bfe247df3e665ea3a0241667cb130e16c

9 years agoHBD inverse HT 4x4 SSE4.1 optimization
Yi Luo [Fri, 13 May 2016 17:08:13 +0000 (10:08 -0700)]
HBD inverse HT 4x4 SSE4.1 optimization

- Tx_type: DCT_DCT, DCT_ADST, ADST_DCT, ADST_ADST.
- Encoder overall instruction count drops 2.91%.
- Decoder overall instruction count drops 1.01%.
- Add unit test to test bit-exact result against C.

Change-Id: I908c9e0e5106c58f67dd72d28760e6c9ce54278e

9 years agoAdd static to memcpy_short_addr
Jingning Han [Thu, 12 May 2016 23:15:13 +0000 (16:15 -0700)]
Add static to memcpy_short_addr

Change-Id: I4a713784395bf13aaba2f7b175a6e93d50373a2f

9 years agoFix vp10_inv_txfm2d.round_trip test failure
Jingning Han [Thu, 12 May 2016 23:09:02 +0000 (16:09 -0700)]
Fix vp10_inv_txfm2d.round_trip test failure

Avoid accessing transform type that is not 2D-DCT if the transform
size is 64x64. This fixes an assert failure in this unit test.

Change-Id: I0dee865ea0925f5743b8a25c2f90eb6522b4d272