]> granicus.if.org Git - libvpx/log
libvpx
8 years agoMerge "Allow OVERLAY frames to use the show_exsiting_frame flag" into nextgenv2
Wei-ting Lin [Tue, 19 Jul 2016 04:28:07 +0000 (04:28 +0000)]
Merge "Allow OVERLAY frames to use the show_exsiting_frame flag" into nextgenv2

8 years agoAdd global motion parameters to compressed header
Sarah Parker [Mon, 11 Jul 2016 18:47:55 +0000 (11:47 -0700)]
Add global motion parameters to compressed header

Currently nothing is implemented to compute GM parameters, this
just adds the capability to send them in the bitstream if they
were computed. Still need to implement the reconstruction
based on the parameters in reconinter.

Change-Id: I72aea3c6a9de9f5a40f96da76c82b54a52781fe2

8 years agoAllow OVERLAY frames to use the show_exsiting_frame flag
Wei-ting Lin [Tue, 12 Jul 2016 20:19:45 +0000 (13:19 -0700)]
Allow OVERLAY frames to use the show_exsiting_frame flag

ARF with zero strength temporal filter can be reused by setting the
show_existing_frame = 1, and in this case, there is no need to
refresh the reference frame buffer. However, we used the flag
"refresh_golden_frame" as the identifier for the starting point of a gf
group.

A new flags "is_arf_filter_off" is used to record if the filter with
strengrh zero is used.

Change-Id: I25971a760f6e1638d5147fe30488c48125512b1a

8 years agoMerge "Merge changes from libvpx/master by cherry-pick" into nextgenv2
Yaowu Xu [Mon, 18 Jul 2016 22:43:40 +0000 (22:43 +0000)]
Merge "Merge changes from libvpx/master by cherry-pick" into nextgenv2

8 years agoMerge "Add buf0, width, height fields to buf_2d" into nextgenv2
Sarah Parker [Mon, 18 Jul 2016 22:40:37 +0000 (22:40 +0000)]
Merge "Add buf0, width, height fields to buf_2d" into nextgenv2

8 years agoMerge "Align the quantizers for inter/inter modes in the first pass coding" into...
Jingning Han [Mon, 18 Jul 2016 21:54:05 +0000 (21:54 +0000)]
Merge "Align the quantizers for inter/inter modes in the first pass coding" into nextgenv2

8 years agoCorrect the experiment names for ext-refs
Zoe Liu [Mon, 18 Jul 2016 18:28:31 +0000 (11:28 -0700)]
Correct the experiment names for ext-refs

Change-Id: I83a2b22d12e4573453e2ad866c7ceb430ff062c6

8 years agoAdd buf0, width, height fields to buf_2d
Sarah Parker [Thu, 14 Jul 2016 23:50:00 +0000 (16:50 -0700)]
Add buf0, width, height fields to buf_2d

These are needed for the warping function in the global motion
experiment.

Change-Id: Iaab176d0c0b90f6b938e2bac48b24c07e87e3cd9

8 years agoMerge changes from libvpx/master by cherry-pick
Johann [Wed, 22 Jun 2016 23:08:10 +0000 (16:08 -0700)]
Merge changes from libvpx/master by cherry-pick

This commit bring all up-to-date changes from master that are
applicable to nextgenv2. Due to the remove VP10 code in master,
we had to cherry pick the following commits to get those changes:

Add default flags for arm64/armv8 builds

Allows building simple targets with sane default flags.

For example, using the Android arm64 toolchain from the NDK:
https://developer.android.com/ndk/guides/standalone_toolchain.html
./build/tools/make-standalone-toolchain.sh --arch=arm64 \
  --platform=android-24 --install-dir=/tmp/arm64
CROSS=/tmp/arm64/bin/aarch64-linux-android- \
  ~/libvpx/configure --target=arm64-linux-gcc --disable-multithread

BUG=webm:1143

vpx_lpf_horizontal_4_sse2: Remove dead load.

Change-Id: I51026c52baa1f0881fcd5b68e1fdf08a2dc0916e

Fail early when android target does not include --sdk-path

Change-Id: I07e7e63476a2e32e3aae123abdee8b7bbbdc6a8c

configure: clean up var style and set_all usage

Use quotes whenever possible and {} always for variables.

Replace multiple set_all calls with *able_feature().

Conflicts:
build/make/configure.sh

vp9-svc: Remove some unneeded code/comment.

datarate_test,DatarateTestLarge: normalize bits type

quiets a msvc warning:
conversion from 'const int64_t' to 'size_t', possible loss of data

mips added p6600 cpu support

Removed -funroll-loops

psnr.c: use int64_t for sum of differences

Since the values can be negative.

*.asm: normalize label format

add a trailing ':', though it's optional with the tools we support, it's
more common to use it to mark a label. this also quiets the
orphan-labels warning with nasm/yasm.

BUG=b/29583530

Prevent negative variance

Due to rounding, hbd variance may become negative. This commit put in
check and clamp of negative values to 0.

configure: remove old visual studio support (<2010)

BUG=b/29583530

Conflicts:
configure

configure: restore vs_version variable

inadvertently lost in the final patchset of:
078dff7 configure: remove old visual studio support (<2010)

this prevents an empty CONFIG_VS_VERSION and avoids make failure

Require x86inc.asm

Force enable x86inc.asm when building for x86. Previously there were
compatibility issues so a flag was added to simplify disabling this
code.

The known issues have been resolved and x86inc.asm is the preferred
abstraction layer (over x86_abi_support.asm).

