]> granicus.if.org Git - libvpx/log
libvpx
8 years agoFix compile error of vp10_fwd_txfm2d_sse4_test.cc
Angie Chiang [Wed, 6 Apr 2016 23:26:04 +0000 (16:26 -0700)]
Fix compile error of vp10_fwd_txfm2d_sse4_test.cc

Change-Id: I14a0821631e404d59a1121f7517f97de8d6f790f

8 years agoMerge "Test c version in vp10_fwd_txfm2d_test.cc" into nextgenv2
Angie Chiang [Wed, 6 Apr 2016 22:18:23 +0000 (22:18 +0000)]
Merge "Test c version in vp10_fwd_txfm2d_test.cc" into nextgenv2

8 years agoMerge "Put vp10_txfm_test.h into libvpx_test namespace" into nextgenv2
Angie Chiang [Wed, 6 Apr 2016 21:58:08 +0000 (21:58 +0000)]
Merge "Put vp10_txfm_test.h into libvpx_test namespace" into nextgenv2

8 years agoPut vp10_txfm_test.h into libvpx_test namespace
Angie Chiang [Tue, 29 Mar 2016 21:27:50 +0000 (14:27 -0700)]
Put vp10_txfm_test.h into libvpx_test namespace

Change-Id: I32ff059143d777fa4518d8e404ff16c890c7fecb

8 years agoFixing assertion in *Large unit tests
Julia Robson [Wed, 6 Apr 2016 10:16:57 +0000 (11:16 +0100)]
Fixing assertion in *Large unit tests

In certain cases the code was subtracting the obmc cost
despite it not having been added previously.
For example with ref_mv, supertx, ext_inter, obmc & ext_refs
enabled the following test was failing but now passes:
"VP10/ArfFreqTestLarge.MinArfFreqTest/33"

Change-Id: I966853f34c18d5a1d4c7a56fa201c1b02973fc88

8 years agoFixing error when building with ref_mv experiment
Julia Robson [Wed, 6 Apr 2016 10:13:58 +0000 (11:13 +0100)]
Fixing error when building with ref_mv experiment

Code was using variable that was only defined when
var_tx was also enabled

Change-Id: Ide02ff99b433bfc5c95b71e700c66562020cedae

8 years agoMerge "Refactoring and cosmetic changes to ext-inter expt" into nextgenv2
Debargha Mukherjee [Wed, 6 Apr 2016 01:19:05 +0000 (01:19 +0000)]
Merge "Refactoring and cosmetic changes to ext-inter expt" into nextgenv2

8 years agoTest c version in vp10_fwd_txfm2d_test.cc
Angie Chiang [Wed, 6 Apr 2016 01:03:13 +0000 (18:03 -0700)]
Test c version in vp10_fwd_txfm2d_test.cc

Change-Id: I6d9a5f790e984d76d0a5af4ca32ccc1c582805ee

8 years agoRefactoring and cosmetic changes to ext-inter expt
Debargha Mukherjee [Thu, 31 Mar 2016 00:33:15 +0000 (17:33 -0700)]
Refactoring and cosmetic changes to ext-inter expt

Change-Id: Icd457480744b7734b3c412c9fed43be738373334

8 years agoFix high bit depth mask and variance reference function
Yi Luo [Mon, 4 Apr 2016 16:44:56 +0000 (09:44 -0700)]
Fix high bit depth mask and variance reference function

- Use arithmetic AND (&) instead of logical AND (&&) to
  generate correct testing input.
- Fix variance reference function to be consistent with
  our codebase implementation.
- Refer to the following issue:
https://bugs.chromium.org/p/webm/issues/detail?id=1166

Change-Id: I8c1ebb03e22dc9e1dcd96bdf935fc126cee71307

8 years agoMerge "Optimized HBD 4x4 variance calculation" into nextgenv2
Yi Luo [Tue, 5 Apr 2016 18:41:09 +0000 (18:41 +0000)]
Merge "Optimized HBD 4x4 variance calculation" into nextgenv2

8 years agoFix supertx with ext-tile.
Geza Lore [Tue, 5 Apr 2016 11:49:15 +0000 (12:49 +0100)]
Fix supertx with ext-tile.

Change-Id: Ic2135c3812be009085c7c8e8dc15ee2ba618a67e

8 years agoOptimized HBD 4x4 variance calculation
Yi Luo [Fri, 1 Apr 2016 22:50:17 +0000 (15:50 -0700)]
Optimized HBD 4x4 variance calculation

vpx_highbd_8/10/12_variance4x4_sse4_1 improves performance ~7%-11%.

Change-Id: Ida22bb2a2f7a58037cfd73e186d4f6267a960c02

8 years agoRefactor get_partition to be universal.
Geza Lore [Mon, 4 Apr 2016 10:37:29 +0000 (11:37 +0100)]
Refactor get_partition to be universal.

Change-Id: I3a2fe4073bb94c5afc24d9274e6edcdb3aed934f

8 years agoMinor refactoring of partition type processing.
Geza Lore [Mon, 4 Apr 2016 12:55:28 +0000 (13:55 +0100)]
Minor refactoring of partition type processing.

Change-Id: Idcb1e94298d4b7d8832d285548ec2d2ced4b2988

8 years agoMerge "Remove duplicate ans parameter in bitstream functions." into nextgenv2
Alex Converse [Fri, 1 Apr 2016 18:35:11 +0000 (18:35 +0000)]
Merge "Remove duplicate ans parameter in bitstream functions." into nextgenv2

8 years agoMerge "ANS experiment: Use ANS everywhere." into nextgenv2
Alex Converse [Fri, 1 Apr 2016 18:34:50 +0000 (18:34 +0000)]
Merge "ANS experiment: Use ANS everywhere." into nextgenv2

