]> granicus.if.org Git - libvpx/log
libvpx
8 years agoMerge "Make subpel masked motion work with upsampled refs" into nextgenv2
Debargha Mukherjee [Sat, 9 Apr 2016 13:30:09 +0000 (13:30 +0000)]
Merge "Make subpel masked motion work with upsampled refs" into nextgenv2

8 years agoMerge "Changes to scan order neighbors" into nextgenv2
Hui Su [Fri, 8 Apr 2016 21:18:16 +0000 (21:18 +0000)]
Merge "Changes to scan order neighbors" into nextgenv2

8 years agoMerge "Reformat scan order neighbors" into nextgenv2
Hui Su [Fri, 8 Apr 2016 20:57:49 +0000 (20:57 +0000)]
Merge "Reformat scan order neighbors" into nextgenv2

8 years agoChanges to scan order neighbors
hui su [Wed, 6 Apr 2016 23:13:58 +0000 (16:13 -0700)]
Changes to scan order neighbors

-Fix some bugs in row_scan and col_scan. In some cases, the above
or left neighbor was not considered even though it is available.

-When above or left neighbor is not available, try using the
top-left, top-right or bottom-left neighbor.

Compression improvement:
lowres   0.20%
midres   0.16%
hdres    0.20%

Change-Id: If521665589c7f29277b8e9223f21f4a8bf3fef39

8 years agoReformat scan order neighbors
hui su [Fri, 8 Apr 2016 17:50:13 +0000 (10:50 -0700)]
Reformat scan order neighbors

Change-Id: Iafcd080612012b08f3cbff45335c12f434543f38

8 years agoMake subpel masked motion work with upsampled refs
Debargha Mukherjee [Thu, 31 Mar 2016 00:33:15 +0000 (17:33 -0700)]
Make subpel masked motion work with upsampled refs

Change-Id: Id483354e73e983793370b55a1a6a1f2dcd137dc9

8 years agoConvert palette from double to float.
Alex Converse [Thu, 7 Apr 2016 18:13:32 +0000 (11:13 -0700)]
Convert palette from double to float.

About 20% less time spent coding in vp10_k_means().

Change-Id: I5cf7605cde869a269776197bace70de353b07d83

8 years agoAdd roundf and lroundf replacements for VS < 2013.
Alex Converse [Thu, 7 Apr 2016 22:16:30 +0000 (15:16 -0700)]
Add roundf and lroundf replacements for VS < 2013.

Change-Id: I25678279ab44672acf680bf04d9c551156e2904b

8 years agoMake superblock size variable at the frame level.
Geza Lore [Thu, 24 Mar 2016 13:56:05 +0000 (13:56 +0000)]
Make superblock size variable at the frame level.

The uncompressed frame header contains a bit to signal whether the
frame is encoded using 64x64 or 128x128 superblocks. This can vary
between any 2 frames.

vpxenc gained the --sb-size={64,128,dynamic} option, which allows the
configuration of the superblock size used (default is dynamic). 64/128
will force the encoder to always use the specified superblock size.
Dynamic would enable the encoder to choose the sb size for each
frame, but this is not implemented yet (dynamic does the same as 128
for now).

Constraints on tile sizes depend on the superblock size, the following
is a summary of the current bitstream syntax and semantics:

If both --enable-ext-tile is OFF and --enable-ext-partition is OFF:
     The tile coding in this case is the same as VP9. In particular,
     tiles have a minimum width of 256 pixels and a maximum width of
     4096 pixels. The tile width must be multiples of 64 pixels
     (except for the rightmost tile column). There can be a maximum
     of 64 tile columns and 4 tile rows.

If --enable-ext-tile is OFF and --enable-ext-partition is ON:
     Same constraints as above, except that tile width must be
     multiples of 128 pixels (except for the rightmost tile column).

There is no change in the bitstream syntax used for coding the tile
configuration if --enable-ext-tile is OFF.

If --enable-ext-tile is ON and --enable-ext-partition is ON:
     This is the new large scale tile coding configuration. The
     minimum/maximum tile width and height are 64/4096 pixels. Tile
     width and height must be multiples of 64 pixels. The uncompressed
     header contains two 6 bit fields that hold the tile width/heigh
     in units of 64 pixels. The maximum number of tile rows/columns
     is only limited by the maximum frame size of 65536x65536 pixels
     that can be coded in the bitstream. This yields a maximum of
     1024x1024 tile rows and columns (of 64x64 tiles in a 65536x65536
     frame).

If both --enable-ext-tile is ON and --enable-ext-partition is ON:
     Same applies as above, except that in the bitstream the 2 fields
     containing the tile width/height are in units of the superblock
     size, and the superblock size itself is also coded in the bitstream.
     If the uncompressed header signals the use of 64x64 superblocks,
     then the tile width/height fields are 6 bits wide and are in units
     of 64 pixels. If the uncompressed header signals the use of 128x128
     superblocks, then the tile width/height fields are 5 bits wide and
     are in units of 128 pixels.

The above is a summary of the bitstream. The user interface to vpxenc
(and the equivalent encoder API) behaves a follows:

If --enable-ext-tile is OFF:
     No change in the user interface. --tile-columns and --tile-rows
     specify the base 2 logarithm of the desired number of tile columns
     and tile rows. The actual number of tile rows and tile columns,
     and the particular tile width and tile height are computed by the
     codec ensuring all of the above constraints are respected.

If --enable-ext-tile is ON, but --enable-ext-partition is OFF:
     No change in the user interface. --tile-columns and --tile-rows
     specify the WIDTH and HEIGHT of the tiles in unit of 64 pixels.
     The valid values are in the range [1, 64] (which corresponds to
     [64, 4096] pixels in increments of 64.

If both --enable-ext-tile is ON and --enable-ext-partition is ON:
     If --sb-size=64 (default):
         The user interface is the same as in the previous point.
         --tile-columns and --tile-rows specify tile WIDTH and HEIGHT,
         in units of 64 pixels, in the range [1, 64] (which corresponds
         to [64, 4096] pixels in increments of 64).
     If --sb-size=128 or --sb-size=dynamic:
         --tile-columns and --tile-rows specify tile WIDTH and HEIGHT,
         in units of 128 pixels in the range [1, 32] (which corresponds
         to [128, 4096] pixels in increments of 128).

Change-Id: Idc9beee1ad12ff1634e83671985d14c680f9179a

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