platform/upstream/libvpx.git
9 years agoSAD32xh and SAD64xh for AVX2
levytamar82 [Thu, 2 Oct 2014 06:47:31 +0000 (23:47 -0700)]
SAD32xh and SAD64xh for AVX2

All sad function that process above 32 consecutive elements are optimized
for AVX2:
vp9_sad64x64
vp9_sad64x32
vp9_sad32x64
vp9_sad32x32
vp9_sad32x16
vp9_sad64x64_avg
vp9_sad64x32_avg
vp9_sad32x64_avg
vp9_sad32x32_avg
vp9_sad32x16_avg
The functions that appeared as a hotspot is vp9_sad32x32 and vp9_sad64x64
vp9_sad32x32 was optimized by 68% and vp9_sad64x64 was optimized by 90%
both of them gave and overall ~2.3% user level gain

Change-Id: Iccf86b375a2b54c5fbbe685902ead0c9a561b9fd

9 years agoDrop the very slow BEST encoding from the lossless test.
Alex Converse [Wed, 1 Oct 2014 18:57:47 +0000 (11:57 -0700)]
Drop the very slow BEST encoding from the lossless test.

BEST is used in very few tests.

Change-Id: I71880534fe5a44721e7bac8be49b5f71766c1e5f

9 years agoMerge "Conditionally skip reference frame check"
Jingning Han [Wed, 1 Oct 2014 18:19:10 +0000 (11:19 -0700)]
Merge "Conditionally skip reference frame check"

9 years agoConditionally skip reference frame check
Jingning Han [Mon, 29 Sep 2014 19:42:07 +0000 (12:42 -0700)]
Conditionally skip reference frame check

For regular inter frames, if the distance from GOLDEN_FRAME is larger
than 2 and if the predicted motion vector of LAST_FRAME gives lower
sse than that of GOLDEN_FRAME, skip the GOLDE_FRAME mode checking in
the rate-distortion optimization. It provides about 5% speed-up at
expense of -0.137% and -0.230% performance down for speed 3. Local
experiment results:

pedestrian 1080p 2000 kbps
66712 b/f, 40.908 dB, 113688 ms ->
66768 b/f, 40.911 dB, 108752 ms

blue_sky 1080p 2000 kbps
51054 b/f, 35.894 dB, 70406 ms ->
51051 b/f, 35.891 dB, 67236 ms

old_town_cross 720p 1500 kbps
14412 b/f, 36.252 dB, 60690 ms ->
14431 b/f, 36.249 dB, 57346 ms

Change-Id: Idfcafe7f63da7a4896602fc60bd7093f0f0d82ca

9 years agoMerge "Moves transform type defines to vp9_common"
Deb Mukherjee [Wed, 1 Oct 2014 04:37:27 +0000 (21:37 -0700)]
Merge "Moves transform type defines to vp9_common"

9 years agoMerge "iOS build configuration updates."
Tom Finegan [Wed, 1 Oct 2014 04:12:04 +0000 (21:12 -0700)]
Merge "iOS build configuration updates."

9 years agoiOS build configuration updates.
Tom Finegan [Wed, 1 Oct 2014 03:12:56 +0000 (20:12 -0700)]
iOS build configuration updates.

Commit message longer than commit edition.

Simulator and devices:
  Add a common minimum iOS version that can be shared by iOS and iOS
  simulator targets.

Fix --enable-debug (for device targets; sim was fine):
  Allow for successful configuration and build with --enable-debug when
  CXX is available by:

  - Using CXX as LD (when CXX is available).
  - Passing the correct form of the iOS minimum version parameter based on
    whether LD is CXX or really is ld.

  Note: ld -g still won't work on macosx with this patch, so if CXX is not
  available, configuration will still fail reporting that the toolchain
  cannot link executables when attempting to pass --enable-debug (because
  ld returns an error code since the one included with xcode doesn't
  support the -g argument).

Change-Id: Ia488aed167cc2ca82ee9e980589fb76dddce634f

9 years agoMoves transform type defines to vp9_common
Deb Mukherjee [Tue, 30 Sep 2014 21:29:34 +0000 (14:29 -0700)]
Moves transform type defines to vp9_common

Moves transform type defines to vp9_common.h from vp9_idct.h
so that they can be included in vp9_rtcd_defs.pl safely.

Change-Id: Id5106227bee5934f7ce8b06f2eb9fa8a9a2e0ddb