8 years agoRemove duplicate ans parameter in bitstream functions.
Alex Converse [Mon, 28 Mar 2016 19:41:43 +0000 (12:41 -0700)]
Remove duplicate ans parameter in bitstream functions.

Change-Id: Icd459209dae328f90c9a875259fe5d201b2a4e45

8 years agoANS experiment: Use ANS everywhere.
Alex Converse [Tue, 22 Mar 2016 17:33:34 +0000 (10:33 -0700)]
ANS experiment: Use ANS everywhere.

Use ANS for all entropy coded data in VP10 including the compressed header and
modes and motion vectors. ANS tokens continue to be used for DCT tokens.

Change-Id: Idf709a747150601e4d95d81ecfb3dc7253d349df

8 years agoMerge "Loopfilter fix" into nextgenv2
Debargha Mukherjee [Fri, 1 Apr 2016 17:48:09 +0000 (17:48 +0000)]
Merge "Loopfilter fix" into nextgenv2

8 years agoMerge "change vp10_fwd_txfm2d_#x#_sse2 to vp10_fwd_txfm2d_#x#_sse4_1" into nextgenv2
Angie Chiang [Fri, 1 Apr 2016 17:25:23 +0000 (17:25 +0000)]
Merge "change vp10_fwd_txfm2d_#x#_sse2 to vp10_fwd_txfm2d_#x#_sse4_1" into nextgenv2

8 years agoMerge "Remove redundant code from vp10_fwd_txfm2d.c" into nextgenv2
Angie Chiang [Fri, 1 Apr 2016 17:25:13 +0000 (17:25 +0000)]
Merge "Remove redundant code from vp10_fwd_txfm2d.c" into nextgenv2

8 years agoMerge "Simplify rounding in vp10_[fwd/inv]_txfm[1/2]d_#x#" into nextgenv2
Angie Chiang [Fri, 1 Apr 2016 17:24:49 +0000 (17:24 +0000)]
Merge "Simplify rounding in vp10_[fwd/inv]_txfm[1/2]d_#x#" into nextgenv2

8 years agoMerge "Add vp10_fwd_txfm2d_sse2" into nextgenv2
Angie Chiang [Fri, 1 Apr 2016 17:24:33 +0000 (17:24 +0000)]
Merge "Add vp10_fwd_txfm2d_sse2" into nextgenv2

8 years agoLoopfilter fix
Debargha Mukherjee [Fri, 1 Apr 2016 02:54:00 +0000 (19:54 -0700)]
Loopfilter fix

Fixes mismatch introduced in
https://chromium-review.googlesource.com/#/c/336645

Change-Id: I15cded221c18dbf87b5029bc464e975d5c7c40e3

8 years agoFix a build issue
Yaowu Xu [Thu, 31 Mar 2016 23:06:24 +0000 (16:06 -0700)]
Fix a build issue

Change-Id: Ifdb32c487632098496bf59fcc76c518f8f0426d2

8 years agoMerge "Fix interpolation values and decouple interintra" into nextgenv2
Debargha Mukherjee [Thu, 31 Mar 2016 21:47:10 +0000 (21:47 +0000)]
Merge "Fix interpolation values and decouple interintra" into nextgenv2

8 years agoFix interpolation values and decouple interintra
Debargha Mukherjee [Thu, 31 Mar 2016 00:33:15 +0000 (17:33 -0700)]
Fix interpolation values and decouple interintra

Decouples interintra modes and probability models from regular
intra modes, to enable creating/optimizing new interintra modes.
Also, fixes interpolation values for 128x128 interintra and obmc.

Change-Id: I5c2016db49b8f029164e5fe84c6274d4e02ff90e

8 years agoMerge changes Id20526d0,Iee08d975 into nextgenv2
Debargha Mukherjee [Thu, 31 Mar 2016 18:48:20 +0000 (18:48 +0000)]
Merge changes Id20526d0,Iee08d975 into nextgenv2

* changes:
  Refactor loopfilter level arrays to 2D.
  Rename MI_BLOCK_SIZE and MI_MASK macros.

8 years agoFixed HBD variance unit test on incorrect bit mask operation
Yi Luo [Wed, 30 Mar 2016 22:40:37 +0000 (15:40 -0700)]
Fixed HBD variance unit test on incorrect bit mask operation

- Change logical AND (&&) to arithmetic AND (&).
- Disable failed unit tests for next-step fixing.
https://bugs.chromium.org/p/webm/issues/detail?id=1166

Change-Id: I75cf8d114fa995731ae1cf4c782b134781274a1f

8 years agoMerge "Refactor the sub8x8 block motion search control" into nextgenv2
Jingning Han [Thu, 31 Mar 2016 15:50:37 +0000 (15:50 +0000)]
Merge "Refactor the sub8x8 block motion search control" into nextgenv2

8 years agoRefactor loopfilter level arrays to 2D.
Geza Lore [Thu, 31 Mar 2016 14:52:12 +0000 (15:52 +0100)]
Refactor loopfilter level arrays to 2D.

Change-Id: Id20526d0b6d1371dc9f45cb8b5f24b6974da7bc4

8 years agoRename MI_BLOCK_SIZE and MI_MASK macros.
Geza Lore [Thu, 24 Mar 2016 11:20:25 +0000 (11:20 +0000)]
Rename MI_BLOCK_SIZE and MI_MASK macros.

Rename MI_BLOCK_SIZE.* -> MAX_MIB_SIZE.* (MIB is for MI Block).
Rename MI_MASK.* -> MAX_MIB_MASK.*

There are no functional changes.

