platform/upstream/libvpx.git
9 years agoRemove BUILD_LIBVPX_SO variable from the build system.
Tom Finegan [Thu, 14 May 2015 18:20:34 +0000 (11:20 -0700)]
Remove BUILD_LIBVPX_SO variable from the build system.

Was just an additional layer of indirection for CONFIG_SHARED, so
use CONFIG_SHARED directly.

Change-Id: I7c022b9f926a63c2c5884def5f03dfd648329afc

9 years agoRemove the BUILD_LIBVPX variable from the build system.
Tom Finegan [Thu, 14 May 2015 17:46:44 +0000 (10:46 -0700)]
Remove the BUILD_LIBVPX variable from the build system.

Replace it with it's value (yes), which is constant.

Change-Id: Ifb0c0408a53ecadf81156da6a64fa583b2ada746

9 years agoAvoid failed include when Makefile is processed with no target.
Tom Finegan [Wed, 13 May 2015 18:16:09 +0000 (11:16 -0700)]
Avoid failed include when Makefile is processed with no target.

Basically just a warning, but disconcerting nonetheless. Removes this
output from the build:
Makefile:59: -x86_64-darwin13-gcc.mk: No such file or directory

Change-Id: Ibb379506352b2f613ef4a7b1ac47e9c95d0d1580

9 years agoMerge "Remove claims of universal target support from the build system."
Tom Finegan [Wed, 13 May 2015 17:05:45 +0000 (17:05 +0000)]
Merge "Remove claims of universal target support from the build system."

9 years agoMerge "mips msa vp9 idct 8x8 optimization"
Parag Salasakar [Wed, 13 May 2015 04:36:32 +0000 (04:36 +0000)]
Merge "mips msa vp9 idct 8x8 optimization"

9 years agoRemove claims of universal target support from the build system.
Tom Finegan [Tue, 12 May 2015 22:33:40 +0000 (15:33 -0700)]
Remove claims of universal target support from the build system.

These targets no longer build (PPC support was removed from
libvpx). Remove the dead code and misleading help output.

BUG=https://code.google.com/p/webm/issues/detail?id=997

Change-Id: Ib35614806adeae970f3821da0d8dbcc54ab8d868

9 years agoMerge "Remove unneeded variable declaration"
Yunqing Wang [Tue, 12 May 2015 23:33:30 +0000 (23:33 +0000)]
Merge "Remove unneeded variable declaration"

9 years agoMerge "Protect new metric computation with use_highbitdepth flag"
Yaowu Xu [Tue, 12 May 2015 23:20:35 +0000 (23:20 +0000)]
Merge "Protect new metric computation with use_highbitdepth flag"

9 years agoProtect new metric computation with use_highbitdepth flag
Yaowu Xu [Tue, 12 May 2015 22:02:43 +0000 (15:02 -0700)]
Protect new metric computation with use_highbitdepth flag

The computation of new metrics is not supported yet in highbitdepth
mode. This commit adds protection to make sure the computation is
done only when highbitdepth is not on. This protection shall be
revised when support of highbitdpeth computation is added.

This resolves the encoder crash when configured with both
--enable-internal-stats
--enable-vp9-highbitdepth

Change-Id: Id9f4bcc4fa26d9ca0e9eabade83f3f88a5b212e6

9 years agoRemove unneeded variable declaration
Yunqing Wang [Tue, 12 May 2015 21:36:46 +0000 (14:36 -0700)]
Remove unneeded variable declaration

This patch fixed the following warning:
src\third_party\libvpx\source\libvpx\vp9\encoder\vp9_pickmode.c(1607) :
warning C6246: Local declaration of 'this_mode' hides declaration of the
same name in outer scope.

Change-Id: I1d93c4a47a13cb13089fec5bd61e8b58e6cd8d58

9 years agoMerge "libs.mk: simplify test_libvpx target"
James Zern [Tue, 12 May 2015 21:10:42 +0000 (21:10 +0000)]
Merge "libs.mk: simplify test_libvpx target"

9 years agoMerge changes from topic 'missing-proto'
James Zern [Tue, 12 May 2015 19:02:05 +0000 (19:02 +0000)]
Merge changes from topic 'missing-proto'

* changes:
  vpxenc: make some functions static
  vpxdec: make some functions static
  tools_common.h: fix get_vpx_decoder_count() proto
  tools_common.h: fix get_vpx_encoder_count() proto
  tools_common.h: fix usage_exit() prototype