9 years agovpx_integer.h: define __STDC_LIMIT_MACROS
James Zern [Tue, 30 Sep 2014 23:06:23 +0000 (16:06 -0700)]
vpx_integer.h: define __STDC_LIMIT_MACROS

fixes --enable-coefficient-range-checking --enable-debug
vp9_idct.h has references to INT16_MIN/MAX; this header is included in
c++ source so needs to request the macros

Change-Id: I2e643eb973c2d84729fa3cf2f4c4d8bf65cfdff0

9 years agoRevert "Fix compiling error in vp9_idct.h"
James Zern [Tue, 30 Sep 2014 22:29:36 +0000 (15:29 -0700)]
Revert "Fix compiling error in vp9_idct.h"

This reverts commit eafc8c9c40d712aabe234bed5269a02c62fa0bfc.

tran_low_t/tran_high_t don't belong in a public header, they're private.
Similarly the public headers shouldn't rely on config defines,
vpx_config.h isn't installed.

Change-Id: I194ec273598da418df8dd727b6c0e78a556740ad

9 years agoMerge "examples/simple_decoder: Correct comments/remove unnecessary include."
Tom Finegan [Tue, 30 Sep 2014 22:09:00 +0000 (15:09 -0700)]
Merge "examples/simple_decoder: Correct comments/remove unnecessary include."

9 years agoexamples/simple_decoder: Correct comments/remove unnecessary include.
Tom Finegan [Tue, 30 Sep 2014 18:21:56 +0000 (11:21 -0700)]
examples/simple_decoder: Correct comments/remove unnecessary include.

Change-Id: Iad3db3ca7601529ae32637f859ac8d552da94c87

9 years agoMerge "Skip the partition search for still frames"
Yunqing Wang [Tue, 30 Sep 2014 18:59:05 +0000 (11:59 -0700)]
Merge "Skip the partition search for still frames"

9 years agoMerge "Refactor encode_rd_sb_row function"
Yunqing Wang [Tue, 30 Sep 2014 18:58:39 +0000 (11:58 -0700)]
Merge "Refactor encode_rd_sb_row function"

9 years agoMerge "Misc. high-bit-depth fixes"
Deb Mukherjee [Tue, 30 Sep 2014 18:40:36 +0000 (11:40 -0700)]
Merge "Misc. high-bit-depth fixes"

9 years agoMerge "Remove redundant header file declaration"
Jingning Han [Tue, 30 Sep 2014 18:28:33 +0000 (11:28 -0700)]
Merge "Remove redundant header file declaration"

9 years agoMisc. high-bit-depth fixes
Deb Mukherjee [Tue, 30 Sep 2014 04:59:09 +0000 (21:59 -0700)]
Misc. high-bit-depth fixes

Change-Id: Ie9fb6a4078eb6a3fb7c4ff1453831ab9afe23121

9 years agoMerge "Fix compiling error in vp9_idct.h"
Jingning Han [Tue, 30 Sep 2014 17:27:33 +0000 (10:27 -0700)]
Merge "Fix compiling error in vp9_idct.h"

9 years agoRemove redundant header file declaration
Jingning Han [Mon, 29 Sep 2014 22:02:31 +0000 (15:02 -0700)]
Remove redundant header file declaration

Some header file in vp9_idct.c has been included in vp9_idct.h.
This commit removes these redundant declarations.

Change-Id: I0238c27e4efff5c981eb437022c6bc6970c4e445

9 years agoFix compiling error in vp9_idct.h
Jingning Han [Mon, 29 Sep 2014 21:53:05 +0000 (14:53 -0700)]
Fix compiling error in vp9_idct.h

This commit fixes a compiling error in vp9_idct.h, where the codec
checks that the intermediate steps of transformation fit within
16-bit length. The issue was due to broken file dependency.

Change-Id: Ib22bba13a1e6df28489cb23d6774c561969f1fdc

9 years agoMerge "Adds two new subpel search methods"
Deb Mukherjee [Tue, 30 Sep 2014 03:11:04 +0000 (20:11 -0700)]
Merge "Adds two new subpel search methods"

9 years agoMerge "Fix a bug in calculating delta in VP9 denoiser."
JackyChen [Mon, 29 Sep 2014 23:56:16 +0000 (16:56 -0700)]
Merge "Fix a bug in calculating delta in VP9 denoiser."

9 years agoFix a bug in calculating delta in VP9 denoiser.
JackyChen [Mon, 29 Sep 2014 18:30:17 +0000 (11:30 -0700)]
Fix a bug in calculating delta in VP9 denoiser.