This is in preparation for coding the superblock size at the frame
level, which will require some of these constants to become variables.
The new names better reflect future semantics, and hence make the code
clearer.

Change-Id: Iee08d97554cf4cc16a5dc166a3ffd1ab91529992

8 years agoMerge "Use write_modes_b_wrapper throughout." into nextgenv2
Alex Converse [Thu, 31 Mar 2016 06:04:02 +0000 (06:04 +0000)]
Merge "Use write_modes_b_wrapper throughout." into nextgenv2

8 years agoMerge "Set block size upper bound for Palette mode" into nextgenv2
Hui Su [Thu, 31 Mar 2016 00:23:11 +0000 (00:23 +0000)]
Merge "Set block size upper bound for Palette mode" into nextgenv2

8 years agoUse write_modes_b_wrapper throughout.
Geza Lore [Wed, 30 Mar 2016 09:56:14 +0000 (10:56 +0100)]
Use write_modes_b_wrapper throughout.

Change-Id: Ifbef3aa6e6b0dbc3701a9ef91b8b685a918d84f4

8 years agochange vp10_fwd_txfm2d_#x#_sse2 to vp10_fwd_txfm2d_#x#_sse4_1
Angie Chiang [Thu, 24 Mar 2016 22:34:27 +0000 (15:34 -0700)]
change vp10_fwd_txfm2d_#x#_sse2 to vp10_fwd_txfm2d_#x#_sse4_1

The speed performance for running 20k times  is as follows

Notice that the vp10_highbd_fdct#x#_sse2 version is
16-bit version plus range check

The rest are 32-bit version

vp10_fwd_txfm2d_4x4_c (2 ms)
vp10_fwd_txfm2d_8x8_c (9 ms)
vp10_fwd_txfm2d_16x16_c (45 ms)
vp10_fwd_txfm2d_32x32_c (233 ms)

vp10_fwd_txfm2d_4x4_sse4_1 (2 ms)
vp10_fwd_txfm2d_8x8_sse4_1 (3 ms)
vp10_fwd_txfm2d_16x16_sse4_1 (16 ms)
vp10_fwd_txfm2d_32x32_sse4_1 (80 ms)

vp10_highbd_fdct4x4_c (1 ms)
vp10_highbd_fdct8x8_c (3 ms)
vp10_highbd_fdct16x16_c (17 ms)
highbd_fdct32x32_c (160 ms)

vp10_highbd_fdct4x4_sse2 (0 ms)
vp10_highbd_fdct8x8_sse2 (2 ms)
vp10_highbd_fdct16x16_sse2 (8 ms)
highbd_fdct32x32_sse2 (105 ms)

Change-Id: I24daf1e0d4d66e91e4ce61ef71cefa7b70ee90ce

8 years agoRemove redundant code from vp10_fwd_txfm2d.c
Angie Chiang [Thu, 24 Mar 2016 01:47:27 +0000 (18:47 -0700)]
Remove redundant code from vp10_fwd_txfm2d.c

Change-Id: I87ae5e93957616c0f5160a4f679e42f77092c33f

8 years agoSimplify rounding in vp10_[fwd/inv]_txfm[1/2]d_#x#
Angie Chiang [Wed, 23 Mar 2016 17:59:32 +0000 (10:59 -0700)]
Simplify rounding in vp10_[fwd/inv]_txfm[1/2]d_#x#

Change-Id: I24ce46e157dc5b9c0d75000a1a48e9c136ed4ee1

8 years agoAdd vp10_fwd_txfm2d_sse2
Angie Chiang [Wed, 23 Mar 2016 02:14:12 +0000 (19:14 -0700)]
Add vp10_fwd_txfm2d_sse2

Change-Id: Idfbe3c7f5a7eb799c03968171006f21bf3d96091

8 years agoSet block size upper bound for Palette mode
hui su [Tue, 29 Mar 2016 23:28:28 +0000 (16:28 -0700)]
Set block size upper bound for Palette mode

Avoid buffer overflow in case of such new experiments as
128 x 128 superblock size.

Change-Id: Ib775f3925a85fc87227c0ddd9b6a6110a12ef196

8 years agoSome fixes/speed-ups on inter-intra part of ext-inter
Debargha Mukherjee [Tue, 29 Mar 2016 22:25:58 +0000 (15:25 -0700)]
Some fixes/speed-ups on inter-intra part of ext-inter

Fixes an issue with rectangular inter-intra blocks.
Includes various other refactoring and cleanups to enable fast mixing
of inter and intra predictors.
Uses only the best single inter reference so far for the inter-intra
search.

About 30% speed-up with a 0.1% hit in performance.

This is part one of overhauling on the ext-inter experiment. To be
continued in subsequent patches.

Change-Id: Id10ee100c78c6e00009a3a4f930a4435ef403a95

8 years agoMerge "Extend superblock size fo 128x128 pixels." into nextgenv2
Debargha Mukherjee [Wed, 30 Mar 2016 20:55:32 +0000 (20:55 +0000)]
Merge "Extend superblock size fo 128x128 pixels." into nextgenv2

8 years agoExtend superblock size fo 128x128 pixels.
Geza Lore [Mon, 7 Mar 2016 13:46:39 +0000 (13:46 +0000)]
Extend superblock size fo 128x128 pixels.

If --enable-ext-partition is used at build time, the superblock size
(sometimes also referred to as coding unit (CU) size) is extended to
128x128 pixels.

Change-Id: Ie09cec6b7e8d765b7555ff5d80974aab60803f3a

8 years agoMerge "Fix for ext_interp experiment" into nextgenv2
Debargha Mukherjee [Wed, 30 Mar 2016 14:44:39 +0000 (14:44 +0000)]
Merge "Fix for ext_interp experiment" into nextgenv2

