platform/upstream/libvpx.git
9 years agoMove intra block size skip outside mode search loop
Jingning Han [Thu, 11 Sep 2014 16:54:19 +0000 (09:54 -0700)]
Move intra block size skip outside mode search loop

Unify this speed feature in the ref_frame_skip_mask scheme.

Change-Id: I7ea5646da02d3ea643680c22d50dabd448d55a27

9 years agoFix format in vp9_rd_pick_inter_mode_sub8x8
Jingning Han [Thu, 11 Sep 2014 16:27:30 +0000 (09:27 -0700)]
Fix format in vp9_rd_pick_inter_mode_sub8x8

Change-Id: I0da29c858c6c1eb5ef07cee8f599329f5a002da9

9 years agoMove overlay frame speed feature setting out of mode search loop
Jingning Han [Thu, 11 Sep 2014 02:42:51 +0000 (19:42 -0700)]
Move overlay frame speed feature setting out of mode search loop

Refactor overlay frame speed-up related function. Make it unified
with the ref_frame_skip_mask system and Move it out of the mode
search loop.

Change-Id: I0dde9baf44354f6ba00b4679cba02fa6a30c7316

9 years agoRefactor to remove speed feature dependency on mode search order
Jingning Han [Wed, 10 Sep 2014 01:43:27 +0000 (18:43 -0700)]
Refactor to remove speed feature dependency on mode search order

This commit refactor the rate-distortion optimization search for
regular block sizes to remove the speed feature dependency on mode
search order.

Change-Id: Ied033ee484c2957e17baa7b6450b720fe7dd0e7d

9 years agoFix a bug in vp9_rd_pick_inter_mode_sb
Jingning Han [Tue, 9 Sep 2014 22:32:40 +0000 (15:32 -0700)]
Fix a bug in vp9_rd_pick_inter_mode_sb

This commit fixes a bug related to skipping intra mode checking, by
using a separate variable to store the best prediction error from
inter mode. It avoids unintentionally overwriting intra mode
rate-distortion cost, and hence affecting other speed features.

Change-Id: I99e12993339c84c8b4f597996b372012e5858fae

9 years agoRemove redundant ref frame pointer assignment
Jingning Han [Tue, 9 Sep 2014 22:10:00 +0000 (15:10 -0700)]
Remove redundant ref frame pointer assignment

Assigning selected reference frame pointer is done in the
encode_superblock function. No need to do this at the end of
rate-distortion optimization search.

Change-Id: I33fcede0fd304b4a4c4deef2d126d79546a9c070

9 years agoRemove dependency of intra mode search skip check on mode order
Jingning Han [Tue, 9 Sep 2014 19:30:47 +0000 (12:30 -0700)]
Remove dependency of intra mode search skip check on mode order

This commit refactors the vp9_rd_pick_inter_mode_sb function to
remove the intra mode early termination dependency on the mode
search order.

Change-Id: If6ac49aa7c530c7b9a5bd31b0ab84db83e192bec

9 years agoReplace best_mode_index table retrieve with fetching best_mbmode
Jingning Han [Tue, 9 Sep 2014 18:58:10 +0000 (11:58 -0700)]
Replace best_mode_index table retrieve with fetching best_mbmode

This commit allows the encoder to find current best prediction mode
state using best_mbmode, instead of fetching from the static mode
search table via best_mode_index.

Change-Id: Ibefeab83aed33a49c2be03e83f09153856ca4271

9 years agoMerge "vp8: Updates for adaptive denoiser mode."
Marco [Tue, 9 Sep 2014 17:19:27 +0000 (10:19 -0700)]
Merge "vp8: Updates for adaptive denoiser mode."

9 years agovp8: Updates for adaptive denoiser mode.
Marco [Tue, 9 Sep 2014 16:11:55 +0000 (09:11 -0700)]
vp8: Updates for adaptive denoiser mode.

Add qp/bitrate condition, update some settings.

Change-Id: I1af0f102823a886393be063ad9d17d7564753cc7

9 years agoMove vp8_variance_halfpixvar16x16_*_neon definitions
Johann [Tue, 9 Sep 2014 15:20:00 +0000 (08:20 -0700)]
Move vp8_variance_halfpixvar16x16_*_neon definitions

These functions moved from 'neon_asm' to 'neon' in
9293d267d22def752366c9512be98f2d51fd2c15

Change-Id: I9cb5626c3eec96876a73fb18f2bfc982a5858edb