When calculating delta in VP8 denoiser, since the block size is fixed to 16x16,
the divisor is 256, which is the number of the pixel.
But in VP9, the block size varies, the divisor should correspond to the block
size.

Change-Id: Ibdc1e5d23ba8c788b0d0dc6d406bcdfc34c1b142

9 years agoAdds two new subpel search methods
Deb Mukherjee [Wed, 24 Sep 2014 20:25:34 +0000 (13:25 -0700)]
Adds two new subpel search methods

One is a more aggressive version of the pruned subpel tree
search where only a single halfpel candidate is searched.
The search candidate is based on a surface fit result.
The other is a method to obtain the subpel position at one
shot based on the same surface fit.

The methods have not been deployed in any speed setting yet.

Change-Id: I34fef3f2e34f11396c9d1ba97f4be8c4ffca62d3

9 years agoMiscellaneous decoder changes for high bitdepth
Deb Mukherjee [Thu, 25 Sep 2014 22:46:50 +0000 (15:46 -0700)]
Miscellaneous decoder changes for high bitdepth

Also includes yv12 config changes.

Change-Id: Iacf40d8bf486815b54c32a127ce3cd4516b7e44f

9 years agoMerge "Skip certain ALTREF inter modes in ARF coding"
Jingning Han [Mon, 29 Sep 2014 17:43:45 +0000 (10:43 -0700)]
Merge "Skip certain ALTREF inter modes in ARF coding"

9 years agoFix a bug introduced in a previous patch on highbd
Deb Mukherjee [Fri, 26 Sep 2014 22:43:55 +0000 (15:43 -0700)]
Fix a bug introduced in a previous patch on highbd

Change-Id: Ice692334f75157446a44a6e81503cada977934f4

9 years agoSkip certain ALTREF inter modes in ARF coding
Jingning Han [Fri, 26 Sep 2014 19:43:14 +0000 (12:43 -0700)]
Skip certain ALTREF inter modes in ARF coding

This commit enables the encoder to skip checking ALTREF inter modes
in ARF coding, if the predicted motion vectors suggest that the
GOLDEN_FRAME provides higher prediction accuracy than ALTREF_FRAME.

It improves the speed 3 encoding speed by about 5%, at the expense
of compression performance loss -0.041% and -0.225% for derf and
stdhd, respectively.

pedestrian_area 1080p 2000 kbps
66705 b/f, 40.909 dB, 118738 ms ->
66732 b/f, 40.908 dB, 113688 ms

old_town_cross 720p 1500 kbps
14427 b/f, 36.256 dB, 62746 ms ->
14412 b/f, 36.252 dB, 60690 ms

blue_sky 1080p 1500 kbps
51026 b/f, 35.897 dB, 73310 ms ->
50921 b/f, 35.893 dB, 70406 ms

bus CIF 1000 kbps
21301 b/f, 34.841 dB, 7326 ms ->
21248 b/f, 34.837 dB, 7196 ms

Change-Id: I76cf88b4d655e1ee3c0cb03c8a5745493040e8d2

9 years agoMerge "iphonesimulator: make iOS 6 the minimum requirement"
James Zern [Fri, 26 Sep 2014 18:24:41 +0000 (11:24 -0700)]
Merge "iphonesimulator: make iOS 6 the minimum requirement"

9 years agoSkip the partition search for still frames
Yunqing Wang [Wed, 24 Sep 2014 19:12:25 +0000 (12:12 -0700)]
Skip the partition search for still frames

This patch re-enabled the feature in Pengchong's patch
(commit 12861260732a4fd5f6b667ce9d5105dc9b606eda). Originally, it
was turned on while use_lastframe_partitioning > 0(not used anymore).
Now it was added as a feature, and turned on while speed >= 2.
As described in the original patch, this feature helps speed up the
slideshows in YouTube.

Change-Id: I1b0f18d65da1ee1c8d1e117dabba910c5207c471

9 years agoiphonesimulator: make iOS 6 the minimum requirement
James Zern [Fri, 26 Sep 2014 01:53:23 +0000 (18:53 -0700)]
iphonesimulator: make iOS 6 the minimum requirement

iOS 5 support isn't available in the Xcode 6 install; iOS 6 covers
phones starting at the 3GS, so should be a reasonable base line

Change-Id: I15572ec0dd73f1ffc88c58120c706384a01f2478

9 years agoMerge "Avoid calling vp9_is_scaled two times in a function."
hkuang [Thu, 25 Sep 2014 20:58:54 +0000 (13:58 -0700)]
Merge "Avoid calling vp9_is_scaled two times in a function."