8 years agoMerge "Add new config flag for global motion experiment" into nextgenv2
Debargha Mukherjee [Wed, 30 Mar 2016 14:36:45 +0000 (14:36 +0000)]
Merge "Add new config flag for global motion experiment" into nextgenv2

8 years agoRefactor the sub8x8 block motion search control
Jingning Han [Mon, 28 Mar 2016 21:50:11 +0000 (14:50 -0700)]
Refactor the sub8x8 block motion search control

Change-Id: Ia340e66e0a61403070adf8e4f18f00eab143f8f7

8 years agoMerge "Palette mode: record selected transform type" into nextgenv2
Hui Su [Tue, 29 Mar 2016 16:23:06 +0000 (16:23 +0000)]
Merge "Palette mode: record selected transform type" into nextgenv2

8 years agoMerge "Force the VPX boolcoder trees in the ANS test." into nextgenv2
Alex Converse [Tue, 29 Mar 2016 16:23:00 +0000 (16:23 +0000)]
Merge "Force the VPX boolcoder trees in the ANS test." into nextgenv2

8 years agoMerge "Merge branch 'masterbase' into nextgenv2" into nextgenv2
Yaowu Xu [Tue, 29 Mar 2016 16:05:53 +0000 (16:05 +0000)]
Merge "Merge branch 'masterbase' into nextgenv2" into nextgenv2

8 years agoFix for ext_interp experiment
Julia Robson [Tue, 29 Mar 2016 13:51:02 +0000 (14:51 +0100)]
Fix for ext_interp experiment

Amends previous commit to also handle subsampling correctly.
Change ID of prev commit: I6b07e6cf9b287ba4b5bd6599af4a7412e50b3bdc

Was causing occassional failures for 422 streams due to accessing
elements beyond the extent of the bmi array.

Change-Id: I37ebabf4c01ca84bcd1851428172bdf753805d98

8 years agoPalette mode: record selected transform type
hui su [Tue, 29 Mar 2016 02:05:52 +0000 (19:05 -0700)]
Palette mode: record selected transform type

Change-Id: I4c3d3224571176ac924d79ddfaba56990fc4000e

8 years agoMerge "Fix a rdcost computation issue in sub8x8 block mode search" into nextgenv2
Jingning Han [Tue, 29 Mar 2016 00:51:01 +0000 (00:51 +0000)]
Merge "Fix a rdcost computation issue in sub8x8 block mode search" into nextgenv2

8 years agoMerge branch 'masterbase' into nextgenv2
Yaowu Xu [Mon, 28 Mar 2016 17:26:27 +0000 (10:26 -0700)]
Merge branch 'masterbase' into nextgenv2

Conflicts:
vp9/encoder/vp9_encoder.c
vpx_dsp/x86/convolve.h

Change-Id: I60c3532936bedd796a75dfe78245a95ec21e2e55

8 years agoMerge "Rename run_rd_check to run_mv_search" into nextgenv2
Jingning Han [Mon, 28 Mar 2016 23:10:48 +0000 (23:10 +0000)]
Merge "Rename run_rd_check to run_mv_search" into nextgenv2

8 years agoMerge "Rework the predicted motion vector for sub8x8 block" into nextgenv2
Jingning Han [Mon, 28 Mar 2016 23:10:35 +0000 (23:10 +0000)]
Merge "Rework the predicted motion vector for sub8x8 block" into nextgenv2

8 years agoFix a rdcost computation issue in sub8x8 block mode search
Jingning Han [Mon, 28 Mar 2016 19:52:05 +0000 (12:52 -0700)]
Fix a rdcost computation issue in sub8x8 block mode search

Compute the rate-distortion cost for sub8x8 blocks with integer
motion vectors.

Change-Id: I7dc034fcc4bec3850f26d1f9ae0595c91df1137e

8 years agoRename run_rd_check to run_mv_search
Jingning Han [Mon, 28 Mar 2016 18:52:11 +0000 (11:52 -0700)]
Rename run_rd_check to run_mv_search

Improve the readability in the related rate-distortion optimization
search control function of sub8x8 blocks.

Change-Id: I7f7456bf40a98aa5146abfe0488cda745b84d899

8 years agoRework the predicted motion vector for sub8x8 block
Jingning Han [Tue, 22 Mar 2016 23:38:27 +0000 (16:38 -0700)]
Rework the predicted motion vector for sub8x8 block

This commit makes the sub8x8 block to use its nearest neighbor's
motion vector as predicted motion vector for NEWMV mode. It improves
the coding performance by 0.12%.

Change-Id: I99e56715b327573ce7e8a26e3515a4984dadfd98

8 years agoMerge "Use vp10_[fwd/inv]_txfm2d_add_32x32 for bd 10" into nextgenv2
Angie Chiang [Mon, 28 Mar 2016 19:20:48 +0000 (19:20 +0000)]
Merge "Use vp10_[fwd/inv]_txfm2d_add_32x32 for bd 10" into nextgenv2

8 years agoForce the VPX boolcoder trees in the ANS test.
Alex Converse [Tue, 22 Mar 2016 18:11:30 +0000 (11:11 -0700)]
Force the VPX boolcoder trees in the ANS test.

Change-Id: I282f958c35aabcdfaf1077f8909c56c999420937

8 years agoMerge "Make set_reference control API work in VP9 and VP10" into nextgenv2
Yunqing Wang [Mon, 28 Mar 2016 18:33:02 +0000 (18:33 +0000)]
Merge "Make set_reference control API work in VP9 and VP10" into nextgenv2