9 years agoMerge "Remove reference to compatibility layer"
Johann [Tue, 12 May 2015 18:44:24 +0000 (18:44 +0000)]
Merge "Remove reference to compatibility layer"

9 years agoMerge "Recompute tile params on frame resize"
Adrian Grange [Tue, 12 May 2015 17:48:14 +0000 (17:48 +0000)]
Merge "Recompute tile params on frame resize"

9 years agoRemove reference to compatibility layer
Johann [Tue, 12 May 2015 17:40:13 +0000 (10:40 -0700)]
Remove reference to compatibility layer

The compatibility layer was removed before the 1.4.0 release.

Change-Id: I268513ee9b3a2640ec33c4a25a5c5614fee7b3b2

9 years agovpxenc: make some functions static
James Zern [Sat, 9 May 2015 17:42:58 +0000 (10:42 -0700)]
vpxenc: make some functions static

silences missing-prototype warnings

Change-Id: I641a61b21f9de135e59e3769a2063d5a94f34746

9 years agovpxdec: make some functions static
James Zern [Sat, 9 May 2015 17:42:31 +0000 (10:42 -0700)]
vpxdec: make some functions static

silences missing-prototype warnings

Change-Id: I080d2a24eeb6faa8c160683cc1fbf30d3b0b49e5

9 years agotools_common.h: fix get_vpx_decoder_count() proto
James Zern [Sat, 9 May 2015 17:41:54 +0000 (10:41 -0700)]
tools_common.h: fix get_vpx_decoder_count() proto

silences a missing-prototype warning

Change-Id: I99f8b4a9b7df836208e93170159733c5b5c2d881

9 years agotools_common.h: fix get_vpx_encoder_count() proto
James Zern [Sat, 9 May 2015 17:40:51 +0000 (10:40 -0700)]
tools_common.h: fix get_vpx_encoder_count() proto

silences a missing-prototype warning

Change-Id: Icf5c7f1f3e8ae9792276068fb3c0fd04b40fc7ad

9 years agotools_common.h: fix usage_exit() prototype
James Zern [Sat, 9 May 2015 17:33:26 +0000 (10:33 -0700)]
tools_common.h: fix usage_exit() prototype

+ the definitions in the examples

silences a missing-prototype warning

Change-Id: I7c064cacd6d2073a6107de6c3e2cc46ef8a68411

9 years agolibs.mk: simplify test_libvpx target
James Zern [Tue, 12 May 2015 02:04:48 +0000 (19:04 -0700)]
libs.mk: simplify test_libvpx target

rename LIBVPX_TEST_BINS to LIBVPX_TEST_BIN and remove foreach usage.
this was a leftover from having multiple targets with their own (single)
object list; the use of LIBVPX_TEST_OBJS so widely makes extending these
loops difficult.

Change-Id: I61bda1b91acb43145609f04b8fe6e45ec4483e22

9 years agoMerge "build_intra_predictors*: reduce above_data size"
James Zern [Mon, 11 May 2015 23:48:58 +0000 (23:48 +0000)]
Merge "build_intra_predictors*: reduce above_data size"

9 years agoMerge "Reduce border extension by 1 line"
Adrian Grange [Mon, 11 May 2015 22:47:48 +0000 (22:47 +0000)]
Merge "Reduce border extension by 1 line"

9 years agoRecompute tile params on frame resize
Adrian Grange [Mon, 11 May 2015 22:45:26 +0000 (15:45 -0700)]
Recompute tile params on frame resize

When the frame size changes we must recompute details
of the tile dimensions.

Change-Id: Ie519bd6da47b5cd43933c0bcfc0f2429bcb01986

9 years agoMerge "Sort variables dependency in read_uncompressed_header"
Jingning Han [Mon, 11 May 2015 19:11:55 +0000 (19:11 +0000)]
Merge "Sort variables dependency in read_uncompressed_header"

9 years agoSort variables dependency in read_uncompressed_header
Jingning Han [Mon, 11 May 2015 17:05:58 +0000 (10:05 -0700)]
Sort variables dependency in read_uncompressed_header

Remove a few repeated data structure reads from
read_uncompressed_header.

Change-Id: I6eb741b39f9415ad0aa4631dfbf4a1ace4eba56a

