platform/upstream/libvpx.git
9 years agoFix issues with mixed ARF and GF groups.
paulwilkins [Thu, 14 May 2015 16:16:36 +0000 (17:16 +0100)]
Fix issues with mixed ARF and GF groups.

This patch addresses two issues that can occur when the
encoder chooses to use a mixture of ARF and GF groups.

The first issue relates to a failure to reset the "ARF active" flag
correctly when transitioning from coding ARF groups to coding
GF groups. This caused some golden frames to be  encoded
with an incorrect bit rate target as if they were ARF overlay frames.

The second issue relates to the encoding of a single short GF group
just before a key frame.  Where the last group before a key frame
is an ARF group we expect the final frame before the key frame  to
be an low data rate overlay frame. However, when the last  group
is a GF group, the final frame before the key frame should be a normal
frame with a normal bit allocation. This issue had the potential to cause
a single poorly coded frame just before a key frame. If that key frame
were a forced key frame rather than a real scene cut, this might cause
pulsing.

Change-Id: Idf1eb5eaf63a231495a74de7899236e1ead9fb00

9 years agoVP8: For high overshoot, force drop frame and max-out QP.
Marco [Tue, 28 Apr 2015 15:29:48 +0000 (08:29 -0700)]
VP8: For high overshoot, force drop frame and max-out QP.

This allows rate control to react to content of current frame being encoded.
Enabling this feature via the setting: screen_content_mode = 2.

Change-Id: Ib2c6670551d96f4907495d5b7b76bb8c49e673db

9 years agoMerge "rename vp9_dct_impl_sse2.c to vp9_dct_sse2_impl.h"
James Zern [Tue, 19 May 2015 00:01:56 +0000 (00:01 +0000)]
Merge "rename vp9_dct_impl_sse2.c to vp9_dct_sse2_impl.h"

9 years agoMerge "rename vp9_dct32x32_sse2.c to vp9_dct32x32_sse2_impl.h"
James Zern [Tue, 19 May 2015 00:01:21 +0000 (00:01 +0000)]
Merge "rename vp9_dct32x32_sse2.c to vp9_dct32x32_sse2_impl.h"

9 years agoMerge "rename vp9_dct32x32_avx2.c to vp9_dct32x32_avx2_impl.h"
James Zern [Tue, 19 May 2015 00:01:05 +0000 (00:01 +0000)]
Merge "rename vp9_dct32x32_avx2.c to vp9_dct32x32_avx2_impl.h"

9 years agomd5_helper.h: fix type conversion warning
James Zern [Sun, 17 May 2015 18:21:22 +0000 (11:21 -0700)]
md5_helper.h: fix type conversion warning

add a cast in Add() from size_t -> uint32; quiets a visual studio build
warning

Change-Id: I0d87a3e460faf1fe2d4fb44df5f4042ef7500190

9 years agotest_intra_pred_speed: reuse test_libvpx's main()
James Zern [Sat, 16 May 2015 18:55:04 +0000 (11:55 -0700)]
test_intra_pred_speed: reuse test_libvpx's main()

this allows test_libvpx's simd caps check to be used; it also fixes a
link error on OS X with -fcommon.

Change-Id: I1a62a3e74ba06b8f3b37a22fcfdebf90c04ab289

9 years agotest_libvpx: add <arch>.* to negative filter
James Zern [Sat, 16 May 2015 18:52:59 +0000 (11:52 -0700)]
test_libvpx: add <arch>.* to negative filter