8 years agoMerge "Fix assertion fail in build_intra_predictors" into nextgenv2
Hui Su [Mon, 28 Mar 2016 18:14:47 +0000 (18:14 +0000)]
Merge "Fix assertion fail in build_intra_predictors" into nextgenv2

8 years agoMerge "Use vp10_[fwd/inv]_txfm2d_add_#x# for bd 10" into nextgenv2
Angie Chiang [Mon, 28 Mar 2016 18:11:47 +0000 (18:11 +0000)]
Merge "Use vp10_[fwd/inv]_txfm2d_add_#x# for bd 10" into nextgenv2

8 years agoUse vp10_[fwd/inv]_txfm2d_add_32x32 for bd 10
Angie Chiang [Tue, 22 Mar 2016 00:06:52 +0000 (17:06 -0700)]
Use vp10_[fwd/inv]_txfm2d_add_32x32 for bd 10

Change-Id: I996c48a90d7d71b52594a91a35cb8712c7fc212e

8 years agoMerge changes I3c72a2d8,I9905f3a8 into nextgenv2
Alex Converse [Mon, 28 Mar 2016 16:59:17 +0000 (16:59 +0000)]
Merge changes I3c72a2d8,I9905f3a8 into nextgenv2

* changes:
  Add pluggable bitwriters.
  Add pluggable bitreaders.

8 years agoMake set_reference control API work in VP9 and VP10
Yunqing Wang [Fri, 25 Mar 2016 18:57:20 +0000 (11:57 -0700)]
Make set_reference control API work in VP9 and VP10

Moved the API patch from NextGen to NextGenv2 and also added this
API to VP10. An example was included. To try it, for example, run
the following command:
$ examples/vpx_cx_set_ref vp10 352 288 in.yuv out.ivf 4 30

Change-Id: Ib56bc3d365e530cfc8d859a13ddbf4c007907b81

8 years agoMerge "Fixes for Palette mode" into nextgenv2
Hui Su [Mon, 28 Mar 2016 16:44:33 +0000 (16:44 +0000)]
Merge "Fixes for Palette mode" into nextgenv2

8 years agoFix assertion fail in build_intra_predictors
hui su [Mon, 28 Mar 2016 00:21:44 +0000 (17:21 -0700)]
Fix assertion fail in build_intra_predictors

Change-Id: Id6683b9593b52aa0d159f8f013782d9e0bd07206

8 years agoMerge "vp8-denoiser: Use the same skin detection for model=1 as in vp9."
Marco Paniconi [Mon, 28 Mar 2016 16:05:46 +0000 (16:05 +0000)]
Merge "vp8-denoiser: Use the same skin detection for model=1 as in vp9."

8 years agoMerge "8x8/16x16 HT types V_DCT to H_FLIPADST SSE2 optimization" into nextgenv2
Yi Luo [Mon, 28 Mar 2016 15:39:24 +0000 (15:39 +0000)]
Merge "8x8/16x16 HT types V_DCT to H_FLIPADST SSE2 optimization" into nextgenv2

8 years agoRevert "third_party: Roll libwebm snapshot."
James Zern [Sat, 26 Mar 2016 19:52:49 +0000 (12:52 -0700)]
Revert "third_party: Roll libwebm snapshot."

This reverts commit 80ddeb281a0d4b3d9a6d39a7ef91370f52845b39.

breaks Android build and causes valgrind failures in the examples

Change-Id: Ie13ceed2f9f8970af87339b807032a52083f27fe

8 years agoMerge "third_party: Roll libwebm snapshot."
Tom Finegan [Sat, 26 Mar 2016 01:41:49 +0000 (01:41 +0000)]
Merge "third_party: Roll libwebm snapshot."

8 years agoFixes for Palette mode
hui su [Sat, 26 Mar 2016 00:28:15 +0000 (17:28 -0700)]
Fixes for Palette mode

This patch fixes 2 issues in Palette mode:
1. More memory is needed in PALETTE_BUFFER for 444 video format.
2. A merge issue caused by
https://chromium-review.googlesource.com/#/c/333940/7

Change-Id: I2aedc7dfdfb6b66fbd600189ec6e1e2cc6120d40

8 years agoMerge "Use speed 2 on superframe test." into nextgenv2
Alex Converse [Sat, 26 Mar 2016 00:49:06 +0000 (00:49 +0000)]
Merge "Use speed 2 on superframe test." into nextgenv2

8 years agoUse speed 2 on superframe test.
Alex Converse [Fri, 25 Mar 2016 23:11:17 +0000 (16:11 -0700)]
Use speed 2 on superframe test.

No need to do avoid shortcuts when all we are testing is the superframe
syntax. Decreases the run time up the VP10 version of the test from 22
seconds to 3 seconds on my machine.

Change-Id: If0c3551cbb8af8b803e02629e803e5f09da76cd1

8 years agoMerge "Fix failing test: VP10/SuperframeTest.TestSuperframeIndexIsOptional/0" into...
Alex Converse [Sat, 26 Mar 2016 00:14:21 +0000 (00:14 +0000)]
Merge "Fix failing test: VP10/SuperframeTest.TestSuperframeIndexIsOptional/0" into nextgenv2

8 years ago8x8/16x16 HT types V_DCT to H_FLIPADST SSE2 optimization
Yi Luo [Fri, 25 Mar 2016 23:48:19 +0000 (16:48 -0700)]
8x8/16x16 HT types V_DCT to H_FLIPADST SSE2 optimization

- Wrote function: fidtx8_sse2() and fidtx16_sse2().
- Turned on vp10_fht8x8_sse2()/vp10_fht16x16_sse2() for new types.
- Updated 8x8/16x16 unit tests for accuracy/speed.
- Running 20K times with random numbers and getting through
  tx type from V_DCT to H_FLIPADST, SSE2 speed improvement:
  8x8: ~131%
  16x16: ~66%