9 years agoFix rate control issue with layers and aq-mode=3.
Marco [Mon, 11 May 2015 16:38:02 +0000 (09:38 -0700)]
Fix rate control issue with layers and aq-mode=3.

When aq-mode=3 is enabled, only for base layer frames should the
qp of the frame incorporate the segment delta-qp.

This was causing more rate mismatch for the enhancement layer frames
when running temporal layers with aq-mode=3 on.

Change-Id: I1c5e69d1ef8a51188af8696753c17fd8f67699b3

9 years agoMerge "Skip the last frame update for some frame repeats."
paulwilkins [Mon, 11 May 2015 12:28:44 +0000 (12:28 +0000)]
Merge "Skip the last frame update for some frame repeats."

9 years agobuild_intra_predictors*: reduce above_data size
James Zern [Sat, 9 May 2015 03:17:20 +0000 (20:17 -0700)]
build_intra_predictors*: reduce above_data size

currently this needs to be 2x (NEED_ABOVERIGHT) the size of the largest
block (32) + 1 (for above_left). reduce the buffer size from 128 + 16
(alignment) to 64 + 16.

Change-Id: Idaca1806c7e1214e9437de24e15edc2ebf18f95d

9 years agoMerge "build_intra_predictors*: reduce left_col size"
James Zern [Sat, 9 May 2015 00:53:54 +0000 (00:53 +0000)]
Merge "build_intra_predictors*: reduce left_col size"

9 years agoFix clang ioc warning due to NULL mi pointer.
hkuang [Fri, 8 May 2015 22:42:50 +0000 (15:42 -0700)]
Fix clang ioc warning due to NULL mi pointer.

The warning only happens in VP9 encoder's first pass due to src_mi
is not set up yet. But it will not fail the encoder as left_mi and
above_mi are not used in the first_pass and they will be set up again
in the second pass.

Change-Id: I0713b4660d71e229e196654cb0970ba6b1574f28

9 years agoMerge "Fix ndk build."
Johann Koenig [Fri, 8 May 2015 18:56:20 +0000 (18:56 +0000)]
Merge "Fix ndk build."

9 years agoMerge "Add more sse2 code for intra prediction."
hkuang [Fri, 8 May 2015 17:26:29 +0000 (17:26 +0000)]
Merge "Add more sse2 code for intra prediction."

9 years agoSkip the last frame update for some frame repeats.
paulwilkins [Fri, 1 May 2015 15:04:52 +0000 (16:04 +0100)]
Skip the last frame update for some frame repeats.

Where a frame appears to be a repeat of an earlier
frame or frame buffer,  but the first pass code
does not anticipate this (usually because it is matching
the GF or ARF buffer not the last frame buffer), do not
update the last frame buffer.

This helps ensure that the content of the last frame buffer
is kept "different" where possible, and not updated to
match the GF or ARF. This is particularly helpful in some
animated sequences where there are groups of repeating
frames. Here it has quite a big impact. However, in most
of our standard test clips it has little or no impact.

Change-Id: I77332ee1a69f9ffc0c6080bfeb811c43fd8828e6

9 years agomips msa vp9 idct 8x8 optimization
Parag Salasakar [Fri, 8 May 2015 06:53:27 +0000 (12:23 +0530)]
mips msa vp9 idct 8x8 optimization

average improvement ~4x-6x

Change-Id: I5edf713721b9e24c7e0ce2e69d8fc3ecab625d91

9 years agoMerge "mips msa vp9 idct 32x32 optimization"
Parag Salasakar [Fri, 8 May 2015 04:27:43 +0000 (04:27 +0000)]
Merge "mips msa vp9 idct 32x32 optimization"

9 years agoFix ndk build.
Frank Galligan [Fri, 8 May 2015 01:22:29 +0000 (18:22 -0700)]
Fix ndk build.

Android.mk should depend on vpx_dsp_rtcd.h

Change-Id: Ib614af195a9574fd849c28b695f9f4b3b2bd125c

9 years agoMerge "Remove only remaining uses of 'fast_unaligned'"
Johann [Thu, 7 May 2015 23:32:17 +0000 (23:32 +0000)]
Merge "Remove only remaining uses of 'fast_unaligned'"

9 years agobuild_intra_predictors*: reduce left_col size
James Zern [Thu, 7 May 2015 23:16:42 +0000 (16:16 -0700)]
build_intra_predictors*: reduce left_col size

this should only need to be the size of the largest block, i.e., 32, not
64.