9 years agoMerge "Adds various high bit-depth encode functions"
Deb Mukherjee [Thu, 25 Sep 2014 20:48:05 +0000 (13:48 -0700)]
Merge "Adds various high bit-depth encode functions"

9 years agoFix build failure with Android NDK
Johann [Thu, 25 Sep 2014 16:33:44 +0000 (09:33 -0700)]
Fix build failure with Android NDK

The version of gcc4.6 included with the Android NDK through r10b
fails to compile this function. Replace it with C code.

BUG=860

Change-Id: Ifcc0476664071aec46a171cdd5ad17305930986a

9 years agoMerge "Clarify GCC version check"
Johann [Thu, 25 Sep 2014 19:12:56 +0000 (12:12 -0700)]
Merge "Clarify GCC version check"

9 years agoMerge "Fix IOCs"
Yaowu Xu [Thu, 25 Sep 2014 19:01:07 +0000 (12:01 -0700)]
Merge "Fix IOCs"

9 years agoClarify GCC version check
Johann [Thu, 25 Sep 2014 16:30:28 +0000 (09:30 -0700)]
Clarify GCC version check

The version check was incorrectly matching some versions of clang
which reported as gcc 4.2

Change-Id: I686d3576e71883fe1463206b56ab5e2aa9bb68a8

9 years agoAvoid calling vp9_is_scaled two times in a function.
hkuang [Thu, 25 Sep 2014 18:47:29 +0000 (11:47 -0700)]
Avoid calling vp9_is_scaled two times in a function.

Use a local variable to hold the result of vp9_is_scaled.

Change-Id: I5e203909805923e20eefef596bc84424da47dbe2

9 years agoFix IOCs
Yaowu Xu [Thu, 25 Sep 2014 15:58:57 +0000 (08:58 -0700)]
Fix IOCs

A left shift of negative value causes IOC runtime warnings, this
commit converts two such left shifts to multiply to avoid IOCs.

Change-Id: I8811428768d7135e6e16af4b3094d0341589a995

9 years agoFix a couple of comments
Yaowu Xu [Wed, 24 Sep 2014 17:46:52 +0000 (10:46 -0700)]
Fix a couple of comments

The first comment is obselete given the way is now normative in VP9
bitstream. The second comment line was too long.

Change-Id: I6546585babf60d466485ddcf2daa6d2fa79e999a

9 years agoAdds various high bit-depth encode functions
Deb Mukherjee [Wed, 24 Sep 2014 13:36:34 +0000 (06:36 -0700)]
Adds various high bit-depth encode functions

Change-Id: I6f67b171022bbc8199c6d674190b57f6bab1b62f

9 years agoRemove unused variable in handle_inter_mode
Jingning Han [Thu, 25 Sep 2014 01:27:44 +0000 (18:27 -0700)]
Remove unused variable in handle_inter_mode

Change-Id: Id757d2c940756ce1b0ead2ea24af9ac0a493de05

9 years agoMerge "Correct the condition for border extension"
Yaowu Xu [Wed, 24 Sep 2014 21:09:45 +0000 (14:09 -0700)]
Merge "Correct the condition for border extension"

9 years agoCorrect the condition for border extension
Yaowu Xu [Wed, 24 Sep 2014 17:06:44 +0000 (10:06 -0700)]
Correct the condition for border extension

As reported in issue #850, the condition for border extension was not
complete. This commit added the case when the scaling is enabled.

This fixes issue #850.

Change-Id: I67768b23f0dcc4ac9a9aa0a0825b0fe8cb85a72e

9 years agoMerge "Fix build issue with stats enabled."
Paul Wilkins [Wed, 24 Sep 2014 17:32:37 +0000 (10:32 -0700)]
Merge "Fix build issue with stats enabled."

9 years agoRefactor encode_rd_sb_row function
Yunqing Wang [Wed, 24 Sep 2014 17:24:18 +0000 (10:24 -0700)]
Refactor encode_rd_sb_row function

Simplified the code and removed some code that was not used anymore.
This patch didn't change encoding result.

Change-Id: I7e54a74c8f35a6726dfc8a1c55b337448b7ea124

9 years agoMerge "Fix invalid memory access on 2x downscale."
Yaowu Xu [Wed, 24 Sep 2014 16:58:05 +0000 (09:58 -0700)]
Merge "Fix invalid memory access on 2x downscale."