Change-Id: Ibbb707e932a08fec3b1f423a7dab280a1d696c9a

8 years agoFix failing test: VP10/SuperframeTest.TestSuperframeIndexIsOptional/0
Alex Converse [Fri, 25 Mar 2016 23:07:00 +0000 (16:07 -0700)]
Fix failing test: VP10/SuperframeTest.TestSuperframeIndexIsOptional/0

Failing since: 66f2f65 Merge MISC_FIXES

Change-Id: I8135d6a9d74972c595f1b6294fb842e68f91e50e

8 years agovp9: 1 pass vbr mode at speed 5: switch to use mv.search to NSTEP.
Marco [Fri, 25 Mar 2016 18:34:56 +0000 (11:34 -0700)]
vp9: 1 pass vbr mode at speed 5: switch to use mv.search to NSTEP.

Change only affects 1 pass, vbr, speed = 5 (real-time mode).

Some improvement for high motion content.
AvgPSNR/SSIM metrics for ytlive set all up, on average ~2%,
some clips (high motion ones) up 4/5%.

Encoder speed down: on mynintendo_x1.1280_720.y4m: 47fps -> 44fps.

Change-Id: I9e3eaa6392dcb6b5b44ee6f43004f97ba859bc11

8 years agoA major speed up for obmc experiment
Yue Chen [Thu, 24 Mar 2016 19:05:19 +0000 (12:05 -0700)]
A major speed up for obmc experiment

Skip checking obmc when regular inter predictor is not so good (the
rd-cost for Y residual is greater than the total rd of the best mode
so far.)

Performance change compared to full rd search:
  +0.006% lowres, -0.056% midres
Encoding time :
  1.14X baseline (was 1.42X)

Change-Id: I11350f955a20e1a2331be458537a915e09fbedf3

8 years agoMerge "Fix memory leak and slopiness around the uncompressed ANS buffer." into nextgenv2
Alex Converse [Fri, 25 Mar 2016 20:08:00 +0000 (20:08 +0000)]
Merge "Fix memory leak and slopiness around the uncompressed ANS buffer." into nextgenv2

8 years agoMerge "Recover tile coding performance" into nextgenv2
Yunqing Wang [Fri, 25 Mar 2016 19:18:58 +0000 (19:18 +0000)]
Merge "Recover tile coding performance" into nextgenv2

8 years agoFix memory leak and slopiness around the uncompressed ANS buffer.
Alex Converse [Fri, 25 Mar 2016 18:07:39 +0000 (11:07 -0700)]
Fix memory leak and slopiness around the uncompressed ANS buffer.

Change-Id: Ic9ed1f88f5550b69a45a0fdc71aae5864db7e178

8 years agoAdd pluggable bitwriters.
Alex Converse [Mon, 21 Mar 2016 21:23:55 +0000 (14:23 -0700)]
Add pluggable bitwriters.

This will make the code change for a pure ANS experiment manageable.

Change-Id: I3c72a2d8e75afa2cc8e56992ee91f4760202f4d4

8 years agoAdd pluggable bitreaders.
Alex Converse [Mon, 21 Mar 2016 21:08:57 +0000 (14:08 -0700)]
Add pluggable bitreaders.

This will make the code change for a pure ANS experiment manageable.

Change-Id: I9905f3a89f492a4346860463a72fa8c52aac4c8e

8 years agoMerge "Speed up ext-intra" into nextgenv2
Hui Su [Fri, 25 Mar 2016 17:52:33 +0000 (17:52 +0000)]
Merge "Speed up ext-intra" into nextgenv2

8 years agothird_party: Roll libwebm snapshot.
Tom Finegan [Thu, 24 Mar 2016 20:12:51 +0000 (13:12 -0700)]
third_party: Roll libwebm snapshot.