Change-Id: Ib8cb2424771fdd2a64c55379597248b2722a5ceb

9 years agoRemove only remaining uses of 'fast_unaligned'
Johann [Thu, 7 May 2015 21:26:25 +0000 (14:26 -0700)]
Remove only remaining uses of 'fast_unaligned'

Use memcpy instead of casting.

Change-Id: Ieca725cc628883985bde23c7d742af8781c5dbb5

9 years agoreplace DECLARE_ALIGNED_ARRAY w/DECLARE_ALIGNED
James Zern [Sat, 2 May 2015 20:24:16 +0000 (13:24 -0700)]
replace DECLARE_ALIGNED_ARRAY w/DECLARE_ALIGNED

this macro was used inconsistently and only differs in behavior from
DECLARE_ALIGNED when an alignment attribute is unavailable. this macro
is used with calls to assembly, while generic c-code doesn't rely on it,
so in a c-only build without an alignment attribute the code will
function as expected.

Change-Id: Ie9d06d4028c0de17c63b3a27e6c1b0491cc4ea79

9 years agoMerge "Move shared SAD code to vpx_dsp"
Johann [Thu, 7 May 2015 18:33:05 +0000 (18:33 +0000)]
Merge "Move shared SAD code to vpx_dsp"

9 years agoMerge "Remove an unnecessary check."
hkuang [Thu, 7 May 2015 15:51:10 +0000 (15:51 +0000)]
Merge "Remove an unnecessary check."

9 years agoMerge "Remvoe EIGHTTAP_SHARP filter check for non-rd mode."
Marco [Thu, 7 May 2015 15:40:10 +0000 (15:40 +0000)]
Merge "Remvoe EIGHTTAP_SHARP filter check for non-rd mode."

9 years agoMerge "Image size restriction to rd auto partition search."
paulwilkins [Thu, 7 May 2015 14:12:13 +0000 (14:12 +0000)]
Merge "Image size restriction to rd auto partition search."

9 years agomips msa vp9 idct 32x32 optimization
Parag Salasakar [Wed, 6 May 2015 07:07:38 +0000 (12:37 +0530)]
mips msa vp9 idct 32x32 optimization

average improvement ~4x-6x

Change-Id: Idaba7e49fbd7f388caee0d73773ccf6e4807ef17

9 years agoAdd more sse2 code for intra prediction.
hkuang [Tue, 5 May 2015 22:21:28 +0000 (15:21 -0700)]
Add more sse2 code for intra prediction.

vp9_dc_left_predictor_16x16
vp9_dc_top_predictor_32x32
vp9_dc_left_predictor_32x32
vp9_dc_128_predictor_32x32

Change-Id: Ib9861deefd01c3527235b92ff6b3d571ef6b4bc6

9 years agoRemvoe EIGHTTAP_SHARP filter check for non-rd mode.
Marco [Mon, 4 May 2015 23:54:12 +0000 (16:54 -0700)]
Remvoe EIGHTTAP_SHARP filter check for non-rd mode.

Using EIGHTTAP and EIGHTTAP_SMOOTH seem sufficient.
Hard to see any visual gain from allowing EIGHTTAP_SHARP, and it is
rarely selected.

PSNR/SSIM metrics go up by ~0.18/0.14%.

Change-Id: I96fa0d98f9321b913e3ebcd464d4ff3c63018791

9 years agoMove shared SAD code to vpx_dsp
Johann [Fri, 17 Apr 2015 20:11:38 +0000 (16:11 -0400)]
Move shared SAD code to vpx_dsp

Create a new component, vpx_dsp, for code that can be shared
between codecs. Move the SAD code into the component.

This reduces the size of vpxenc/dec by 36k on x86_64 builds.

Change-Id: I73f837ddaecac6b350bf757af0cfe19c4ab9327a

9 years agoReduce border extension by 1 line
Adrian Grange [Wed, 6 May 2015 21:44:24 +0000 (14:44 -0700)]
Reduce border extension by 1 line

The code was using one row too many.

Change-Id: Ie0c05d02c22ae3d0d13d3b6565c40de3bc4fa17a

9 years agoRemove an unnecessary check.
hkuang [Wed, 6 May 2015 21:15:00 +0000 (14:15 -0700)]
Remove an unnecessary check.

Change-Id: Id0f224ac4667dd173363b0f05711678448291d4e