9 years agoMerge "Fix incorrect subsampling used in VP9 non420 loopfilter."
Yaowu Xu [Wed, 24 Sep 2014 15:59:11 +0000 (08:59 -0700)]
Merge "Fix incorrect subsampling used in VP9 non420 loopfilter."

9 years agoFix incorrect subsampling used in VP9 non420 loopfilter.
Alexander Voronov [Wed, 24 Sep 2014 13:01:09 +0000 (17:01 +0400)]
Fix incorrect subsampling used in VP9 non420 loopfilter.

Change-Id: Ia959e24b4676242c80a8867d2c39a6fee90f71a5

9 years agoFix build issue with stats enabled.
Paul Wilkins [Wed, 24 Sep 2014 10:48:58 +0000 (11:48 +0100)]
Fix build issue with stats enabled.

Compiler build issue when output stats enabled.

Change-Id: I7b5409108f3f27ba61b0241b9340b412683eff45

9 years agoAdds high bit-depth frame resize functions
Deb Mukherjee [Sat, 20 Sep 2014 09:25:13 +0000 (02:25 -0700)]
Adds high bit-depth frame resize functions

Change-Id: I35b015a759325d72d0da427c61a09f19f8e69697

9 years agoMerge "Adapt mode based rd_threshold for similar block size"
Yaowu Xu [Wed, 24 Sep 2014 05:28:08 +0000 (22:28 -0700)]
Merge "Adapt mode based rd_threshold for similar block size"

9 years agoMerge "Fix an IOC"
Yaowu Xu [Wed, 24 Sep 2014 03:44:35 +0000 (20:44 -0700)]
Merge "Fix an IOC"

9 years agoAdds high bit-depth psnr/sse functions
Deb Mukherjee [Fri, 19 Sep 2014 23:51:59 +0000 (16:51 -0700)]
Adds high bit-depth psnr/sse functions

Also adds some miscellaneous high bit-depth setup functions.

Change-Id: I66488b08a5a2a8cb9518ca10497cf1c1501ceded

9 years agoMerge "High bit-depth loop/arf/postproc filter functions"
Deb Mukherjee [Wed, 24 Sep 2014 00:26:32 +0000 (17:26 -0700)]
Merge "High bit-depth loop/arf/postproc filter functions"

9 years agoMerge "Pruned subpel search for speed 3."
Deb Mukherjee [Wed, 24 Sep 2014 00:12:03 +0000 (17:12 -0700)]
Merge "Pruned subpel search for speed 3."

9 years agoHigh bit-depth loop/arf/postproc filter functions
Deb Mukherjee [Wed, 17 Sep 2014 23:55:05 +0000 (16:55 -0700)]
High bit-depth loop/arf/postproc filter functions

Adds high-bitdepth loopfilter, temporal filter and postproc functions

Change-Id: I81c8a9176890784686bc4f2af0d550d243b3b2d3

9 years agoAdapt mode based rd_threshold for similar block size
Yaowu Xu [Tue, 23 Sep 2014 19:14:51 +0000 (12:14 -0700)]
Adapt mode based rd_threshold for similar block size

The rd_thresholds are adaptively changed based on best mode tested.
It was only changed for the same block size, this commit makes the
adaptation for similar block sizes too. The commit also made minor
adjustment and code cleanups.

The impact on encoding time for _ped:
118089 ms -> 111927 ms

The impact on compression:
derf:  -0.339%
stdhd: -0.303%

Change-Id: I8817fed1102350497f2ec631849e43f753878e5d

9 years agoFix an IOC
Yaowu Xu [Tue, 23 Sep 2014 16:51:47 +0000 (09:51 -0700)]
Fix an IOC

Change-Id: I0ca6746696d81657c035b0f6523c9af370da3c95

9 years agoPruned subpel search for speed 3.
Deb Mukherjee [Tue, 23 Sep 2014 18:21:36 +0000 (11:21 -0700)]
Pruned subpel search for speed 3.

Adds code to return an integer cost list for NSTEP search. Then
uses it for pruned subpel search in speed 3.

derf: -0.06%
Speed on mobcal 720p increaes from 10.28 fps to 10.65 fps.
[Subject to further testing].

Change-Id: Ib591382d25b2c11bcaba9d3a27a93a9d1ab27a96

9 years agoMerge "Remove code duplication"
Yaowu Xu [Tue, 23 Sep 2014 00:13:59 +0000 (17:13 -0700)]
Merge "Remove code duplication"

9 years agoMerge "Simplify rd_pick_intra_sby_mode()"
Yaowu Xu [Tue, 23 Sep 2014 00:13:55 +0000 (17:13 -0700)]
Merge "Simplify rd_pick_intra_sby_mode()"