4ff5785 cmake: Add C++11 move ctor and member initializer tests.
402ef4d cmake: remove argc and argv from C++11 test main fns.
cbe5c40 Restore original namespaces for mkvmuxer and mkvparser.
504e0f2 Mass file extension update.
79cb980 Android.mk: Update source file locations.
01db4c2 webmids: Move to common/ sub dir.
235ce59 mkvparser: Explicitly reference internal sources in includes.
f578419 mkvmuxer: Move sources to mkvmuxer/ sub dir.
5f1065e webvtt: Organize and clean up webvtt support.
7abe8ac cmake: Add missing dumpvtt target.
f2f87e2 Makefile.unix: Tidy things up.
12f6dc3 Use <stdint.h> types instead of custom typedefs.
0407360 mkvmuxer: Write last block in each Cluster with Duration
008aa63 mkvparser: move to mkvparser sub dir.
e64bf75 Namespace reorg: Make everything a child of libwebm.
5fdb386 cmake: move c++11 checks into build/cxx11_tests.cmake.
3672488 Copy reference block values in Frame::CopyFrom()
91ca780 reapply clang-format
8d34215 Merge "Clean up AddAudioTrack in muxer_tests"
90861d4 Clean up AddAudioTrack in muxer_tests
a9dfb3d Un-ignore webm files in testdata
c5b76d8 Extract PES parser from WebM2Pes tests.
16524e8 cmake: Add include-what-you-use integration.
7015af5 iwyu/vpxpes2ts: Update includes.
c1d6a70 iwyu/webm2pes: Update includes.
110e797 iwyu/libwebm_util: Update includes.
44e31fb iwyu/webm2pes_tests: Update includes.
d919f96 iwyu/mkvwriter: Update includes.
75790e1 iwyu/mkvparser: Update includes.
5f673ca iwyu/webm2pes_main: Update includes.
747244a iwyu/vpxpes2ts_main: Update includes.
94c985f iwyu/mkvmuxerutil: Update includes.
c365630 iwyu/mkvmuxer: Update includes.
b15b8ef iwyu/file_util: Update includes.
3dfba95 iwyu/hdr_util: Update includes.
baba8b1 iwyu/vttdemux: Update includes.
3212ec1 iwyu/webvttparser: Update includes.
b6d8d92 iwyu/sample_muxer_metadata: Update includes.
a9a1a01 iwyu/sample_muxer: Update includes.
e020ffd iwyu/sample: Update includes.
18834bc iwyu/parser_tests: Update includes.
9c00ae3 iwyu/muxer_tests: Update includes.
41a17eb iwyu/test_util: Update includes
b6174be muxer_tests: Fix windows brokenness.
e092515 file_util: Remove tmpnam() usage in MSVC.
b9dc4ac test_util: Don't pass NULL to std::string() in GetTestDataDir().
1f74651 webmts: Move PES/TS sources to m2ts sub directory.
1b895e9 Rename libwebm_utils to libwebm_util.
2fabcd3 sample_muxer: Replace std::tmpnam() with libwebm::GetTempFileName().
e6a0033 Add file_util.
87f9bea Move hdr_util to common.
1f64aaf cmake: Expand C++11 tests.
6dc81c1 muxer_tests: Die immediately when unable to prep for file writing.
521ce4d webm2pes: Fix type limit warning.
64c4163 vpxpes2ts: Fix sign-compare and type-limits warnings.
741ba68 muxer_tests: Replace std::tmpnam() with GetTempFileName().
6159e83 Merge "test_util: add missing include for close()"
ff81c74 parser_tests: Fix sign compare warnings.
163f57d test_util: add missing include for close()
7c89eb5 Merge "test_util: Remove tmpnam() usage on non-MSVC targets."
c4b8686 Merge "webm2pes_tests: Fix sign compare warnings."
9c9f546 Merge "muxer_tests: Fix sign compare warnings."
0fbefef webm2pes: Silence sign compare warnings.
599e4e8 cmake: Silence clang/gcc deprecation warnings.
82f376f test_util: Remove tmpnam() usage on non-MSVC targets.
4d31d6b webm2pes_tests: Fix sign compare warnings.
07ed7e0 muxer_tests: Fix sign compare warnings.
ae2fbfe parser_tests: Silence sign compare warning.
f488528 libwebm_utils: Silence sign compare warning.
777247b Add C++11 detection to cmake file.
9b89187 Add missing include to libwebm_utils.h.
421874a Merge "mkvmuxer: Fix GCC build."
dd6ab35 Set the mastering metadata on the muxers colour
8b61ef5 mkvmuxer: Fix GCC build.
353b050 Add hdr_util.
c92e080 mkvmuxer: Use kValueNotPresent in Colour/MasteringMetadata.
2d09128 Colour element: TransferFunction renamed to TransferCharacteristics.
f2fc28e Colour element: Matrix renamed to MatrixCoefficients.
e0b1135 cmake: Minor CMakeLists.txt refactor.
1e1872b Revert change from auto_ptr to unique_ptr in sample code.
d7fc382 Track updates to the proposed Matroska Colour spec.
99981ee sample(mkvparser): Output Colour element when present.
375e416 mkvmuxer: Fix Colour element support.
eaeca34 mkvmuxer: Fix bits per channel in the colour element.
1dab7f3 mkvparser: Avoid crash when encountering a Colour element.
a1517aa sample_muxer: copy the Colour element.
ea9dd94 Merge "webm2pes: Fix tests."
8635c5b Merge "mkvparser: Make omitted values detectable in the Colour element."
ae4ae7e mkvparser: Make omitted values detectable in the Colour element.
8c8cba6 webm2pes: Fix tests.
a281a22 mkvmuxer: Add support for the Colour element and its children.
41a9147 sample_muxer: clang-format include order fix.
939a64d Signal E_BUFFER_NOT_FULL in EBMLHeader::Parse
fb1406e mkvparser: Add support for the Colour element and its children.
22bfdf7 Merge "parser_tests: Add validation of cues."
b873000 parser_tests: Add validation of cues.
799891e Update .gitignore to include some new binaries
e051c60 Merge "Update muxer test gold files"
b81d5f0 Update muxer test gold files
48b1e9a mkvparser: clang format run
93c4690 webm2pes: Add PES packet parsing tests.
65ca38f Merge "test_util: Fix gcc build."
520ca6c Merge "parser_tests: Fix gcc build."
37a38ca test_util: Fix gcc build.
ee0ebba parser_tests: Fix gcc build.
c32f970 Replace auto_ptr usage with unique_ptr.
e569ab0 webm2pes/ts: Fix gcc build.
2e55d6c Merge "add bitcode embedding support for ios"
0cfb2dc add bitcode embedding support for ios
bb8cefd webm2ts: Converts WebM VPx video to a MPEG TS.
453bf44 webm2pes: Begin addition of tests.
9299bbb libwebm: Googletest integration.
3bec1ba Merge changes I7bcb5b3e,I8ce733be,I98a928ff,I71910f24
5c83bbe Fix ParseElementHeader to support 0 payload elements
be35869 libwebm_utils: Add FileDeleter.
d6db1e1 webm2pes: Add a WebM parser init method.
aa3593e webm2pes: Rename Convert to ConvertToFile().
e8fca12 webm2pes: Fix super frame splitting.
3cb96b6 webm2pes: Move main() and helper functions into their own files.
021432b webm2pes: Fix the linux build.
82ac5fc Remove RELEASE.TXT.
852e173 webm2pes: Split super frames and packetize large frames.
faf85c2 webm2pes: Refactor header/optional header writing.
7c19266 Add Webm2Pes.
01fdee4 mkvmuxer: Disallow AddTrack() after Tracks element is output.
1ad314e mkvparser: EBMLHeader::Parse: remove dead init