9 years agoCorrect the inter prediction coordinate calculation which greatly reduced the
hkuang [Wed, 6 May 2015 17:55:56 +0000 (10:55 -0700)]
Correct the inter prediction coordinate calculation which greatly reduced the
times of border extension.

Change-Id: I8e5bd590cc696ee71cfe1f4cc66c12fb24aaf44e

9 years agoMerge "Optimize the read_partition."
hkuang [Wed, 6 May 2015 17:29:51 +0000 (17:29 +0000)]
Merge "Optimize the read_partition."

9 years agoMerge "Add intra mode early termination in non-rd mode"
Yunqing Wang [Wed, 6 May 2015 17:12:10 +0000 (17:12 +0000)]
Merge "Add intra mode early termination in non-rd mode"

9 years agoMerge "mips msa vp9 idct 16x16 optimization"
Parag Salasakar [Wed, 6 May 2015 06:40:54 +0000 (06:40 +0000)]
Merge "mips msa vp9 idct 16x16 optimization"

9 years agoAdd intra mode early termination in non-rd mode
Yunqing Wang [Fri, 1 May 2015 20:20:50 +0000 (13:20 -0700)]
Add intra mode early termination in non-rd mode

Added the intra mode early termination in order to
speed up the mode search in non-rd case since we
started to include more intra modes in the search
list. Borg tests(rtc set) showed a 0.048% PSNR gain
and 0.061 SSIM gain. No speed change.

Change-Id: I6f255fe534dc50b736e6a66a726ad458eb9b4443

9 years agoOptimize the read_partition.
hkuang [Fri, 1 May 2015 19:35:08 +0000 (12:35 -0700)]
Optimize the read_partition.

Change-Id: I5a796425ce5706824a2fc17c6f24f983c5b9e43b

9 years agofix and enable vp9_dc_128_predictor_16x16
James Zern [Tue, 5 May 2015 18:40:13 +0000 (11:40 -0700)]
fix and enable vp9_dc_128_predictor_16x16

widen the loads and stores to 128-bit.

this was added, but not enabled in:
493a857 Add some sse2 code for intra prediction.

Change-Id: I277d7db608a7db7d75cc0bde86f48fa66ad487e4

9 years agoMerge "Add some sse2 code for intra prediction."
hkuang [Tue, 5 May 2015 17:11:06 +0000 (17:11 +0000)]
Merge "Add some sse2 code for intra prediction."

9 years agoMerge "Remove CONSTRAIN_NEIGHBORING_MIN_MAX."
paulwilkins [Tue, 5 May 2015 09:32:09 +0000 (09:32 +0000)]
Merge "Remove CONSTRAIN_NEIGHBORING_MIN_MAX."

9 years agoMerge "Adjust ARF min and max interval."
paulwilkins [Tue, 5 May 2015 09:31:37 +0000 (09:31 +0000)]
Merge "Adjust ARF min and max interval."

9 years agomips msa vp9 idct 16x16 optimization
Parag Salasakar [Mon, 4 May 2015 08:15:55 +0000 (13:45 +0530)]
mips msa vp9 idct 16x16 optimization

average improvement ~4x-6x

Change-Id: I55e95b7f2ba403dff11813958dc7c73a900dd022

9 years agoAllow for H and V intra modes for non-rd mode.
Marco [Thu, 30 Apr 2015 18:39:02 +0000 (11:39 -0700)]
Allow for H and V intra modes for non-rd mode.

For non-rd mode (speed >=5): use mask based on prediction block size, and
(for non-screen content mode) allow for checking horiz and vert intra modes
for blocks sizes < 16x16.

Avg psnr/ssim metrics go up by about ~0.2%.

Only allowing H/V intra on block sizes below 16x16 for now, to keep
encoding time increase very small, and also when allowing H/V on 16x16 blocks,
metrics went down on a few clips which need to be further examined.

Change-Id: I8ae0bc8cb2a964f9709612c76c5661acaab1381e

9 years agovp9_idct_intrin_sse2: cosmetics: reindent
James Zern [Fri, 1 May 2015 22:52:23 +0000 (15:52 -0700)]
vp9_idct_intrin_sse2: cosmetics: reindent

+ fix some whitespace

Change-Id: Id61b739282014288a7e5d3c17a9d6448d9d4cda2