9 years agoMerge "invalid_file_test.cc is only for VP9 decoder"
Johann [Mon, 22 Sep 2014 22:57:03 +0000 (15:57 -0700)]
Merge "invalid_file_test.cc is only for VP9 decoder"

9 years agoRemove code duplication
Yaowu Xu [Mon, 22 Sep 2014 22:22:51 +0000 (15:22 -0700)]
Remove code duplication

Change-Id: I453b3e0d946951665d5919248445fc4f3222d2ad

9 years agoSimplify rd_pick_intra_sby_mode()
Yaowu Xu [Mon, 22 Sep 2014 21:58:51 +0000 (14:58 -0700)]
Simplify rd_pick_intra_sby_mode()

Change-Id: Ifb0915c94c2db48827ddbd446314cb6e3155b99c

9 years agoinvalid_file_test.cc is only for VP9 decoder
Johann [Mon, 22 Sep 2014 16:49:32 +0000 (09:49 -0700)]
invalid_file_test.cc is only for VP9 decoder

Fix --disable-vp9 build

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

Change-Id: I98eacab5aa4aa9a657647acadd8ce2bd1a4590c0

9 years agoMerge "[spatial svc] Remove vpx_svc_parameters_t and the loop that sets it for each...
Minghai Shang [Mon, 22 Sep 2014 21:01:24 +0000 (14:01 -0700)]
Merge "[spatial svc] Remove vpx_svc_parameters_t and the loop that sets it for each layer"

9 years agoMerge "[spatial svc]Remove quantizers option. Use max/min quantizers for each layer."
Minghai Shang [Mon, 22 Sep 2014 21:01:16 +0000 (14:01 -0700)]
Merge "[spatial svc]Remove quantizers option. Use max/min quantizers for each layer."

9 years agoMerge "[spatial svc] Use string for quantizers and scale-factors option in the test...
Minghai Shang [Mon, 22 Sep 2014 21:01:06 +0000 (14:01 -0700)]
Merge "[spatial svc] Use string for quantizers and scale-factors option in the test app"

9 years agoMerge "Remove unnecessary local variable declaration"
Jingning Han [Mon, 22 Sep 2014 19:46:21 +0000 (12:46 -0700)]
Merge "Remove unnecessary local variable declaration"

9 years agoMerge "Adaptive mode search scheduling"
Jingning Han [Mon, 22 Sep 2014 19:45:15 +0000 (12:45 -0700)]
Merge "Adaptive mode search scheduling"

9 years agoMerge "Fix compile warning."
hkuang [Mon, 22 Sep 2014 17:05:12 +0000 (10:05 -0700)]
Merge "Fix compile warning."

9 years agoRemove unnecessary local variable declaration
Jingning Han [Mon, 22 Sep 2014 16:10:23 +0000 (09:10 -0700)]
Remove unnecessary local variable declaration

This commit removes a repetitive local variable declaration in
vp9_rd_pick_inter_mode_sb.

Change-Id: I1b0afa98ff1ecbfb46e17d3d1cee95d32c4309db

9 years agoAdaptive mode search scheduling
Jingning Han [Thu, 18 Sep 2014 20:37:20 +0000 (13:37 -0700)]
Adaptive mode search scheduling

This commit enables an adaptive mode search order scheduling scheme
in the rate-distortion optimization. It changes the compression
performance by -0.433% and -0.420% for derf and stdhd respectively.
It provides speed improvement for speed 3:

bus CIF 1000 kbps
24590 b/f, 35.513 dB, 7864 ms ->
24696 b/f, 35.491 dB, 7408 ms (6% speed-up)

stockholm 720p 1000 kbps
8983 b/f, 35.078 dB, 65698 ms ->
8962 b/f, 35.054 dB, 60298 ms (8%)

old_town_cross 720p 1000 kbps
11804 b/f, 35.666 dB, 62492 ms ->
11778 b/f, 35.609 dB, 56040 ms (10%)

blue_sky 1080p 1500 kbps
57173 b/f, 36.179 dB, 77879 ms ->
57199 b/f, 36.131 dB, 69821 ms (10%)

pedestrian_area 1080p 2000 kbps
74241 b/f, 41.105 dB, 144031 ms ->
74271 b/f, 41.091 dB, 133614 ms (8%)

Change-Id: Iaad28cbc99399030fc5f9951eb5aa7fa633f320e