9 years agoMerge changes I4c74dcab,Ifbfc1422,I2450b485,Ibdb07f6d,I3737772f,Ic3be55ed
James Zern [Tue, 9 Sep 2014 02:19:31 +0000 (19:19 -0700)]
Merge changes I4c74dcab,Ifbfc1422,I2450b485,Ibdb07f6d,I3737772f,Ic3be55ed

* changes:
  vp9_pick_inter_mode: normalize some types
  vp9_pick_inter_mode: cosmetics: localize var. defs
  vp9_pick_inter_mode: cosmetics: add const
  vp9_pick_inter_mode: cosmetics: fix indent
  vp9_pickmode: move PRED_BUFFER definition to .c
  vp9_pickmode: make vp9_pick_inter_mode() void

9 years agoMerge "No longer use use_lastframe_partitioning speed feature"
Yaowu Xu [Tue, 9 Sep 2014 01:10:20 +0000 (18:10 -0700)]
Merge "No longer use use_lastframe_partitioning speed feature"

9 years agoFix VS build issue.
Paul Wilkins [Mon, 8 Sep 2014 22:27:33 +0000 (15:27 -0700)]
Fix VS build issue.

Compile fails when CONFIG_INTERNAL_STATS
flag is set.

Change-Id: Iba7701c058169ca3fc0b9008619ac55a1fe1a8b6

9 years agoMerge "[spatial svc]Add layer bitrates options and clean up parsing options from...
Minghai Shang [Mon, 8 Sep 2014 20:10:21 +0000 (13:10 -0700)]
Merge "[spatial svc]Add layer bitrates options and clean up parsing options from string"

9 years agoMerge "Fixing Mac OS build."
Johann [Mon, 8 Sep 2014 18:36:03 +0000 (11:36 -0700)]
Merge "Fixing Mac OS build."

9 years agoMerge "vp8 encoder: remove vp8_yv12_copy_partial_frame_neon"
Johann [Mon, 8 Sep 2014 17:07:11 +0000 (10:07 -0700)]
Merge "vp8 encoder: remove vp8_yv12_copy_partial_frame_neon"

9 years agoMerge "Fix a visual studio warning"
Yaowu Xu [Mon, 8 Sep 2014 16:17:21 +0000 (09:17 -0700)]
Merge "Fix a visual studio warning"

9 years agovp8 encoder: remove vp8_yv12_copy_partial_frame_neon
Jia Jia [Fri, 5 Sep 2014 06:10:52 +0000 (06:10 +0000)]
vp8 encoder: remove vp8_yv12_copy_partial_frame_neon

Use generic C implementation instead of neon-specific code

Change-Id: Ib322b4ece9cdbd4de76a9eed3d2e9fd1d8542406

9 years agoFixing Mac OS build.
Dmitry Kovalev [Mon, 8 Sep 2014 15:53:12 +0000 (08:53 -0700)]
Fixing Mac OS build.

Change-Id: Ifae8906185a868a07685eb7a7da2484af95e70a7

9 years agoMerge "Enable adaptive motion search for ARF coding"
Jingning Han [Mon, 8 Sep 2014 15:51:05 +0000 (08:51 -0700)]
Merge "Enable adaptive motion search for ARF coding"

9 years agoMerge "Replacing vp9_get_mb_ss_sse2 asm implementation with intrinsics."
Dmitry Kovalev [Sun, 7 Sep 2014 08:30:38 +0000 (01:30 -0700)]
Merge "Replacing vp9_get_mb_ss_sse2 asm implementation with intrinsics."

9 years agolibyuv: cherry-pick MSVC arm build fix
James Zern [Sat, 6 Sep 2014 17:25:19 +0000 (10:25 -0700)]
libyuv: cherry-pick MSVC arm build fix

Issue 24479004: Fix building with MSVC for arm
https://webrtc-codereview.appspot.com/24479004/

Change-Id: I758b33a21f46e46af6e58d83b7c045262ac9c7d9

9 years agoReplacing vp9_get_mb_ss_sse2 asm implementation with intrinsics.
Dmitry Kovalev [Sat, 6 Sep 2014 07:10:25 +0000 (00:10 -0700)]
Replacing vp9_get_mb_ss_sse2 asm implementation with intrinsics.

Change-Id: Ib4f5dd733eb2939b108070a01e83da5d9990bac0