9 years agoMerge "Reduce intra_cost_penalty for BLOCK_8X8"
Yunqing Wang [Fri, 1 May 2015 18:29:38 +0000 (18:29 +0000)]
Merge "Reduce intra_cost_penalty for BLOCK_8X8"

9 years agoMerge "Adjust the vbp early termination threshold slightly"
Yunqing Wang [Fri, 1 May 2015 18:29:24 +0000 (18:29 +0000)]
Merge "Adjust the vbp early termination threshold slightly"

9 years agoFIX: Use correct above/left in read_intra_frame_mode_info
Scott LaVarnway [Fri, 1 May 2015 15:23:47 +0000 (08:23 -0700)]
FIX:  Use correct above/left in read_intra_frame_mode_info

Should be using xd->above_mi and xd->left_mi.

Change-Id: Ifab83512db5491a955a3ed44a2d6e3b25b5ae5a5

9 years agoImage size restriction to rd auto partition search.
paulwilkins [Fri, 1 May 2015 12:45:43 +0000 (13:45 +0100)]
Image size restriction to rd auto partition search.

Impose a limit on the rd auto partition search based on
the image format. Smaller formats require that the search
includes includes a smaller minimum block size.

This change is intended to mitigate the visual impact of
ringing in some problem clips, for smaller image formats.

Change-Id: Ie039e5f599ee079bbef5d272f3e40e2e27d8f97b

9 years agoRemove CONSTRAIN_NEIGHBORING_MIN_MAX.
paulwilkins [Fri, 1 May 2015 10:31:13 +0000 (11:31 +0100)]
Remove CONSTRAIN_NEIGHBORING_MIN_MAX.

Remove one of the auto partition size cases.
This case can behaves badly in some types of animated content
and was only used for the rd encode path. A subsequent patch
will add additional checks to help further improve visual quality.

Change-Id: I0ebd8da3d45ab8501afa45d7959ced8c2d60ee4e

9 years agoAdjust ARF min and max interval.
paulwilkins [Thu, 30 Apr 2015 13:24:28 +0000 (14:24 +0100)]
Adjust ARF min and max interval.

Previously limit on max interval  set to 0.5 seconds.
Though this helped some low frame rate material it
appears to be a bit too aggressive for some 24 and 25 fps
content. This patch relaxes the limit to 0.75 seconds.

The patch also adds a new minimum interval variable
to replace the current hard wired value. This allows us
to impose a limit on the maximum number of primary
arfs per second for high frame rate (e.g. 50 & 60fps)
content. This is to address concerns regarding playback
performance on some platforms if there is a high base
frame rate and very frequent arfs.

Change-Id: I373e8b6b2a8ef522eced6c6d2cceb234ff763fcf

9 years agovp9: RECON_AND_STORE4X4: remove dest offset
James Zern [Sat, 25 Apr 2015 22:59:58 +0000 (15:59 -0700)]
vp9: RECON_AND_STORE4X4: remove dest offset

offsetting by a variable stride prevents instruction reordering,
resulting in poor assembly

Change-Id: Id62d6b3299cdd23f8c44f97b630abf4fea241446

9 years agovp9_idct_intrin_*: RECON_AND_STORE: remove dest offset
James Zern [Sat, 25 Apr 2015 05:33:17 +0000 (22:33 -0700)]
vp9_idct_intrin_*: RECON_AND_STORE: remove dest offset

offsetting by a variable stride prevents instruction reordering,
resulting in poor assembly.
additionally reroll 16x16/32x32 loops to reduce register spill with this
new format

Change-Id: I0635b8ba21ecdb88116e927dbdab53acdf256e11

9 years agoMerge "Remove vp9_idct16x16_10_add_ssse3()"
Yaowu Xu [Thu, 30 Apr 2015 23:13:33 +0000 (23:13 +0000)]
Merge "Remove vp9_idct16x16_10_add_ssse3()"

9 years agoMerge "vp9_decodeframe: simplify compare_tile_buffers"
James Zern [Thu, 30 Apr 2015 23:05:42 +0000 (23:05 +0000)]
Merge "vp9_decodeframe: simplify compare_tile_buffers"

9 years agoAdd some sse2 code for intra prediction.
hkuang [Thu, 30 Apr 2015 22:42:57 +0000 (15:42 -0700)]
Add some sse2 code for intra prediction.

Change-Id: I16c0a62e52dab62837c547345df31e7518620ed4