9 years agoFix compile warning.
hkuang [Sat, 20 Sep 2014 05:47:28 +0000 (22:47 -0700)]
Fix compile warning.

warning: comparison between signed and unsigned integer expressions.

Change-Id: Ib6ee7500fe910983f290fc321ad89c0ab9989455

9 years agoMerge "Remove mi_grid_* structures."
hkuang [Sat, 20 Sep 2014 05:37:53 +0000 (22:37 -0700)]
Merge "Remove mi_grid_* structures."

9 years agoRemove mi_grid_* structures.
hkuang [Thu, 11 Sep 2014 22:37:08 +0000 (15:37 -0700)]
Remove mi_grid_* structures.

mi_grid_* are arrays of pointer to pointer. They save the pointers that point
to the MIs in cm->mi. But they are unnecessary and complicated. The original
goal was to remove MODE_INFO_t copy. But with an extra MODE_INFO_t pointer
inside MODE_INFO_t, same goal could be achieved.

This commit totally removes the mi_grid_* structures. But there are still
many dummy MODE_INFO_t inside cm->mi which are a waste of memory. Next commit
will do on-demand MODE_INFO_t allocation in order to save these memories.

Change-Id: I3a05cf1610679fed26e0b2eadd315a9ae91afdd6

9 years agoMerge "test/tools_common.sh: Add support for dumping list of tests."
James Zern [Sat, 20 Sep 2014 02:33:07 +0000 (19:33 -0700)]
Merge "test/tools_common.sh: Add support for dumping list of tests."

9 years agoMerge "High bit-depth coefficient coding functions"
Deb Mukherjee [Fri, 19 Sep 2014 23:53:30 +0000 (16:53 -0700)]
Merge "High bit-depth coefficient coding functions"

9 years agotest/tools_common.sh: Add support for dumping list of tests.
Tom Finegan [Fri, 19 Sep 2014 18:09:39 +0000 (11:09 -0700)]
test/tools_common.sh: Add support for dumping list of tests.

Via new command line argument --list-tests.

Change-Id: I0f12d10b49c14f5f68aafd5bc45362b1ea4f361f

9 years agoHigh bit-depth coefficient coding functions
Deb Mukherjee [Fri, 19 Sep 2014 17:13:47 +0000 (10:13 -0700)]
High bit-depth coefficient coding functions

Tokenization and Detokenization enhancements for 10/12 bit

Change-Id: I3c269ec30f8eb160ee024905638a193975237559

9 years agoMerge "build/make/iosbuild.sh: Support extra configure args."
Tom Finegan [Fri, 19 Sep 2014 22:18:09 +0000 (15:18 -0700)]
Merge "build/make/iosbuild.sh: Support extra configure args."

9 years agoMerge "build/make/rtcd.pl: Add missing arm64 support."
Tom Finegan [Fri, 19 Sep 2014 22:17:45 +0000 (15:17 -0700)]
Merge "build/make/rtcd.pl: Add missing arm64 support."

9 years agobuild/make/iosbuild.sh: Support extra configure args.
Tom Finegan [Fri, 19 Sep 2014 18:35:46 +0000 (11:35 -0700)]
build/make/iosbuild.sh: Support extra configure args.

Change-Id: I9860ac1bb0180315e26987c5fc53d814ea1f0283

9 years agoMerge "rtcd: relocate 'extern "C" {' declaration"
James Zern [Fri, 19 Sep 2014 18:28:40 +0000 (11:28 -0700)]
Merge "rtcd: relocate 'extern "C" {' declaration"

9 years agobuild/make/rtcd.pl: Add missing arm64 support.
Tom Finegan [Fri, 19 Sep 2014 17:45:15 +0000 (10:45 -0700)]
build/make/rtcd.pl: Add missing arm64 support.

Treats arm64 the same as armv8.

Change-Id: Ia5029f7bbff251d5aa0836bcccdf20fa0a693891

9 years agoMerge "vp8: Update to the adaptive denoising mode."
Marco [Fri, 19 Sep 2014 17:16:04 +0000 (10:16 -0700)]
Merge "vp8: Update to the adaptive denoising mode."

9 years agovp8: Update to the adaptive denoising mode.
Marco [Wed, 10 Sep 2014 17:12:45 +0000 (10:12 -0700)]
vp8: Update to the adaptive denoising mode.

Allow for option to apply spatial blur for temporal
denoising, under the aggressive denoising mode.

Change-Id: I41c5fdc0b6cf32d8f8d1d4236b25fa5aa406e89e