9 years agovp9_pick_inter_mode: normalize some types
James Zern [Sun, 17 Aug 2014 00:05:02 +0000 (17:05 -0700)]
vp9_pick_inter_mode: normalize some types

Change-Id: I4c74dcab6358817f03d3bc4d526006d241f0c10e

9 years agovp9_pick_inter_mode: cosmetics: localize var. defs
James Zern [Sat, 16 Aug 2014 23:58:31 +0000 (16:58 -0700)]
vp9_pick_inter_mode: cosmetics: localize var. defs

Change-Id: Ifbfc142291697a1847ef85ced0b0eb4d6dab161e

9 years agovp9_pick_inter_mode: cosmetics: add const
James Zern [Sat, 16 Aug 2014 23:55:25 +0000 (16:55 -0700)]
vp9_pick_inter_mode: cosmetics: add const

Change-Id: I2450b4856e48dbc4d5b938b2edcea0704f756c8e

9 years agovp9_pick_inter_mode: cosmetics: fix indent
James Zern [Sun, 17 Aug 2014 00:03:59 +0000 (17:03 -0700)]
vp9_pick_inter_mode: cosmetics: fix indent

+ delete a dead comment

Change-Id: Ibdb07f6dbdb30fc7888f6115ddc326fcec1157a7

9 years agovp9_pickmode: move PRED_BUFFER definition to .c
James Zern [Sun, 17 Aug 2014 00:15:27 +0000 (17:15 -0700)]
vp9_pickmode: move PRED_BUFFER definition to .c

Change-Id: I3737772fe53f9885c82e2ac4c1af478ab951c16c

9 years agovp9_pickmode: make vp9_pick_inter_mode() void
James Zern [Sat, 16 Aug 2014 23:47:44 +0000 (16:47 -0700)]
vp9_pickmode: make vp9_pick_inter_mode() void

the previous return value was constant and unused.

Change-Id: Ic3be55edb4a884448c7bb07977a80dfb58b7b940

9 years agoMerge "Removing postproc mmx code."
Dmitry Kovalev [Sat, 6 Sep 2014 01:11:08 +0000 (18:11 -0700)]
Merge "Removing postproc mmx code."

9 years agoNo longer use use_lastframe_partitioning speed feature
Yunqing Wang [Fri, 5 Sep 2014 22:44:52 +0000 (15:44 -0700)]
No longer use use_lastframe_partitioning speed feature

The speedup in rd_pick_partition() function makes it possible
to drop use_lastframe_partitioning feature. By doing that, we
achieve good PSNR gain with small speed loss. Also, this makes
encoding loop less complicated. The code cleanup patch will
follow.

Borg tests showed:
1. At speed 2,
   stdhd set: 0.201% PSNR gain, 0.133% SSIM gain;
   derf set:  0.262% PSNR gain, 0.276% SSIM gain.
2. At speed 3,
   stdhd set: 0.139% PSNR gain, 0.109% SSIM gain;
   derf set:  0.447% PSNR gain, 0.442% SSIM gain.

The average speed loss over selected test clips is within 1%
with the worst case of 4%.

Change-Id: Icfd2ded7869372b585a6972855d933b3d0280d90

9 years agoMerge "Correct the mode decisions in special cases"
Yunqing Wang [Fri, 5 Sep 2014 20:45:41 +0000 (13:45 -0700)]
Merge "Correct the mode decisions in special cases"

9 years ago[spatial svc]Add layer bitrates options and clean up parsing options from string
Minghai Shang [Thu, 4 Sep 2014 23:35:28 +0000 (16:35 -0700)]
[spatial svc]Add layer bitrates options and clean up parsing options from string

Change-Id: I6e8d3f08c8a8ce3555a498feba471ba9fec411c6

9 years agoMerge "Initializing intra modes without vpx_once()."
Dmitry Kovalev [Fri, 5 Sep 2014 19:03:36 +0000 (12:03 -0700)]
Merge "Initializing intra modes without vpx_once()."

9 years agoMerge changes I7b9f40dc,I76e74f2e
James Zern [Fri, 5 Sep 2014 19:01:59 +0000 (12:01 -0700)]
Merge changes I7b9f40dc,I76e74f2e

* changes:
  vp9: correct context buffer resize check
  vp9: fail decode if block/frame refs are corrupt

9 years agoCorrect the mode decisions in special cases
Yunqing Wang [Thu, 4 Sep 2014 22:16:12 +0000 (15:16 -0700)]
Correct the mode decisions in special cases