9 years agoReduce intra_cost_penalty for BLOCK_8X8
Yunqing Wang [Thu, 30 Apr 2015 18:03:06 +0000 (11:03 -0700)]
Reduce intra_cost_penalty for BLOCK_8X8

This patch reduced the BLOCK_8X8's intra_cost_penalty, which
allows 8x8 blocks to conduct intra mode search. Borg test
result(rtc set): 0.077% PSNR gain, 0.228% SSIM gain. No speed
changes.

Change-Id: Icfe90c4f6969de24bda8ecacbd3da50330bf22b2

9 years agoRemove vp9_idct16x16_10_add_ssse3()
Yaowu Xu [Thu, 30 Apr 2015 16:01:49 +0000 (09:01 -0700)]
Remove vp9_idct16x16_10_add_ssse3()

The rotation computation using 2X of cos(pi/16) has a potential to
overflow 32 bit, this commit disable the function to allow further
investigation and optimization.

Change-Id: I4a9803bc71303d459cb1ec5bbd7c4aaf8968e5cf

9 years agoMerge "Improve golden frame refreshing in non-rd mode"
Yunqing Wang [Thu, 30 Apr 2015 15:57:53 +0000 (15:57 +0000)]
Merge "Improve golden frame refreshing in non-rd mode"

9 years agoAdjust the vbp early termination threshold slightly
Yunqing Wang [Mon, 27 Apr 2015 19:40:00 +0000 (12:40 -0700)]
Adjust the vbp early termination threshold slightly

Calculated cpi->vbp_threshold_sad from this frame's dequant value.
The encoding quality and speed didn't change much. Borg test
result: PSNR: -0.002%, SSIM: -0.003%.

Change-Id: I97c9826986f39582f29910d637d08a69c90afdee

9 years agoMerge "mips msa vp9 copy and avg convolve optimization"
Parag Salasakar [Thu, 30 Apr 2015 04:39:11 +0000 (04:39 +0000)]
Merge "mips msa vp9 copy and avg convolve optimization"

9 years agoMerge "Disable ssse3 version idct16x16_256_add()"
Yaowu Xu [Thu, 30 Apr 2015 03:09:22 +0000 (03:09 +0000)]
Merge "Disable ssse3 version idct16x16_256_add()"

9 years agovp9_decodeframe: simplify compare_tile_buffers
James Zern [Wed, 22 Apr 2015 05:48:24 +0000 (22:48 -0700)]
vp9_decodeframe: simplify compare_tile_buffers

return the difference between the 2 buffer sizes rather than exactly
-1/0/1.

Change-Id: Idf1ccff7088b31845470bcc71bea5927b0598cc7

9 years agoDisable ssse3 version idct16x16_256_add()
Yaowu Xu [Wed, 29 Apr 2015 23:25:28 +0000 (16:25 -0700)]
Disable ssse3 version idct16x16_256_add()

The version is currently producing different result from c version
for some input. Disable the use of it for now to allow time for
investigation the source of mismatch.

Change-Id: Id039455494ee531db4886a9f1fa4761174ef6df3

9 years agoImprove golden frame refreshing in non-rd mode
Yunqing Wang [Fri, 24 Apr 2015 19:12:17 +0000 (12:12 -0700)]
Improve golden frame refreshing in non-rd mode

The default golden frame interval was doubled. After encoding a
frame, the background motion was measured. If the motion was high,
the current frame was set as the golden frame. Currently, the
changes were applied only while aq-mode 3 was on.

Borg tests(rtc set) showed a 0.226% PSNR gain and 0.312% SSIM gain.
No speed changes.

Change-Id: Id1e2793cc5be37e8a9bacec1380af6f36182f9b1

9 years agoMerge "vpx_temporal_svc_encoder: Keep static_threshold off as default."
Marco [Wed, 29 Apr 2015 21:42:56 +0000 (21:42 +0000)]
Merge "vpx_temporal_svc_encoder: Keep static_threshold off as default."

9 years agovpx_temporal_svc_encoder: Keep static_threshold off as default.
Marco [Wed, 29 Apr 2015 21:40:07 +0000 (14:40 -0700)]
vpx_temporal_svc_encoder: Keep static_threshold off as default.

Change-Id: Iadb42041f08ac969cc0b6af6f15e30c8498db680

9 years agoMerge changes from topic 'vpx_mem-cruft'
James Zern [Wed, 29 Apr 2015 19:01:48 +0000 (19:01 +0000)]
Merge changes from topic 'vpx_mem-cruft'