BUG=b:29583530

convolve_test: fix byte offsets in hbd build

CONVERT_TO_BYTEPTR(x) was corrected in:
003a9d2 Port metric computation changes from nextgenv2
to use the more common (x) within the expansion. offsets should occur
after converting the pointer to the desired type.

+ factorized some common expressions

Conflicts:
test/convolve_test.cc

vpx_dsp: remove x86inc.asm distinction

BUG=b:29583530

Conflicts:
vpx_dsp/vpx_dsp.mk
vpx_dsp/vpx_dsp_rtcd_defs.pl
vpx_dsp/x86/highbd_variance_sse2.c
vpx_dsp/x86/variance_sse2.c

test: remove x86inc.asm distinction

BUG=b:29583530

Conflicts:
test/vp9_subtract_test.cc

configure: remove x86inc.asm distinction

BUG=b:29583530

Change-Id: I59a1192142e89a6a36b906f65a491a734e603617

Update vpx subpixel 1d filter ssse3 asm

Speed test shows the new vertical filters have degradation on Celeron
Chromebook. Added "X86_SUBPIX_VFILTER_PREFER_SLOW_CELERON" to control
the vertical filters activated code. Now just simply active the code
without degradation on Celeron. Later there should be 2 set of vertical
filters ssse3 functions, and let jump table to choose based on CPU type.

improve vpx_filter_block1d* based on replace paddsw+psrlw to pmulhrsw

Make set_reference control API work in VP9

Moved the API patch from NextGenv2. An example was included.
To try it, for example, run the following command:
$ examples/vpx_cx_set_ref vp9 352 288 in.yuv out.ivf 4 30

Conflicts:
examples.mk
examples/vpx_cx_set_ref.c
test/cx_set_ref.sh
vp9/decoder/vp9_decoder.c

deblock filter : moved from vp8 code branch

The deblocking filters used in vp8 have been moved to vpx_dsp for
use by both vp8 and vp9.

vpx_thread.[hc]: update webp source reference

+ drop the blob hash, the updated reference will be updated in the
commit message

BUG=b/29583578

vpx_thread: use native windows cond var if available

BUG=b/29583578

original webp change:

commit 110ad5835ecd66995d0e7f66dca1b90dea595f5a
Author: James Zern <jzern@google.com>
Date:   Mon Nov 23 19:49:58 2015 -0800

    thread: use native windows cond var if available

    Vista / Server 2008 and up. no speed difference observed.

100644 blob 4fc372b7bc6980a9ed3618c8cce5b67ed7b0f412 src/utils/thread.c
100644 blob 840831185502d42a3246e4b7ff870121c8064791 src/utils/thread.h

vpx_thread: use InitializeCriticalSectionEx if available

BUG=b/29583578

original webp change:

commit 63fadc9ffacc77d4617526a50c696d21d558a70b
Author: James Zern <jzern@google.com>
Date:   Mon Nov 23 20:38:46 2015 -0800

    thread: use InitializeCriticalSectionEx if available

    Windows Vista / Server 2008 and up

100644 blob f84207d89b3a6bb98bfe8f3fa55cad72dfd061ff src/utils/thread.c
100644 blob 840831185502d42a3246e4b7ff870121c8064791 src/utils/thread.h

vpx_thread: use WaitForSingleObjectEx if available

BUG=b/29583578

original webp change:

commit 0fd0e12bfe83f16ce4f1c038b251ccbc13c62ac2
Author: James Zern <jzern@google.com>
Date:   Mon Nov 23 20:40:26 2015 -0800

    thread: use WaitForSingleObjectEx if available

    Windows XP and up

100644 blob d58f74e5523dbc985fc531cf5f0833f1e9157cf0 src/utils/thread.c
100644 blob 840831185502d42a3246e4b7ff870121c8064791 src/utils/thread.h

vpx_thread: use CreateThread for windows phone

BUG=b/29583578

original webp change:

commit d2afe974f9d751de144ef09d31255aea13b442c0
Author: James Zern <jzern@google.com>
Date:   Mon Nov 23 20:41:26 2015 -0800

    thread: use CreateThread for windows phone

    _beginthreadex is unavailable for winrt/uwp

    Change-Id: Ie7412a568278ac67f0047f1764e2521193d74d4d

100644 blob 93f7622797f05f6acc1126e8296c481d276e4047 src/utils/thread.c
100644 blob 840831185502d42a3246e4b7ff870121c8064791 src/utils/thread.h

vp9_postproc.c missing extern.

BUG=webm:1256

deblock: missing const on extern const.

postproc - move filling of noise buffer to vpx_dsp.

Fix encoder crashes for odd size input

clean-up vp9_intrapred_test

remove tuple and overkill VP9IntraPredBase class.

postproc: noise style fixes.

gtest-all.cc: quiet an unused variable warning

under windows / mingw builds

vp9_intrapred_test: follow-up cleanup

address few comments from ce050afaf3e288895c3bee4160336e2d2133b6ea

Change-Id: I3eece7efa9335f4210303993ef6c1857ad5c29c8

8 years agoAlign the quantizers for inter/inter modes in the first pass coding
Jingning Han [Mon, 18 Jul 2016 17:14:13 +0000 (10:14 -0700)]
Align the quantizers for inter/inter modes in the first pass coding

Use regular extended zero bin quantizer for both inter and intra
modes in the first pass. This doesn't affect lowres and midres
significantly, but would bring back 0.9% coding gains for hdres.

Change-Id: Ifa5977fa7b141fc5be595c0f3a4fc81a93f6606f