The rate costs calculated for inter modes are not precise in some
cases, which causes NEWMV is chosen instead of NEARESTMV, NEARMV,
and ZEROMV. This patch added checks for these cases, and corrected
the mode decisions.

Borg tests at speed 3 showed:
1. stdhd set: 0.102% PSNR gain and 0.088% SSIM gain.
2. derf set:  0.147% PSNR gain and 0.132% SSIM gain.
No speed change.

Change-Id: I35d17684b89ad4734fb610942d707899146426db

9 years agoMerge "fix x86-darwin* build"
James Zern [Fri, 5 Sep 2014 18:58:55 +0000 (11:58 -0700)]
Merge "fix x86-darwin* build"

9 years agoMerge "vp9: skip loopfilter when the frame is corrupt"
James Zern [Fri, 5 Sep 2014 18:58:09 +0000 (11:58 -0700)]
Merge "vp9: skip loopfilter when the frame is corrupt"

9 years agoRemoving postproc mmx code.
Dmitry Kovalev [Fri, 5 Sep 2014 18:52:24 +0000 (11:52 -0700)]
Removing postproc mmx code.

Removed functions:
* vp9_post_proc_down_and_across_mmx
* vp9_mbpost_proc_down_mmx
* vp9_plane_add_noise_mmx

They all have sse2 equivalent.

Change-Id: I59c1fac12b7c96ca4538d455e4400c2b7875feff

9 years agoMerge "Adding temp cpi var."
Dmitry Kovalev [Fri, 5 Sep 2014 17:31:41 +0000 (10:31 -0700)]
Merge "Adding temp cpi var."

9 years agovp8 common: change 'HAVE_NEON_ASM' to 'HAVE_NEON' for compiling functions of NEON...
Jia Jia [Fri, 5 Sep 2014 05:02:22 +0000 (05:02 +0000)]
vp8 common: change 'HAVE_NEON_ASM' to 'HAVE_NEON' for compiling functions of NEON intrinsics.

Change-Id: I975e5eac16f8b623ff589f0ec072cdaff2183b04

9 years agofix x86-darwin* build
James Zern [Fri, 5 Sep 2014 06:32:13 +0000 (23:32 -0700)]
fix x86-darwin* build

vp9_variance_sse2.c contains a mix of intrinsics and references to
assembly which uses x86inc.asm; it's conditionally included as a result.

Change-Id: I254451483a65881c0b8e18e27bf0c3ddef60c4ec

9 years agobilinearpredict_neon: fix type conversion warnings
James Zern [Fri, 11 Jul 2014 07:05:57 +0000 (00:05 -0700)]
bilinearpredict_neon: fix type conversion warnings

make bifilter4_coeff[][] uint8_t, no values exceed this range and
they're loaded with vdup_n_u8().

Change-Id: I921983e9edd828d29820e40ac30a7801dbe0fb4f

9 years agovp9: correct context buffer resize check
James Zern [Thu, 4 Sep 2014 23:05:18 +0000 (16:05 -0700)]
vp9: correct context buffer resize check

allocations within vp9_alloc_context_buffers() rely on mi_rows/mi_cols
individually, use those to determine whether to realloc rather than
stride and stride * rows. this fixes a crash with some fuzzed files for
invalid accesses into last_frame_seg_map and above_context.

Change-Id: I7b9f40dcf170d443890f3bd2acd285507943c7d4

9 years agovp9: fail decode if block/frame refs are corrupt
James Zern [Thu, 4 Sep 2014 22:11:45 +0000 (15:11 -0700)]
vp9: fail decode if block/frame refs are corrupt

proceeding using a corrupt (incompletely decoded) frame reference may
lead to incorrect assumptions about allocation sizes leading to a crash.

Change-Id: I76e74f2e1be127c2e2c7e1174bb3307497dfd23d

9 years agoMerge "Removing sz member from vpx_codec_priv. "
Dmitry Kovalev [Fri, 5 Sep 2014 00:28:22 +0000 (17:28 -0700)]
Merge "Removing sz member from vpx_codec_priv. "

9 years agoMerge "Removing unused function prototypes."
Dmitry Kovalev [Fri, 5 Sep 2014 00:28:16 +0000 (17:28 -0700)]
Merge "Removing unused function prototypes."

9 years agoFix a visual studio warning
Yaowu Xu [Thu, 4 Sep 2014 00:02:31 +0000 (17:02 -0700)]
Fix a visual studio warning