* changes:
  vpx_mem: remove vpx_memset
  vpx_mem: remove vpx_memcpy
  vpx_mem: remove vpx_memmove

9 years agovpx_temporal_svc_encoder: Update some settings.
Marco [Wed, 29 Apr 2015 16:21:19 +0000 (09:21 -0700)]
vpx_temporal_svc_encoder: Update some settings.

Set denoiser off by default: should add this option to command line.

Change-Id: Iaecc94f5b5099feaacd7a5c415fc86eb68a2eea5

9 years agovpx_temporal_svc_encoder: Set static threshold to off by default.
Marco [Wed, 29 Apr 2015 15:36:00 +0000 (08:36 -0700)]
vpx_temporal_svc_encoder: Set static threshold to off by default.

Change-Id: I029484a5ffddcc3e518eeee609a6709b01cba146

9 years agomips msa vp9 copy and avg convolve optimization
Parag Salasakar [Mon, 27 Apr 2015 06:56:10 +0000 (12:26 +0530)]
mips msa vp9 copy and avg convolve optimization

average improvement ~3x-5x

Change-Id: I422e4c33ea7e6d6783ba40029438ccf21b0e76bb

9 years agovpx_mem: remove vpx_memset
James Zern [Fri, 24 Apr 2015 03:47:40 +0000 (20:47 -0700)]
vpx_mem: remove vpx_memset

vestigial. replace instances with memset() which they already were being
defined to.

Change-Id: Ie030cfaaa3e890dd92cf1a995fcb1927ba175201

9 years agovpx_mem: remove vpx_memcpy
James Zern [Fri, 24 Apr 2015 03:42:19 +0000 (20:42 -0700)]
vpx_mem: remove vpx_memcpy

vestigial. replace instances with memcpy() which they already were being
defined to.

Change-Id: Icfd1b0bc5d95b70efab91b9ae777ace1e81d2d7c

9 years agovpx_mem: remove vpx_memmove
James Zern [Fri, 24 Apr 2015 03:34:15 +0000 (20:34 -0700)]
vpx_mem: remove vpx_memmove

vestigial. replace instances with memmove() which they already were
being defined to.

Change-Id: If396d3f9e3cf79c0ee5d7429615ef3d6b2a34afa

9 years agoMerge "vpx_mem: remove REPLACE_BUILTIN_FUNCTIONS"
James Zern [Wed, 29 Apr 2015 02:58:38 +0000 (02:58 +0000)]
Merge "vpx_mem: remove REPLACE_BUILTIN_FUNCTIONS"

9 years agoMerge "x86_simd_caps: check max cpuid before testing AVX2"
James Zern [Tue, 28 Apr 2015 21:31:02 +0000 (21:31 +0000)]
Merge "x86_simd_caps: check max cpuid before testing AVX2"

9 years agoMerge "WIP: Use LUT for y_dequant/uv_dequant"
Frank Galligan [Tue, 28 Apr 2015 16:12:09 +0000 (16:12 +0000)]
Merge "WIP: Use LUT for y_dequant/uv_dequant"

9 years agoMerge "Fix debugmodes file to print modes and MVs correctly"
Yunqing Wang [Tue, 28 Apr 2015 15:47:45 +0000 (15:47 +0000)]
Merge "Fix debugmodes file to print modes and MVs correctly"

9 years agoWIP: Use LUT for y_dequant/uv_dequant
Scott LaVarnway [Tue, 28 Apr 2015 14:52:06 +0000 (07:52 -0700)]
WIP: Use LUT for y_dequant/uv_dequant

instead of calculating every block.

Change-Id: Ib19ff2546be8441f8755ae971ba2910f29412029

9 years agoFix debugmodes file to print modes and MVs correctly
Yunqing Wang [Tue, 28 Apr 2015 00:05:06 +0000 (17:05 -0700)]
Fix debugmodes file to print modes and MVs correctly

This patch fixed the issues in debugmodes file because of the recent
changes in MODE_INFO struct.

Change-Id: I4df83379ecc887c1f009d4a8329c9809c5b299d6

9 years agoMerge "PATENTS: fix a typo: constitutes -> constitute"
James Zern [Sat, 25 Apr 2015 06:06:07 +0000 (06:06 +0000)]
Merge "PATENTS: fix a typo: constitutes -> constitute"