8 years agoMerge "Merge branch 'master' into nextgenv2" into nextgenv2
Yaowu Xu [Fri, 15 Jul 2016 04:45:52 +0000 (04:45 +0000)]
Merge "Merge branch 'master' into nextgenv2" into nextgenv2

8 years agoMerge branch 'master' into nextgenv2
Yaowu Xu [Thu, 14 Jul 2016 17:57:35 +0000 (10:57 -0700)]
Merge branch 'master' into nextgenv2

Change-Id: Ia3c0f2103fd997613d9f16156795028f89f63265

8 years agoMerge "Add new_quant quantization in rdopt for 4x4 blocks and intra" into nextgenv2
Sarah Parker [Thu, 14 Jul 2016 22:15:32 +0000 (22:15 +0000)]
Merge "Add new_quant quantization in rdopt for 4x4 blocks and intra" into nextgenv2

8 years agoRemove unused zcoeff_blk
Debargha Mukherjee [Thu, 14 Jul 2016 19:28:21 +0000 (12:28 -0700)]
Remove unused zcoeff_blk

from PICK_MODE_CONTEXT and MACROBLOCK

Change-Id: I42f98ce51871948244bdcaaaeb3d0191622116ae

8 years agoMerge "Fix highbd obmc_variance unit test" into nextgenv2
Pascal Massimino [Thu, 14 Jul 2016 18:59:37 +0000 (18:59 +0000)]
Merge "Fix highbd obmc_variance unit test" into nextgenv2

8 years agoAdd new_quant quantization in rdopt for 4x4 blocks and intra
Sarah Parker [Tue, 12 Jul 2016 21:16:00 +0000 (14:16 -0700)]
Add new_quant quantization in rdopt for 4x4 blocks and intra

Originally the uniform quantization function was not being
replaced with the new_quant version in rdopt when new_quant
is turned on. This fixes the bug.

Change-Id: I593793bb909e1e1a6f89544eeca6783fe0576f25

8 years agoFix highbd obmc_variance unit test
Jingning Han [Thu, 14 Jul 2016 17:11:32 +0000 (10:11 -0700)]
Fix highbd obmc_variance unit test

Fix the compiling errors in highbd obmc_variance unit test.

Change-Id: Id1bdfd50aeaff996e54067d5e9b369a5fd2d87a8

8 years agoMerge "Refactor codes about motion search" into nextgenv2
Hui Su [Thu, 14 Jul 2016 00:13:46 +0000 (00:13 +0000)]
Merge "Refactor codes about motion search" into nextgenv2

8 years agoMerge "Fix highbd inter prediction filter sse4 overwriting issue" into nextgenv2
Jingning Han [Wed, 13 Jul 2016 21:35:29 +0000 (21:35 +0000)]
Merge "Fix highbd inter prediction filter sse4 overwriting issue" into nextgenv2

8 years agoFix highbd inter prediction filter sse4 overwriting issue
Jingning Han [Wed, 13 Jul 2016 19:46:59 +0000 (12:46 -0700)]
Fix highbd inter prediction filter sse4 overwriting issue

Properly handle the case where the height is an integer multiple
of 4.

Change-Id: I11ac188c13f78db20902e2e333c60ce76ce837c5

8 years agoMerge "Optimize and cleanup obmc predictor and rd search." into nextgenv2
Yue Chen [Wed, 13 Jul 2016 18:40:48 +0000 (18:40 +0000)]
Merge "Optimize and cleanup obmc predictor and rd search." into nextgenv2

8 years agoRefactor codes about motion search
hui su [Wed, 6 Jul 2016 17:37:18 +0000 (10:37 -0700)]
Refactor codes about motion search

1. Add "best_mv" in MACROBLOCK to store the best motion vector
during motion search, so that we don't need to pass its pointer
to various motion search functions.

2. Declare some functions as static when possible.

3. Fix some indents.

Change-Id: I0778146c0866cbc55e245988c59222577ea8260e

8 years agoOptimize and cleanup obmc predictor and rd search.
Geza Lore [Fri, 8 Jul 2016 12:53:39 +0000 (13:53 +0100)]
Optimize and cleanup obmc predictor and rd search.

Use vpx_blend_a64_hmask and vpx_blend_a64_vmask to speed up
computing the obmc predictor. Clean up calc_target_weighted_pred.

Encoder speedup: 1.3%
Decoder speedup: 6.5%

Change-Id: I0c774fe53d22399e92a10d1daf3af0010d88d2c5

8 years agoAdd SSE4.1 vpx_obmc_variance* implementations and cosmetics
Geza Lore [Tue, 12 Jul 2016 10:41:54 +0000 (11:41 +0100)]
Add SSE4.1 vpx_obmc_variance* implementations and cosmetics

Speedup for these functions: 4x
Also include some cosmetic changes to SAD functions

Change-Id: I344c32c795492507ae08742f52d035a13f583799

8 years agoMerge "Clean up FunctionEquivalenceTest." into nextgenv2
Pascal Massimino [Wed, 13 Jul 2016 03:09:52 +0000 (03:09 +0000)]
Merge "Clean up FunctionEquivalenceTest." into nextgenv2

8 years agoClean up FunctionEquivalenceTest.
Geza Lore [Tue, 12 Jul 2016 14:26:36 +0000 (15:26 +0100)]
Clean up FunctionEquivalenceTest.

remove use of tuple in favor of struct.

Change-Id: If3b1aa5c2fc3cfe1446fff7a8fd270f2ca85fedf