Change-Id: I7f935e61c8c0ade7893a5212701f07bb346d78cb

9 years agoMerge "Map motion magnitude in VP9 denoiser."
JackyChen [Thu, 4 Sep 2014 23:59:53 +0000 (16:59 -0700)]
Merge "Map motion magnitude in VP9 denoiser."

9 years agoEnable adaptive motion search for ARF coding
Jingning Han [Thu, 4 Sep 2014 23:09:14 +0000 (16:09 -0700)]
Enable adaptive motion search for ARF coding

This commit turns on adaptive motion search for ARF coding, in
addition to other normal inter frame coding. It improves the
average compression efficiency:

stdhd 0.1%
derf  0.04%

For the test sequences, the speed 3 runtime is reduced:

pedestrian 1080p 2000 kbps, 149932 ms -> 144580 ms, (3.3% speed-up)
bus CIF 1000 kbps, 8050 ms -> 7895 ms, (1.9%)
highway CIF 100 bkps, 45033 ms -> 44078 ms, (2.2%)

Change-Id: I5228565b609f99e8ae04f6140a2bf2b64a831d21

9 years agoMerge "Speed up compound inter prediction mode check"
Jingning Han [Thu, 4 Sep 2014 23:09:07 +0000 (16:09 -0700)]
Merge "Speed up compound inter prediction mode check"

9 years agoMerge "Update the condition when COPY_BLOCK is chosen."
JackyChen [Thu, 4 Sep 2014 22:48:22 +0000 (15:48 -0700)]
Merge "Update the condition when COPY_BLOCK is chosen."

9 years agoMerge "Removing local set_speed_features() function."
Dmitry Kovalev [Thu, 4 Sep 2014 22:36:52 +0000 (15:36 -0700)]
Merge "Removing local set_speed_features() function."

9 years agoMap motion magnitude in VP9 denoiser.
JackyChen [Thu, 4 Sep 2014 21:44:46 +0000 (14:44 -0700)]
Map motion magnitude in VP9 denoiser.

This is to keep the same with VP8 denoiser.
If motion magnitude is small,
make denoiser more aggressive.

Change-Id: I942a6e2f2ed9aec6f0c4c1f9e5fa47066cadcc0c

9 years agoAdding temp cpi var.
Dmitry Kovalev [Thu, 4 Sep 2014 21:51:29 +0000 (14:51 -0700)]
Adding temp cpi var.

Change-Id: Ifa3c1cc2317c1bc21d1042b9662b35056d1e9ed0

9 years agoRemoving sz member from vpx_codec_priv.
Dmitry Kovalev [Thu, 4 Sep 2014 21:47:42 +0000 (14:47 -0700)]
Removing sz member from vpx_codec_priv.

Change-Id: I811526a9ee9f237604f72abe7fc677e39e0f457f

9 years agoUpdate the condition when COPY_BLOCK is chosen.
JackyChen [Thu, 4 Sep 2014 21:08:18 +0000 (14:08 -0700)]
Update the condition when COPY_BLOCK is chosen.

The change is just to keep the condition the same with VP8.

Change-Id: I9662b40996126605945dd853c0cbe8916c1ce578

9 years agoMerge "Actually resetting random generator for all variance test cases."
Dmitry Kovalev [Thu, 4 Sep 2014 21:27:04 +0000 (14:27 -0700)]
Merge "Actually resetting random generator for all variance test cases."

9 years agoRemoving unused function prototypes.
Dmitry Kovalev [Thu, 4 Sep 2014 21:26:30 +0000 (14:26 -0700)]
Removing unused function prototypes.

Change-Id: Ia5e383e2cf18052f6f1eacf8b9495ab8e4d58878

9 years agoMerge "Fix a bug in VP9 denoiser."
JackyChen [Thu, 4 Sep 2014 21:16:26 +0000 (14:16 -0700)]
Merge "Fix a bug in VP9 denoiser."

9 years agoMerge "Adding sse2 variant for vp9_mse{8x8, 8x16, 16x8}."
Dmitry Kovalev [Thu, 4 Sep 2014 20:59:37 +0000 (13:59 -0700)]
Merge "Adding sse2 variant for vp9_mse{8x8, 8x16, 16x8}."

9 years agoActually resetting random generator for all variance test cases.
Dmitry Kovalev [Thu, 4 Sep 2014 19:24:52 +0000 (12:24 -0700)]
Actually resetting random generator for all variance test cases.