9 years agortcd: relocate 'extern "C" {' declaration
James Zern [Fri, 19 Sep 2014 02:43:19 +0000 (19:43 -0700)]
rtcd: relocate 'extern "C" {' declaration

Place after pulling in forward declarations from the codec. This fixes
compilation of the tests under vs9.

Since
10783d4 Adds high bitdepth transform functions and tests
where vp9_idct.h was added to vp9_rtcd.h the tests are pulling in
vp9_systemdependent.h, which under visual studio include intrin.h. With
VS9 these include headers which define helper classes for intel
intrinsics. When including it in the tests (via vp9_rtcd.h) __cplusplus
is defined but vp9_rtcd.h would wrap declarations in 'extern "C" {'
causing a mismatch in linkage which resulted in compilation failure.

Change-Id: I475e50198b71320e8606bc95c9454876d8799ede

9 years agoMerge "Add a conditional compilation macro to VP8 unit test."
James Zern [Fri, 19 Sep 2014 02:20:48 +0000 (19:20 -0700)]
Merge "Add a conditional compilation macro to VP8 unit test."

9 years ago[spatial svc] Remove vpx_svc_parameters_t and the loop that sets it for each layer
Minghai Shang [Fri, 19 Sep 2014 01:05:07 +0000 (18:05 -0700)]
[spatial svc] Remove vpx_svc_parameters_t and the loop that sets it for each layer

vpx_svc_parameters_t contains id, resolution and min/max qp for each spatial layer.

In this change we will use extra config to send min/max qp and scaling factors, then calculate layer resolution inside encoder.

Change-Id: Ib673303266605fe803c3b067284aae5f7a25514a

9 years agoAdd a conditional compilation macro to VP8 unit test.
JackyChen [Thu, 18 Sep 2014 21:20:44 +0000 (14:20 -0700)]
Add a conditional compilation macro to VP8 unit test.

In many tests in VP8, the denoiser is disabled. By adding this
conditional comilation macro, the unit test will not be included
when denoiser is not enabled.

Change-Id: I6edec85c996acca22aacd11161c52408be2660a3

9 years agoMerge "FIX: vp9_loopfilter_intrin_sse2.c"
Frank Galligan [Thu, 18 Sep 2014 22:10:16 +0000 (15:10 -0700)]
Merge "FIX: vp9_loopfilter_intrin_sse2.c"

9 years agoFIX: vp9_loopfilter_intrin_sse2.c
Scott LaVarnway [Thu, 18 Sep 2014 20:09:13 +0000 (13:09 -0700)]
FIX: vp9_loopfilter_intrin_sse2.c

Fixes Visual Studio build failures

Change-Id: I233719cd63b3ad0db16e2834bf1d7ea1df805880

9 years agoMerge "Add unit test for VP9 denoiser."
JackyChen [Thu, 18 Sep 2014 19:56:23 +0000 (12:56 -0700)]
Merge "Add unit test for VP9 denoiser."

9 years agoMerge "[spatial svc] Use same golden frame for all temporal layers"
Minghai Shang [Thu, 18 Sep 2014 19:29:40 +0000 (12:29 -0700)]
Merge "[spatial svc] Use same golden frame for all temporal layers"

9 years agoAdd unit test for VP9 denoiser.
JackyChen [Wed, 17 Sep 2014 20:54:48 +0000 (13:54 -0700)]
Add unit test for VP9 denoiser.

Check basic datarate targeting for a single bitrate
when the denoiser is on.

Change-Id: Iad0e664859ffeb4ae6dd5f6dfb71a121e917e3fb

9 years ago[spatial svc] Use same golden frame for all temporal layers
Minghai Shang [Fri, 12 Sep 2014 20:07:47 +0000 (13:07 -0700)]
[spatial svc] Use same golden frame for all temporal layers

Overhead goes down from 8% to 3% for 1080 60p

Change-Id: Idf3e5ca8712402a914a8cb79df17d3cdab63b163

9 years ago[spatial svc]Remove quantizers option. Use max/min quantizers for each layer.
Minghai Shang [Thu, 18 Sep 2014 18:10:11 +0000 (11:10 -0700)]
[spatial svc]Remove quantizers option. Use max/min quantizers for each layer.

Change-Id: I214bc4169f6c5eaee4957cd308a74d309e999005

9 years agoMerge "Adds high bitdepth convolve, interpred & scaling"
Deb Mukherjee [Thu, 18 Sep 2014 17:52:23 +0000 (10:52 -0700)]
Merge "Adds high bitdepth convolve, interpred & scaling"