8 years agoMerge "Fix for loop filter selection procedure" into nextgenv2
Aamir Anis [Tue, 12 Jul 2016 23:56:37 +0000 (23:56 +0000)]
Merge "Fix for loop filter selection procedure" into nextgenv2

8 years agoFix for loop filter selection procedure
Aamir Anis [Fri, 8 Jul 2016 21:36:36 +0000 (14:36 -0700)]
Fix for loop filter selection procedure

Fixed best error reported by loop filter selection, this value is used
during loop restoration to pick best mode. Baseline remains unchanged,
change in BDRate for loop restoration experiment:
-0.628 -> -0.625 for lowres,
-1.262 -> -1.283 for highres.

Change-Id: I69ef1608bc232b250ac46f59e31fdbed1a999dcd

8 years agoMerge "HBD convolution filtering (10/12 taps) SSE4.1 optimization" into nextgenv2
Yi Luo [Tue, 12 Jul 2016 19:28:48 +0000 (19:28 +0000)]
Merge "HBD convolution filtering (10/12 taps) SSE4.1 optimization" into nextgenv2

8 years agoHBD convolution filtering (10/12 taps) SSE4.1 optimization
Yi Luo [Fri, 8 Jul 2016 22:41:59 +0000 (15:41 -0700)]
HBD convolution filtering (10/12 taps) SSE4.1 optimization

- For experiment EXT_INTERP under high bit depth.
- Add unit test to verify bit-exact.
- Speed performance improvement:
  On Xeon E5-2680, park_joy_1080p_12.y4m, 50 frames, encoding time
  drops from 6682503 ms to 5390270 ms.

Change-Id: Iea4debf5414f3accf1eb5672abeab56a0539ac77

8 years agoCleanup obmc_sad function prototypes.
Geza Lore [Tue, 12 Jul 2016 12:20:04 +0000 (13:20 +0100)]
Cleanup obmc_sad function prototypes.

Name 'wsrc', 'mask' and 'pre' explicitly, rather than
using 'b', 'm' and 'a'.

Change-Id: Iaee6d1ac1211b0b05b47cf98b50570089b12d600

8 years agoMerge changes from topic 'missing-proto' into nextgenv2
James Zern [Tue, 12 Jul 2016 02:39:24 +0000 (02:39 +0000)]
Merge changes from topic 'missing-proto' into nextgenv2

* changes:
  vp10/encoder/rdopt.c: make a function static
  vp10/encoder/rd.c: make a function static
  vp10_convolve_ssse3.c: make some functions static
  vp10/encoder/bitstream.[hc]: correct a prototype
  vp10/common/idct.h: add some missing prototypes
  highbd_quantize_intrin_sse2.c: add missing rtcd include
  vp10: add some missing includes

8 years agoMerge "Cosmetics for vp10/common/vp10_rtcd_defs.pl" into nextgenv2
Yue Chen [Tue, 12 Jul 2016 01:21:32 +0000 (01:21 +0000)]
Merge "Cosmetics for vp10/common/vp10_rtcd_defs.pl" into nextgenv2

8 years agovp10/encoder/rdopt.c: make a function static
James Zern [Sat, 2 Jul 2016 00:50:06 +0000 (17:50 -0700)]
vp10/encoder/rdopt.c: make a function static

+ remove vp10_ prefix

quiets a -Wmissing-prototypes warning

BUG=b/29584271

Change-Id: I8821c38009b90296280f9b14233e73c92076e81f

8 years agovp10/encoder/rd.c: make a function static
James Zern [Sat, 2 Jul 2016 00:48:43 +0000 (17:48 -0700)]
vp10/encoder/rd.c: make a function static

+ remove vp10_ prefix

quiets a -Wmissing-prototypes warning

BUG=b/29584271

Change-Id: I6b5d71f8120a6d1fee4c782beb4c6d6eef980f65

8 years agovp10_convolve_ssse3.c: make some functions static
James Zern [Sat, 2 Jul 2016 00:43:20 +0000 (17:43 -0700)]
vp10_convolve_ssse3.c: make some functions static

quiets -Wmissing-prototypes warnings

BUG=b/29584271

Change-Id: I4d2eb7f4b45d7b829421976641b3212bcf29e7dd

8 years agovp10/encoder/bitstream.[hc]: correct a prototype
James Zern [Sat, 2 Jul 2016 00:47:11 +0000 (17:47 -0700)]
vp10/encoder/bitstream.[hc]: correct a prototype

quiets a -Wmissing-prototypes warning

BUG=b/29584271

Change-Id: I91aba2a75dccd6752bdf91837564c2aa45817c09

8 years agovp10/common/idct.h: add some missing prototypes
James Zern [Sat, 2 Jul 2016 00:38:47 +0000 (17:38 -0700)]
vp10/common/idct.h: add some missing prototypes

quiets the warning of the same name

BUG=b/29584271

Change-Id: I220cd58e1060f77e3910472fed1b167add3a08f8

8 years agohighbd_quantize_intrin_sse2.c: add missing rtcd include
James Zern [Sat, 2 Jul 2016 00:45:46 +0000 (17:45 -0700)]
highbd_quantize_intrin_sse2.c: add missing rtcd include

quiets -Wmissing-prototypes warnings

BUG=b/29584271

Change-Id: Iff5214df0d1781810afbfc20bfaf664f109e2f29

8 years agovp10: add some missing includes
James Zern [Sat, 2 Jul 2016 00:41:26 +0000 (17:41 -0700)]
vp10: add some missing includes

quiets some -Wmissing-prototypes warnings