Calling Reset(int) method instead of overloaded operator()(int).
Adding underscore at the end of class member name.

Change-Id: I01934e7bc056d4b594e5d05d693328febd34ac3c

9 years agoFix a bug in VP9 denoiser.
JackyChen [Thu, 4 Sep 2014 18:16:56 +0000 (11:16 -0700)]
Fix a bug in VP9 denoiser.

When the first try of denoising turns out to be too much,
we will use a softer filter by adopting an adjustment to
make the result closer to original pixel (as in VP8 denoiser).
The old code made the adjustment in the wrong direction.

Change-Id: I84e28fa9e01eef47c5a37d5a2e6d3d378a06786b

9 years agoMerge "arm: Fix building vp8_subpixelvariance_neon.c with MSVC"
James Zern [Thu, 4 Sep 2014 18:00:53 +0000 (11:00 -0700)]
Merge "arm: Fix building vp8_subpixelvariance_neon.c with MSVC"

9 years agoRevert "Revert "VP8 for ARMv8 by using NEON intrinsics 10""
Scott LaVarnway [Tue, 2 Sep 2014 12:27:28 +0000 (05:27 -0700)]
Revert "Revert "VP8 for ARMv8 by using NEON intrinsics 10""

This reverts commit 677fb5123e0ece1d6c30be9d0282e1e1f594a56d

Compiles with 4.6.

Change-Id: I7f87048911b6bc28a61741d95501fa45ee97b819

9 years agovp8 common: change 'HAVE_NEON_ASM' to 'HAVE_NEON' for compiling idct_blk_neon.c.
Jia Jia [Thu, 4 Sep 2014 09:36:18 +0000 (09:36 +0000)]
vp8 common: change 'HAVE_NEON_ASM' to 'HAVE_NEON' for compiling idct_blk_neon.c.

Change-Id: Ib89107fb824b5fe58afef6841104d5a27b2e0f2d

9 years agoarm: Fix building vp8_subpixelvariance_neon.c with MSVC
Martin Storsjo [Thu, 4 Sep 2014 06:23:08 +0000 (09:23 +0300)]
arm: Fix building vp8_subpixelvariance_neon.c with MSVC

Use the right return values - vget_low_s64 returns int64x1_t, not
a normal int64_t.

Also make __builtin_prefetch a no-op on MSVC for this file.

Change-Id: I4d2fce01d0ba106b98d3d53b137803119c2c2c08

9 years agoMerge "Consistent allocation of vpx_codec_alg_priv_t."
Dmitry Kovalev [Thu, 4 Sep 2014 02:41:28 +0000 (19:41 -0700)]
Merge "Consistent allocation of vpx_codec_alg_priv_t."

9 years agoAdding sse2 variant for vp9_mse{8x8, 8x16, 16x8}.
Dmitry Kovalev [Tue, 2 Sep 2014 19:09:14 +0000 (12:09 -0700)]
Adding sse2 variant for vp9_mse{8x8, 8x16, 16x8}.

Change-Id: I6786d25ce4f32b8d8912f2d239a45ca15b310c4b

9 years agoMerge "Replacing asm 16x16 variance calculation with intrinsics."
Dmitry Kovalev [Thu, 4 Sep 2014 01:57:33 +0000 (18:57 -0700)]
Merge "Replacing asm 16x16 variance calculation with intrinsics."

9 years agoMerge "Small cleanup: reusing existing code."
Dmitry Kovalev [Thu, 4 Sep 2014 01:57:25 +0000 (18:57 -0700)]
Merge "Small cleanup: reusing existing code."

9 years agoMerge "Add a more complex SEG_LVL_SKIP test vector."
Yaowu Xu [Thu, 4 Sep 2014 00:17:12 +0000 (17:17 -0700)]
Merge "Add a more complex SEG_LVL_SKIP test vector."

9 years agoSpeed up compound inter prediction mode check
Jingning Han [Wed, 3 Sep 2014 00:32:12 +0000 (17:32 -0700)]
Speed up compound inter prediction mode check

This commit allows the encoder to store outcomes of single reference
frame modes and compares them to decide if the inter prediction
filter, forward transform, and quantization can be skipped.

The compression performance of speed 3 is down
derf  -0.364%
stdhd -0.198%