in addition to <arch>/*. this will pick up tests defined with TEST()
instead of INSTANTIATE_TEST_CASE_P()

Change-Id: I0917741baac89d9ce857f4d4aa53790e8a0c6c12

9 years agodec_build_inter_predictors: don't return a void fn
James Zern [Sat, 16 May 2015 17:33:57 +0000 (10:33 -0700)]
dec_build_inter_predictors: don't return a void fn

split call of extend_and_predict() and return, fixes visual studio build
warning since:
0a80164 Move mc_buf to cut down size of MACROBLOCKD.

Change-Id: I7cdf712941ef773a07f038539cb8080dc27861cd

9 years agorename vp9_dct_impl_sse2.c to vp9_dct_sse2_impl.h
James Zern [Fri, 15 May 2015 23:47:51 +0000 (16:47 -0700)]
rename vp9_dct_impl_sse2.c to vp9_dct_sse2_impl.h

this file shouldn't be built directly, it is included in vp9_dct_sse2.c
to create a non-high-bitdepth and a high-bitdepth version

silences missing prototype warnings for the unused FDCT* functions

Change-Id: Ide6ff8c24ab31bdb0f833260505ae33660a1ad5b

9 years agorename vp9_dct32x32_sse2.c to vp9_dct32x32_sse2_impl.h
James Zern [Fri, 15 May 2015 23:47:51 +0000 (16:47 -0700)]
rename vp9_dct32x32_sse2.c to vp9_dct32x32_sse2_impl.h

this file shouldn't be built directly, it is included in vp9_dct_sse2.c
to create a non-high-bitdepth and a high-bitdepth version

silences missing prototype warnings for the unused FDCT32x32* functions

Change-Id: I0e38f16dae5ea1728de184ee2c89287d48675c51

9 years agorename vp9_dct32x32_avx2.c to vp9_dct32x32_avx2_impl.h
James Zern [Fri, 15 May 2015 23:47:51 +0000 (16:47 -0700)]
rename vp9_dct32x32_avx2.c to vp9_dct32x32_avx2_impl.h

this file shouldn't be built directly, it is included in vp9_dct_avx2.c
to create a non-high-bitdepth and a high-bitdepth version

silences missing prototype warnings for the unused FDCT32x32* functions

Change-Id: I4c19935c0e035b393be513bde735e9a78064a494

9 years agoMerge "tests: add test_intra_pred_speed"
James Zern [Fri, 15 May 2015 23:34:06 +0000 (23:34 +0000)]
Merge "tests: add test_intra_pred_speed"

9 years agoMerge changes from topic 'missing-proto'
James Zern [Fri, 15 May 2015 23:08:14 +0000 (23:08 +0000)]
Merge changes from topic 'missing-proto'

* changes:
  vp9_subexp.h: add a missing prototype
  vp9: add some missing includes
  vp9 intrinsics: add vp9_rtcd include
  vp9: correct some function signatures
  vp9_variance_sse2: sync function signatures
  vp9/encoder: make some functions static
  vp9_dct_sse2: make some functions static
  vp9_decodeframe.c: make a function static

9 years agoMerge "Change tx_size_search_method setting for non-rd speed 5."
Marco [Fri, 15 May 2015 21:28:59 +0000 (21:28 +0000)]
Merge "Change tx_size_search_method setting for non-rd speed 5."

9 years agoChange tx_size_search_method setting for non-rd speed 5.
Marco [Fri, 15 May 2015 18:08:24 +0000 (11:08 -0700)]
Change tx_size_search_method setting for non-rd speed 5.

Use the same settting as in speed >=6.
This will use same logic for tx_size selecton as in speed >=6,
which limits the transform size and reduces ringing artifact.
Also metrics go up on average with this change: ~2% for PSNR, ~10% for SSIM.

Change-Id: Ia2d50db236ae1cc72f742bfa6c9ec5ea50ff0e0a

9 years agovp9_subexp.h: add a missing prototype
James Zern [Fri, 15 May 2015 03:33:48 +0000 (20:33 -0700)]
vp9_subexp.h: add a missing prototype

+ include the .h in the .c
silences missing prototype warnings

Change-Id: Ia87366dccb4bf4e9f2ffa5d3ab51ac6ca5488c91

9 years agovp9: add some missing includes
James Zern [Fri, 15 May 2015 03:21:01 +0000 (20:21 -0700)]
vp9: add some missing includes

mostly: <file>.c should include <file>.h
silences missing prototype warnings

Change-Id: Ic05ec32c6f7b2224b78825904d96d73aacad6000

9 years agovp9 intrinsics: add vp9_rtcd include
James Zern [Fri, 15 May 2015 03:08:03 +0000 (20:08 -0700)]
vp9 intrinsics: add vp9_rtcd include

silences a missing declaration warning

Change-Id: I59a34e1a1377cf3529b678d7ec0122bd43ab1bf1

9 years agovp9: correct some function signatures
James Zern [Fri, 15 May 2015 03:18:45 +0000 (20:18 -0700)]
vp9: correct some function signatures

silences missing prototype warnings

Change-Id: Idaf68d83d2cb03847f3ee002c4d00c2ac79da604

9 years agovp9_variance_sse2: sync function signatures
James Zern [Fri, 15 May 2015 02:55:06 +0000 (19:55 -0700)]
vp9_variance_sse2: sync function signatures

+ include vp9_rtcd.h
silences missing prototype warnings

Change-Id: I77902f07a454029baad4fe5fe6fc37c65644e6f7

9 years agovp9/encoder: make some functions static
James Zern [Fri, 15 May 2015 03:22:50 +0000 (20:22 -0700)]
vp9/encoder: make some functions static

silences missing prototype warnings

Change-Id: I3338fcaa67b5dcdf6bf237e8b374db3befd18753

9 years agovp9_dct_sse2: make some functions static
James Zern [Fri, 15 May 2015 02:56:51 +0000 (19:56 -0700)]
vp9_dct_sse2: make some functions static

silences missing prototype warnings

Change-Id: I773b6a6b5bd7c57db18c3b17c519534f80e131de

9 years agovp9_decodeframe.c: make a function static
James Zern [Fri, 15 May 2015 02:49:53 +0000 (19:49 -0700)]
vp9_decodeframe.c: make a function static

silences a missing declaration warning

Change-Id: I2f49ebca9ba7a47f3c48f5fe919b90cd4114a9bc

9 years agoMerge "Fix illegal memory access when stream starts w/ invisible frame."
Adrian Grange [Fri, 15 May 2015 17:36:41 +0000 (17:36 +0000)]
Merge "Fix illegal memory access when stream starts w/ invisible frame."

9 years agoMerge changes from topic 'missing-proto'
James Zern [Fri, 15 May 2015 17:19:49 +0000 (17:19 +0000)]
Merge changes from topic 'missing-proto'

* changes:
  vp8/rdopt.h+onyx_int.h: add some missing prototypes
  vp8: add some missing includes
  vp8: make some functions static
  vp8/common/variance*: add vp8_rtcd include
  vp8_copy32xn: sync function signature

9 years agoMerge changes from topic 'missing-proto'
James Zern [Fri, 15 May 2015 17:17:12 +0000 (17:17 +0000)]
Merge changes from topic 'missing-proto'

* changes:
  sad*_avx2.c: sync function signatures
  vpx_scale: add missing rtcd + vpx_scale includes

9 years agoMerge changes from topic 'missing-proto'
James Zern [Fri, 15 May 2015 17:16:51 +0000 (17:16 +0000)]
Merge changes from topic 'missing-proto'

* changes:
  fdct8x8_test: move functions to an anonymous namespace
  md5_utils.c: make a function static
  vpx_config.c: add vpx_codec include

9 years agoMerge "Move mc_buf to cut down size of MACROBLOCKD."
Frank Galligan [Fri, 15 May 2015 15:20:37 +0000 (15:20 +0000)]
Merge "Move mc_buf to cut down size of MACROBLOCKD."

9 years agoMerge "Revert "Skip the last frame update for some frame repeats.""
paulwilkins [Fri, 15 May 2015 09:17:17 +0000 (09:17 +0000)]
Merge "Revert "Skip the last frame update for some frame repeats.""

9 years agovp8/rdopt.h+onyx_int.h: add some missing prototypes
James Zern [Fri, 15 May 2015 03:31:56 +0000 (20:31 -0700)]
vp8/rdopt.h+onyx_int.h: add some missing prototypes

silences missing prototype warnings

Change-Id: Icd477e37b502205d0a60e7389e51b1ba17d8888e

9 years agovp8: add some missing includes
James Zern [Fri, 15 May 2015 03:27:59 +0000 (20:27 -0700)]
vp8: add some missing includes

silences missing prototype warnings

Change-Id: Ib62e4743532b871e63bc99732875fff20501b8ac

9 years agovp8: make some functions static
James Zern [Fri, 15 May 2015 02:59:32 +0000 (19:59 -0700)]
vp8: make some functions static

silences missing prototype warnings

Change-Id: I9f24a3214c832c982ca0dc5a032316eba48472ff

9 years agovp8/common/variance*: add vp8_rtcd include
James Zern [Fri, 15 May 2015 02:47:00 +0000 (19:47 -0700)]
vp8/common/variance*: add vp8_rtcd include

silences missing prototype warnings

Change-Id: I5ca198b56a5ff0cf5b93c89957526f243c04e9c8

9 years agovp8_copy32xn: sync function signature
James Zern [Fri, 15 May 2015 02:41:13 +0000 (19:41 -0700)]
vp8_copy32xn: sync function signature

+ include vp8_rtcd.h in copy_c.c
silences missing prototype warnings

Change-Id: Iecc279c695b08a26b231dedb41e3b84c551703f3

9 years agosad*_avx2.c: sync function signatures
James Zern [Fri, 15 May 2015 02:52:43 +0000 (19:52 -0700)]
sad*_avx2.c: sync function signatures

+ include vpx_dsp_rtcd.h
silences missing prototype warnings

Change-Id: Ifa1780bcf72b1fa2b153025d0d78d91ad38774c3

9 years agovpx_scale: add missing rtcd + vpx_scale includes
James Zern [Fri, 15 May 2015 02:50:56 +0000 (19:50 -0700)]
vpx_scale: add missing rtcd + vpx_scale includes

silences missing prototype warnings

Change-Id: I33320f66c789b8c5c51d69f9dc0e017f9e06b0d0

9 years agofdct8x8_test: move functions to an anonymous namespace
James Zern [Fri, 15 May 2015 02:38:34 +0000 (19:38 -0700)]
fdct8x8_test: move functions to an anonymous namespace

silences missing declaration warnings

Change-Id: I9486c13c973df3d25fcdc2c3de9a0da783ce8fd6

9 years agomd5_utils.c: make a function static
James Zern [Fri, 15 May 2015 02:37:27 +0000 (19:37 -0700)]
md5_utils.c: make a function static

silences a missing prototype warning

Change-Id: I982c9c70e0e9f94a5201559300cadb8bd22441f9

9 years agovpx_config.c: add vpx_codec include
James Zern [Fri, 15 May 2015 02:34:53 +0000 (19:34 -0700)]
vpx_config.c: add vpx_codec include

silences a missing prototype warning

Change-Id: I31a11c8390ae58e9a99ecc7cdf2a36334fac3f65

9 years agoMove mc_buf to cut down size of MACROBLOCKD.
Frank Galligan [Wed, 29 Apr 2015 23:54:37 +0000 (16:54 -0700)]
Move mc_buf to cut down size of MACROBLOCKD.

Change-Id: Icea64b9e5632b41aaa7cd7018c501d6add9b7a7f

9 years agotests: add test_intra_pred_speed
James Zern [Tue, 12 May 2015 02:36:59 +0000 (19:36 -0700)]
tests: add test_intra_pred_speed

useful for speed testing / verifying individual function optimizations;
currently tests non-high-bitdepth VP9 intra predictors

Change-Id: Ibd247765e43a31894697d43f1d39d312e0ba2090

9 years agoFix illegal memory access when stream starts w/ invisible frame.
Adrian Grange [Thu, 14 May 2015 22:44:50 +0000 (15:44 -0700)]
Fix illegal memory access when stream starts w/ invisible frame.

Add a check to make sure we have a decoded frame available
before copying its 'corrupt' flag.

(Originally submitted to the old repository by Alexander Voronov
as: https://gerrit.chromium.org/gerrit/#/c/74305/).

Change-Id: Iceb4686c785afb437b668015bf8818b18d60e0ce

9 years agoMerge "Remove BUILD_LIBVPX_SO variable from the build system."
Tom Finegan [Thu, 14 May 2015 20:47:42 +0000 (20:47 +0000)]
Merge "Remove BUILD_LIBVPX_SO variable from the build system."

9 years agoMerge "Remove the BUILD_LIBVPX variable from the build system."
Tom Finegan [Thu, 14 May 2015 19:08:05 +0000 (19:08 +0000)]
Merge "Remove the BUILD_LIBVPX variable from the build system."

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 agoRevert "Skip the last frame update for some frame repeats."
paulwilkins [Thu, 14 May 2015 16:16:36 +0000 (17:16 +0100)]
Revert "Skip the last frame update for some frame repeats."

Testing on another rate control patch reveals that in some
situations, where the encoder is flipping in and out of arf
mode, we get an encoder decoder mismatch.

Whilst it is still not clear why, skipping  the last buffer
update seems to trigger the problem. Until I can establish
why, or if there is another underlying cause, I am reverting
this change.

This reverts commit e5112b3ae3352c4c55fb31235305f3f80f4b8f7e.

Change-Id: I315c5200414de89458015823344b7367e9dd75ba

9 years agoMerge "Relocate memory operations for common code"
Johann [Wed, 13 May 2015 19:47:23 +0000 (19:47 +0000)]
Merge "Relocate memory operations for common code"

9 years agoRelocate memory operations for common code
Johann [Tue, 12 May 2015 02:09:22 +0000 (19:09 -0700)]
Relocate memory operations for common code

With the sad functions, and hopefully the variance functions soon,
moving to the vpx_dsp location, place the defines used in the
reference C code in a common location.

Change-Id: I4c8ce7778eb38a0a3ee674d2f1c488eda01cfeca

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