BUG=b/29584271

Change-Id: I9174728459fcabb6d9ac0028ae58029e52c0da92

8 years agoCosmetics for vp10/common/vp10_rtcd_defs.pl
Yue Chen [Mon, 11 Jul 2016 21:23:08 +0000 (14:23 -0700)]
Cosmetics for vp10/common/vp10_rtcd_defs.pl

Change-Id: Iaf8c6f0b1e340f0406df2871a3dc2ded19b7009a

8 years agoMerge "Add a few branch hints to vp10_optimize_b." into nextgenv2
Debargha Mukherjee [Mon, 11 Jul 2016 22:30:33 +0000 (22:30 +0000)]
Merge "Add a few branch hints to vp10_optimize_b." into nextgenv2

8 years agoMerge "Optimize and cleanup supertx predictor." into nextgenv2
Debargha Mukherjee [Mon, 11 Jul 2016 22:30:16 +0000 (22:30 +0000)]
Merge "Optimize and cleanup supertx predictor." into nextgenv2

8 years agoMerge "Improve vpx_blend_* functions." into nextgenv2
Debargha Mukherjee [Mon, 11 Jul 2016 19:30:03 +0000 (19:30 +0000)]
Merge "Improve vpx_blend_* functions." into nextgenv2

8 years agoOptimize and cleanup supertx predictor.
Geza Lore [Fri, 8 Jul 2016 13:10:53 +0000 (14:10 +0100)]
Optimize and cleanup supertx predictor.

Use vpx_blend_a64_hmask and vpx_blend_a64_vmask to speed up
computing the supertx predictor.

Decoder speedup of up to 4% has been observed.

Change-Id: I255a5ba4cc24f78dc905d25b6e2f7fbafac13253

8 years agoImprove vpx_blend_* functions.
Geza Lore [Mon, 11 Jul 2016 11:43:47 +0000 (12:43 +0100)]
Improve vpx_blend_* functions.

- Made source buffers pointers to const.
- Renamed vpx_blend_mask6b to vpx_blend_a64_mask. This is more
  indicative that the function does alpha blending. The 6, or 6b
  suffix was misleading, as the max mask value (64) does not fit into
  6 bits.
- Added VPX_BLEND_* macros to use when needing to blend scalars.
- Use VPX_BLEND_A256 in combine_interintra to be more explicit about
  the operation being done.
- Added versions of vpx_blend_a64_* which take 1D horizontal/vertical
  masks directly and apply them to all rows/columns
  (vpx_blend_a64_hmask and vpx_blend_a64_vmask). The SSE4.1 optimzied
  horizontal version now falls back on the 2D version. This can be
  improved upon if it show up high enough in a profile.
- All vpx_blend_a64_* functions now support block sizes down to 1x1
  (ie: a single pixel). This is for usage convenience. The SSE4.1
  optimized versions fall back on the C implementation if
  w <= 2 or h <= 2. This can again be improved if it becomes hot code.

Change-Id: I13ab3835146ffafe3e1d74d8e9cf64a5abe4144d

8 years agoremove ROUNDZ_* macros in favor of just ROUND_* ones
Pascal Massimino [Mon, 11 Jul 2016 13:17:17 +0000 (06:17 -0700)]
remove ROUNDZ_* macros in favor of just ROUND_* ones

Change-Id: I263088be8d71018deb9cc6a9d2c66307770b824d

8 years agoMerge "Fix unused warning without ext-interp" into nextgenv2
Geza Lore [Mon, 11 Jul 2016 11:29:16 +0000 (11:29 +0000)]
Merge "Fix unused warning without ext-interp" into nextgenv2

8 years agoMerge "Refactor and clean up on blend_mask6" into nextgenv2
Debargha Mukherjee [Sat, 9 Jul 2016 06:50:32 +0000 (06:50 +0000)]
Merge "Refactor and clean up on blend_mask6" into nextgenv2

8 years agoMerge "Fix assertion failures in mips+msa setting" into nextgenv2
Yue Chen [Sat, 9 Jul 2016 01:07:26 +0000 (01:07 +0000)]
Merge "Fix assertion failures in mips+msa setting" into nextgenv2

8 years agoFix assertion failures in mips+msa setting
Yue Chen [Fri, 8 Jul 2016 23:47:19 +0000 (16:47 -0700)]
Fix assertion failures in mips+msa setting

Directly call c functions, otherwise when EXT_TX is enabled, hybrid
transform other than combination of DCT/ADST has not been implemented, thus
will cause assertion failures in the switch loops in vp10_fhtnxn_msa() and
vp10_ihtnxn_nxn_add_msa().

BUG=webm:1239

Change-Id: I2379a07e5406f9489edcd2f3205682f679c9b091

8 years agoMerge "Properly reset rate and distortion value for zero pred residual case" into...
Jingning Han [Fri, 8 Jul 2016 22:21:27 +0000 (22:21 +0000)]
Merge "Properly reset rate and distortion value for zero pred residual case" into nextgenv2

8 years agoRefactor and clean up on blend_mask6
Debargha Mukherjee [Fri, 8 Jul 2016 20:27:31 +0000 (13:27 -0700)]
Refactor and clean up on blend_mask6

Change-Id: Ie9188471e7dc07ab9c95b22f258b1662e895c533

8 years agoMerge "Integrate ext-interp into dual filter framework" into nextgenv2
Jingning Han [Fri, 8 Jul 2016 18:25:13 +0000 (18:25 +0000)]
Merge "Integrate ext-interp into dual filter framework" into nextgenv2