Change-Id: I4026f52f59c6f7644af49b0393af502079b2fbec

8 years agoRecover tile coding performance
Yunqing Wang [Fri, 25 Mar 2016 16:05:25 +0000 (09:05 -0700)]
Recover tile coding performance

After porting tile coding from VP9 to VP10, some performance
degradation was seen because of the difference between VP9 and
Vp10 baseline. This patch disabled some features in VP10 while
tile coding is turned on. Also, an encoder control API was added
back for this use case.

Change-Id: I8f736db8388408a8cc35320a2f80abb02906571c

8 years agoSpeed up ext-intra
hui su [Thu, 24 Mar 2016 23:38:04 +0000 (16:38 -0700)]
Speed up ext-intra

Skip filtered intra modes search in inter frame when DC mode is
worse than the best mode so far.

With ext-intra enabled, the overall speed is increased by 20~40%;
performance drop is 0.03% on lowres and 0.05% on midres.

Change-Id: I75d2503b067cf5e46e3533b97fb01497e125baa7

8 years agoMerge "4x4 hybrid transform type V_DCT to H_FLIPADST SSE2 optimization" into nextgenv2
Yi Luo [Fri, 25 Mar 2016 00:07:17 +0000 (00:07 +0000)]
Merge "4x4 hybrid transform type V_DCT to H_FLIPADST SSE2 optimization" into nextgenv2

8 years agovp8-denoiser: Use the same skin detection for model=1 as in vp9.
Marco [Thu, 24 Mar 2016 22:42:28 +0000 (15:42 -0700)]
vp8-denoiser: Use the same skin detection for model=1 as in vp9.

Keep setting for model = 0 for now in vp8.

Change-Id: I79c5fa24d5d16b14651f44db9526aa01dbd70ec9

8 years ago4x4 hybrid transform type V_DCT to H_FLIPADST SSE2 optimization
Yi Luo [Wed, 23 Mar 2016 23:22:43 +0000 (16:22 -0700)]
4x4 hybrid transform type V_DCT to H_FLIPADST SSE2 optimization

- Added function fidtx4_sse2().
- Turned on vp10_fht4x4_sse2() for these tx types.
- Updated 4x4 unit test for speed/accuracy.
- 4x4 Unit test passed.
- Running 20K times with random numbers for tx type from
  V_DCT to H_FLIPADST, SSE2 against C, speed improves ~46%.

Change-Id: I828088b7f98dc0f5939a72e3fcd6cb0b8d8dd8bf

8 years agoMerge changes Id0a490bc,I1b4a0504
James Zern [Thu, 24 Mar 2016 22:04:11 +0000 (22:04 +0000)]
Merge changes Id0a490bc,I1b4a0504

* changes:
  vp9/inverse_transform_block_inter: move eob check
  vp9/inverse_transform_block_intra: move eob check

8 years agoFix compiling error in highbd transform unit test
Jingning Han [Thu, 24 Mar 2016 19:01:14 +0000 (12:01 -0700)]
Fix compiling error in highbd transform unit test

Change-Id: Id09e1913c1ac965b78df2e67471807019c89f8ab

8 years agoMerge "Fix an enc/dec mismatch issue in DRL experiment" into nextgenv2
Jingning Han [Thu, 24 Mar 2016 19:02:13 +0000 (19:02 +0000)]
Merge "Fix an enc/dec mismatch issue in DRL experiment" into nextgenv2

8 years agoMerge "Force recode for bad rate misses."
Paul Wilkins [Thu, 24 Mar 2016 18:05:24 +0000 (18:05 +0000)]
Merge "Force recode for bad rate misses."

8 years agoMerge "Fix some HBD scaling bugs."
Paul Wilkins [Thu, 24 Mar 2016 18:04:52 +0000 (18:04 +0000)]
Merge "Fix some HBD scaling bugs."

8 years agoFix an enc/dec mismatch issue in DRL experiment
Jingning Han [Thu, 24 Mar 2016 16:40:27 +0000 (09:40 -0700)]
Fix an enc/dec mismatch issue in DRL experiment

This was broken due the leakage between consecutive CLs.

Change-Id: I08ba8c67a42871d9488729ed854845641aa7ca30

8 years agoPort large scale tile coding features from nextgen.
Geza Lore [Fri, 11 Mar 2016 17:42:49 +0000 (17:42 +0000)]
Port large scale tile coding features from nextgen.

If configured with --enable-ext-tile, the codec uses an alternative
tile coding syntax in the bitstream. Changes include::
 - The maximum number of tile rows and columns is extended to 1024
   each.
 - The minimum tile width/height is 64 pixels (1 superblock).
 - A tile copy mode is added where a tile directly reuse the coded
   data of a previous tile
 - The meaning of the tile-columns and tile-rows codec parameters are
   overloaded to mean tile-width and tile-height in units of 64
   pixels.
 - All tiles should now be independent, including rows within the
   same columns, so large scale parallel, or independent decoding is
   possible.
 - vpxdec also gained the options to decode only a particular tile,
   tile row, or tile column.

Changes without --enable-ext-tile:
 - All tiles should now be independent, including rows within the
   same columns, so large scale parallel, or independent decoding is
   possible.
 - vpxenc default tile configuration changed to use 1 tile column.

Change-Id: I0cd08ad550967ac18622dae5e98ad23d581cb33e