For test sequences, the speed 3 runtime is reduced
highway CIF 100 kbps, 51976 ms -> 45033 ms, 13% speed-up
stockholm 720p 1000 kbps, 71826 ms -> 67838 ms, 5.5% speed-up
pedestrian 1080p 2000 kbps, 154924 ms -> 150702 ms, 2.6% speed-up

Change-Id: I5aa26f918d2b4b5197a2c0afa2779319f1c88e44

9 years agoAdd a more complex SEG_LVL_SKIP test vector.
Alex Converse [Wed, 3 Sep 2014 22:08:49 +0000 (15:08 -0700)]
Add a more complex SEG_LVL_SKIP test vector.

This file changes the segmentation map, deactivates the map, and
reactivates the map.

Change-Id: I1c8b8949887257b9f4c49a1a9ba9a7c74666ef2e

9 years agoMerge "Change last_partition_redo_frequency for speed 3"
Yaowu Xu [Wed, 3 Sep 2014 21:57:02 +0000 (14:57 -0700)]
Merge "Change last_partition_redo_frequency for speed 3"

9 years agoMerge "Remove redundant code"
Yaowu Xu [Wed, 3 Sep 2014 21:55:28 +0000 (14:55 -0700)]
Merge "Remove redundant code"

9 years agoMerge "Make process_denoise_mode_change function cond-compiled."
Marco [Wed, 3 Sep 2014 20:58:16 +0000 (13:58 -0700)]
Merge "Make process_denoise_mode_change function cond-compiled."

9 years agoNeon version of vp8_build_intra_predictors_mby_s() and
Scott LaVarnway [Wed, 3 Sep 2014 18:26:27 +0000 (11:26 -0700)]
Neon version of vp8_build_intra_predictors_mby_s() and

vp8_build_intra_predictors_mbuv_s().

This patch replaces the assembly version with an intrinsic
version.

On a Nexus 7, vpxenc (in realtime mode, speed -12)
reported a performance improvement of ~2.6%.

Change-Id: I9ef65bad929450c0215253fdae1c16c8b4a8f26f

9 years agoVP8 for ARMv8 by using NEON intrinsics 17
Scott LaVarnway [Tue, 26 Aug 2014 19:13:03 +0000 (12:13 -0700)]
VP8 for ARMv8 by using NEON intrinsics 17

Add vp8_subpixelvariance_neon.c
- vp8_sub_pixel_variance16x16_neon_func
- vp8_variance_halfpixvar16x16_h_neon
- vp8_variance_halfpixvar16x16_v_neon
- vp8_variance_halfpixvar16x16_hv_neon
- vp8_sub_pixel_variance8x8_neon

Change-Id: I3e5d85b2eafc26be0eef6a777789b80e4579257b
Signed-off-by: James Yu <james.yu@linaro.org>
9 years agoMerge "Revert "Revert "VP8 for ARMv8 by using NEON intrinsics 06" This reverts commit...
Johann [Wed, 3 Sep 2014 20:27:11 +0000 (13:27 -0700)]
Merge "Revert "Revert "VP8 for ARMv8 by using NEON intrinsics 06" This reverts commit 81ad047ee57ecb0e2c1ee4dcebda54a44ea54ae9. Revert "VP8 for ARMv8 by using NEON intrinsics 15" This reverts commit 727af7cebe3698b8493ba6c1360b0a6606c310fb.""

9 years agoMerge "Cleaning up vp9_variance_avx2.c."
Dmitry Kovalev [Wed, 3 Sep 2014 20:21:38 +0000 (13:21 -0700)]
Merge "Cleaning up vp9_variance_avx2.c."

9 years agoMerge "Merge two similar functions into one"
Yaowu Xu [Wed, 3 Sep 2014 20:00:02 +0000 (13:00 -0700)]
Merge "Merge two similar functions into one"

9 years agoSmall cleanup: reusing existing code.
Dmitry Kovalev [Wed, 3 Sep 2014 19:20:29 +0000 (12:20 -0700)]
Small cleanup: reusing existing code.

Change-Id: Iac4775ad98e988f2b9cf5bd0dc91ab994d0262ce

9 years agoMerge "Removing duplicated code."
Dmitry Kovalev [Wed, 3 Sep 2014 19:11:37 +0000 (12:11 -0700)]
Merge "Removing duplicated code."

9 years agoMerge "select_tx_mode(): remove special case for key frame"
Yaowu Xu [Wed, 3 Sep 2014 18:54:44 +0000 (11:54 -0700)]
Merge "select_tx_mode(): remove special case for key frame"