8 years agoAdd a few branch hints to vp10_optimize_b.
Geza Lore [Fri, 8 Jul 2016 18:16:05 +0000 (19:16 +0100)]
Add a few branch hints to vp10_optimize_b.

vp10_optimize_b now takes between 40% to 60% of the TOTAL runtime
of the encoder, depending on bit-rate. It also contains 2/3 to 3/4
of the mispredicted branch instructions in the whole program.

Adding a few branch hints makes vp10_optimize_b around 2-5% faster
(dependig on bit-rate) when compiled with gcc/clang.

Change-Id: I1572733e18b4166bc10591b958c5018a9561fa2b

8 years agoMerge "Make new_quant bin widths to be uniform" into nextgenv2
Sarah Parker [Fri, 8 Jul 2016 17:40:54 +0000 (17:40 +0000)]
Merge "Make new_quant bin widths to be uniform" into nextgenv2

8 years agoIntegrate ext-interp into dual filter framework
Jingning Han [Tue, 10 May 2016 16:56:20 +0000 (09:56 -0700)]
Integrate ext-interp into dual filter framework

The combination of the two experiments improves the compression
performance gains:

lowres 2.5%
midres 2.1%

Change-Id: Id26c0a9474ce08893aa1d946365c7ff850fab57a

8 years agoProperly reset rate and distortion value for zero pred residual case
Jingning Han [Fri, 8 Jul 2016 05:41:56 +0000 (22:41 -0700)]
Properly reset rate and distortion value for zero pred residual case

When the prediction residuals are all zero, reset the coeff rate
cost and the distortion value to be zero. This change doesn't affect
lowres set significantly, but improves several clips in the midres
set, like sintel_480p and mobisode2_480p, by a few percents. The
average performance for midres set is improved by 0.2%.

Change-Id: Idd5ebf2652e556a1b1c569fe3c48dacef3f11c32

8 years agoFix unused warning without ext-interp
Geza Lore [Fri, 8 Jul 2016 14:48:02 +0000 (15:48 +0100)]
Fix unused warning without ext-interp

Change-Id: Ibb63c492eb8278d115262b8fc3cbc761c406b107

8 years agoMerge "Fix ioc in trellis optimization with hbd" into nextgenv2
Jingning Han [Fri, 8 Jul 2016 01:11:17 +0000 (01:11 +0000)]
Merge "Fix ioc in trellis optimization with hbd" into nextgenv2

8 years agoMake new_quant bin widths to be uniform
Sarah Parker [Thu, 7 Jul 2016 23:22:32 +0000 (16:22 -0700)]
Make new_quant bin widths to be uniform

Change-Id: Iceeca8ecbc43919b43189352a307479d666d1dad

8 years agoMerge "RD costing fix in loop-restoration expt" into nextgenv2
Debargha Mukherjee [Thu, 7 Jul 2016 22:47:57 +0000 (22:47 +0000)]
Merge "RD costing fix in loop-restoration expt" into nextgenv2

8 years agoMerge "Remove redundant code in new_quant" into nextgenv2
Debargha Mukherjee [Thu, 7 Jul 2016 21:55:38 +0000 (21:55 +0000)]
Merge "Remove redundant code in new_quant" into nextgenv2

8 years agoMerge "Clean up build_wedge_inter_predictor_from_buf" into nextgenv2
Debargha Mukherjee [Thu, 7 Jul 2016 20:05:12 +0000 (20:05 +0000)]
Merge "Clean up build_wedge_inter_predictor_from_buf" into nextgenv2

8 years agoRD costing fix in loop-restoration expt
Debargha Mukherjee [Thu, 7 Jul 2016 19:54:54 +0000 (12:54 -0700)]
RD costing fix in loop-restoration expt

Change-Id: I8dbc1002f5d6bf8f2409db8c6be4346f1df0590c

8 years agoFix ioc in trellis optimization with hbd
Jingning Han [Thu, 7 Jul 2016 18:59:22 +0000 (11:59 -0700)]
Fix ioc in trellis optimization with hbd

Use int64_t type for distortion. This avoids integer overflow
issues in the trellis optimization function in high bit-depth
settings.

Change-Id: I550c3ca9f11a3191ef8638a152887018cd476141

8 years agoRemove redundant code in new_quant
Debargha Mukherjee [Thu, 7 Jul 2016 18:55:20 +0000 (11:55 -0700)]
Remove redundant code in new_quant

Change-Id: Ie2534c7c0cc3fc59e7389b55cb066f2b347d846e

8 years agoRemove various testing utilities.
Geza Lore [Wed, 6 Jul 2016 14:54:29 +0000 (15:54 +0100)]
Remove various testing utilities.

test/assertion_helpers.h
test/randomise.{cc,h}
test/snapshot.h

Modfiy blend_mask6_test.cc not to rely on these.

Change-Id: I88b8933fe0a729a606797e5cd421795a544c612d

8 years agoClean up build_wedge_inter_predictor_from_buf
Geza Lore [Thu, 7 Jul 2016 12:12:24 +0000 (13:12 +0100)]
Clean up build_wedge_inter_predictor_from_buf

Change-Id: I715f8ffa3e81056a74ca8ac94793009afb781221

8 years agoMerge "Reinstate tests for wedge partition selection optimizations." into nextgenv2
Debargha Mukherjee [Thu, 7 Jul 2016 05:55:06 +0000 (05:55 +0000)]
Merge "Reinstate tests for wedge partition selection optimizations." into nextgenv2

8 years agoMerge "Add tests for vpx_sum_squares_i16." into nextgenv2
Debargha Mukherjee [Thu, 7 Jul 2016 05:54:45 +0000 (05:54 +0000)]
Merge "Add tests for vpx_sum_squares_i16." into nextgenv2

8 years agoMerge "Add SSE4.1 vpx_obmc_sad* implementations." into nextgenv2
Yue Chen [Thu, 7 Jul 2016 01:12:19 +0000 (01:12 +0000)]
Merge "Add SSE4.1 vpx_obmc_sad* implementations." into nextgenv2

8 years agoMerge changes I9433d858,Iafd05637,If08ce6ca into nextgenv2
James Zern [Wed, 6 Jul 2016 23:25:34 +0000 (23:25 +0000)]
Merge changes I9433d858,Iafd05637,If08ce6ca into nextgenv2

* changes:
  tests: remove redundant round() definition
  remove visual studio < 2010 workarounds
  configure: remove old visual studio support (<2010)

8 years agoMerge "Refactoring in preparation for OBMC optimizations." into nextgenv2
Yue Chen [Wed, 6 Jul 2016 22:44:27 +0000 (22:44 +0000)]
Merge "Refactoring in preparation for OBMC optimizations." into nextgenv2

8 years agoAdd SSE4.1 vpx_obmc_sad* implementations.
Geza Lore [Tue, 5 Jul 2016 12:36:25 +0000 (13:36 +0100)]
Add SSE4.1 vpx_obmc_sad* implementations.

Speedup for these functions: 4x

Change-Id: I21baa04f53c6ab308ea3edf3ebacc62970e97454

8 years agomcomp.c: rename variables and remove unnecessary codes
hui su [Wed, 29 Jun 2016 22:16:31 +0000 (15:16 -0700)]
mcomp.c: rename variables and remove unnecessary codes

Change-Id: I4ad4061875fa1c8f3801efbcdcb0da47e7c032a5

8 years agoAdd tests for vpx_sum_squares_i16.
Geza Lore [Tue, 21 Jun 2016 19:23:13 +0000 (20:23 +0100)]
Add tests for vpx_sum_squares_i16.

Change-Id: I529c34d5bfa85719cb6499a9a3c9d907eccccd56

8 years agoReinstate tests for wedge partition selection optimizations.
Geza Lore [Tue, 21 Jun 2016 19:29:21 +0000 (20:29 +0100)]
Reinstate tests for wedge partition selection optimizations.

This reinstates the tests from commit
efda2831e5f758b4f350679b5c55c0b9282449b0 with the appropriate
fixes for 32 bit x86 builds.

Change-Id: Ib331906c5b448ca964895ee9cbfd4266f67d1089

8 years agoRefactoring in preparation for OBMC optimizations.
Geza Lore [Mon, 4 Jul 2016 10:47:19 +0000 (11:47 +0100)]
Refactoring in preparation for OBMC optimizations.

- Use int32_t instead of int in vpx_obmc{variance,sad} functions
- Remove weigthed_src and obmc mask strides and assume contiguous
  buffers. These inputs can always be packed as contiguous arrays.

Change-Id: I74c09b3fb3337f13d39e13a9cb61e140536f345d

8 years agoRemove reference frame buffer update for show_exsiting_frame
Wei-ting Lin [Thu, 30 Jun 2016 20:33:55 +0000 (13:33 -0700)]
Remove reference frame buffer update for show_exsiting_frame

Originally we need to send the refresh flag and the virtual indices
mapping for the reference frame buffer update for show_existing_frame to
have the BWDREF_FRAME replace the LAST_FRAME.

To remove sending this information, we update the the virtual indices
of the reference frame buffer after the last_bipred_frame is encoded,
and therefore the decoder will receive the updated reference mapping
at the next non-show-existing frame.

As a result, we can save 4 bytes per show-existing frame, and get 0.12,
0.2, and 0.07 BDRATE improvement in lowres, derf, and midref test set
respectively.

Change-Id: I63d41ee6ea99884798f0778b789d2701e2f2d3e0

8 years agoMinor cleanup of inter mode search.
Geza Lore [Fri, 1 Jul 2016 08:00:05 +0000 (09:00 +0100)]
Minor cleanup of inter mode search.

Change-Id: I523a3b30eb80fc6c6ed83638fdb82cf65c22b2e5

8 years agoMerge "Reject ext-inter compound modes based on modelled RD." into nextgenv2
Debargha Mukherjee [Thu, 30 Jun 2016 18:18:53 +0000 (18:18 +0000)]
Merge "Reject ext-inter compound modes based on modelled RD." into nextgenv2

8 years agoMerge "Remove unused BITDEPTH_10 definition" into nextgenv2
Jingning Han [Thu, 30 Jun 2016 16:26:24 +0000 (16:26 +0000)]
Merge "Remove unused BITDEPTH_10 definition" into nextgenv2

8 years agoMerge "Fix shift value in dist_block with hbd" into nextgenv2
Jingning Han [Thu, 30 Jun 2016 16:26:18 +0000 (16:26 +0000)]
Merge "Fix shift value in dist_block with hbd" into nextgenv2

8 years agoMerge "Various cosmetics on the new_quant experiment" into nextgenv2
Debargha Mukherjee [Thu, 30 Jun 2016 16:03:49 +0000 (16:03 +0000)]
Merge "Various cosmetics on the new_quant experiment" into nextgenv2