9 years agoMake process_denoise_mode_change function cond-compiled.
Marco [Wed, 3 Sep 2014 18:35:06 +0000 (11:35 -0700)]
Make process_denoise_mode_change function cond-compiled.

This function is called only when temporal denoising is enabled.

Change-Id: I25a036e3d628edd34410d6e6fe1f9e68a90a8e56

9 years agoInitializing intra modes without vpx_once().
Dmitry Kovalev [Thu, 28 Aug 2014 23:48:42 +0000 (16:48 -0700)]
Initializing intra modes without vpx_once().

Change-Id: I0a9d52432f2500f1bd8f43f229e70e38bb9a0343

9 years agoMerge two similar functions into one
Yaowu Xu [Tue, 2 Sep 2014 19:42:34 +0000 (12:42 -0700)]
Merge two similar functions into one

intra_super_block_yrd() and inter_super_block_yrd() are largely same,
this commit merges them into one to reduce code duplication.

Change-Id: I64d7042a5b099345627cf55663010c185b25ec37

9 years agoMerge "Removing clear_system_state() call from update_coef_probs()."
Dmitry Kovalev [Wed, 3 Sep 2014 18:05:45 +0000 (11:05 -0700)]
Merge "Removing clear_system_state() call from update_coef_probs()."

9 years agoConsistent allocation of vpx_codec_alg_priv_t.
Dmitry Kovalev [Wed, 3 Sep 2014 01:26:53 +0000 (18:26 -0700)]
Consistent allocation of vpx_codec_alg_priv_t.

Change-Id: I5a03496de035fbcf31e4527cd25fcae4627a57a0

9 years agoMerge "[svc] Temporal svc with two pass rate control"
Minghai Shang [Wed, 3 Sep 2014 17:51:19 +0000 (10:51 -0700)]
Merge "[svc] Temporal svc with two pass rate control"

9 years agoChange last_partition_redo_frequency for speed 3
Yaowu Xu [Wed, 3 Sep 2014 01:53:10 +0000 (18:53 -0700)]
Change last_partition_redo_frequency for speed 3

From 3 to 2, which seems to be slightly positive on compression for
all test sets, also reduces encoding time by 2%-5%, varying on the
test clips.

Change-Id: If045417bd27311700c919b4a335eff0dc1130ae0

9 years agoRemove redundant code
Yaowu Xu [Wed, 3 Sep 2014 01:00:49 +0000 (18:00 -0700)]
Remove redundant code

Change-Id: I453b167f03811a3cd3592089593b3f2823f62ab3

9 years agoselect_tx_mode(): remove special case for key frame
Yaowu Xu [Tue, 2 Sep 2014 23:21:57 +0000 (16:21 -0700)]
select_tx_mode(): remove special case for key frame

This commit removes the special case for key frame, as transform size
decision is controlled by the appropriate speed feature for all lossy
coding modes: tx_size_search_method.

Change-Id: I9677171e3f2432ec23705f7c5ea8170dd4562fae

9 years agoMerge "Add a test vector for SEG_LVL_SKIP."
Yaowu Xu [Wed, 3 Sep 2014 15:12:20 +0000 (08:12 -0700)]
Merge "Add a test vector for SEG_LVL_SKIP."

9 years agoMerge "Skip comp inter mode test in RD loop with same frame bias signs"
Paul Wilkins [Wed, 3 Sep 2014 09:26:47 +0000 (02:26 -0700)]
Merge "Skip comp inter mode test in RD loop with same frame bias signs"

9 years agoSkip comp inter mode test in RD loop with same frame bias signs
Jingning Han [Wed, 3 Sep 2014 01:05:03 +0000 (18:05 -0700)]
Skip comp inter mode test in RD loop with same frame bias signs

This commit allows the encoder to skip check on compound inter
modes in the rate-distortion optimization loop, if the reference
frame bias signs are the same.

Change-Id: Ib753e6bb11cbdd338aee69dbe2b649671f75a6b0

9 years agoRemoving duplicated code.
Dmitry Kovalev [Wed, 3 Sep 2014 00:57:35 +0000 (17:57 -0700)]
Removing duplicated code.

Change-Id: I7b5c776d5e6f5ca428b87fa9411ae4012a9538ba

9 years agoMerge "Removing MMX SAD calculation code."
Dmitry Kovalev [Wed, 3 Sep 2014 00:35:59 +0000 (17:35 -0700)]
Merge "Removing MMX SAD calculation code."