8 years agoReject ext-inter compound modes based on modelled RD.
Geza Lore [Tue, 28 Jun 2016 11:59:19 +0000 (12:59 +0100)]
Reject ext-inter compound modes based on modelled RD.

Reject ext-inter compound modes before doing full rate distortion
evaluation, if the corresponding single reference modes had a lower
modelled RD.

ext-inter speedup up to TBD.

Coding performance: TBD

Change-Id: I358bfb879c5ebe5e7afbf6f540cc784f8de14857

8 years agotests: remove redundant round() definition
James Zern [Tue, 28 Jun 2016 03:43:04 +0000 (20:43 -0700)]
tests: remove redundant round() definition

use vpx_ports/msvc.h for compatibility

BUG=b/29583530

Change-Id: I9433d8586cd0b790e7f4d697304298feafe801f1
(cherry picked from commit 0a64929f19cc1ce89f993aa5c9d61a29679eb961)

8 years agoremove visual studio < 2010 workarounds
James Zern [Tue, 28 Jun 2016 03:29:01 +0000 (20:29 -0700)]
remove visual studio < 2010 workarounds

BUG=b/29583530

Change-Id: Iafd05637eb65f4da54a9c857e79204a77646858a
(cherry picked from commit c125f4a594815ad63b50e4b684ada4b44c545932)

8 years agoconfigure: remove old visual studio support (<2010)
James Zern [Tue, 28 Jun 2016 03:08:12 +0000 (20:08 -0700)]
configure: remove old visual studio support (<2010)

BUG=b/29583530

Change-Id: If08ce6ca352f377ac4db6b9b1909b507bba6d872
(cherry picked from commit 078dff72ca7bff079cb3c56d98c588c6ea6d2814)
(cherry picked from commit 046226376533b610ddc700f14409f195aa6abd51)

8 years agoRemove unused BITDEPTH_10 definition
Jingning Han [Wed, 29 Jun 2016 23:43:22 +0000 (16:43 -0700)]
Remove unused BITDEPTH_10 definition

Change-Id: Ic11f32db352e1ff7b3ed140654ee1a6016ba516f

8 years agoFix shift value in dist_block with hbd
Jingning Han [Wed, 29 Jun 2016 23:40:47 +0000 (16:40 -0700)]
Fix shift value in dist_block with hbd

This offset value related to the bit depth has been taken care of
inside the function vp10_highbd_block_error.

Change-Id: I58dd8a53380ba4529d59837e56a951bc81a2962e

8 years agoRemove use_quant_fp speed feature
Debargha Mukherjee [Wed, 29 Jun 2016 18:59:27 +0000 (11:59 -0700)]
Remove use_quant_fp speed feature

Change-Id: I22f1299545d4c75d80e72d479be66f66ea142ef1

8 years agoVarious cosmetics on the new_quant experiment
Debargha Mukherjee [Wed, 29 Jun 2016 20:18:52 +0000 (13:18 -0700)]
Various cosmetics on the new_quant experiment

Also extends quant profiles to include quality range.

Change-Id: Ia96e45b6425e1d42ca61fc401f63d4fd7214e448

8 years agoMerge "Remove skip_txfm optimization." into nextgenv2
Debargha Mukherjee [Wed, 29 Jun 2016 17:52:39 +0000 (17:52 +0000)]
Merge "Remove skip_txfm optimization." into nextgenv2

8 years agoMerge "Fix compiler warnings in yv12extend.c" into nextgenv2
Sarah Parker [Wed, 29 Jun 2016 03:29:12 +0000 (03:29 +0000)]
Merge "Fix compiler warnings in yv12extend.c" into nextgenv2

8 years agoMerge "Fix compiler warnings in vp10_convolve_optimz_test.cc" into nextgenv2
Sarah Parker [Wed, 29 Jun 2016 02:03:10 +0000 (02:03 +0000)]
Merge "Fix compiler warnings in vp10_convolve_optimz_test.cc" into nextgenv2

8 years agoFix compiler warnings in yv12extend.c
Sarah Parker [Wed, 29 Jun 2016 00:23:16 +0000 (17:23 -0700)]
Fix compiler warnings in yv12extend.c

Change-Id: I1f6f5b8861c4081b1f4b85c531c5d7ef0cb67bab

8 years agoFix compiler warnings in vp10_convolve_optimz_test.cc
Sarah Parker [Wed, 29 Jun 2016 00:13:03 +0000 (17:13 -0700)]
Fix compiler warnings in vp10_convolve_optimz_test.cc

Change-Id: I11b717e1652dff440a54f6977527d544b0c5ed29

8 years agoethread_test: Remove vp10 as test parameter.
Alex Converse [Tue, 28 Jun 2016 21:21:13 +0000 (14:21 -0700)]
ethread_test: Remove vp10 as test parameter.

Change-Id: I043418cde5a2562520ff37cdf81436abc2c9821a

8 years agoRemove skip_txfm optimization.
Geza Lore [Mon, 27 Jun 2016 12:54:30 +0000 (13:54 +0100)]
Remove skip_txfm optimization.

Commit 0d6980d7a1caa592058f8d5d618b012c160772f7 removed some use
of the skip_txfm optimization, and the rest are not productive.

The current use of this optimization is only used with --good
and --cpu-used >= 3, however the overhead of this is higher than the
speedup it yields.

Removing this, and subsequently simplifying model_rd_for_sb yields
a net encoder speedup:
--cpu-used=0    ~1.5% faster
--cpu-used=3    ~2.0% faster

The code simplification is also significant.

Change-Id: I1dd668c32de15a2e912c59c42379d0f9e1032ff8