platform/upstream/libvpx.git
10 years agoMerge "Fix the bug which made VP8 denoiser not bit-exact between C code and SSE code."
JackyChen [Thu, 11 Sep 2014 01:08:59 +0000 (18:08 -0700)]
Merge "Fix the bug which made VP8 denoiser not bit-exact between C code and SSE code."

10 years agoMerge "vp9: wait for key/intra-only frame after corruption"
James Zern [Thu, 11 Sep 2014 00:02:37 +0000 (17:02 -0700)]
Merge "vp9: wait for key/intra-only frame after corruption"

10 years agoFix the bug which made VP8 denoiser not bit-exact between C code and SSE code.
JackyChen [Wed, 10 Sep 2014 20:19:42 +0000 (13:19 -0700)]
Fix the bug which made VP8 denoiser not bit-exact between C code and SSE code.

This issue is found when the denoising mode is set to kDenoiserOnYUVAggressive.
Updated the C code to make it the same with SSE version.

I also changed several lines in VP9 denoiser for the code style.

Change-Id: I640d48cf946fe8c6a400e6e252107501d1e226d3

10 years agoMerge "Fix a bug in vp9_rd_pick_inter_mode_sb"
Jingning Han [Wed, 10 Sep 2014 21:46:19 +0000 (14:46 -0700)]
Merge "Fix a bug in vp9_rd_pick_inter_mode_sb"

10 years agoMerge "Remove redundant ref frame pointer assignment"
Jingning Han [Wed, 10 Sep 2014 21:46:11 +0000 (14:46 -0700)]
Merge "Remove redundant ref frame pointer assignment"

10 years agoexamples/twopass_encoder: Use good quality.
Tom Finegan [Wed, 10 Sep 2014 18:10:29 +0000 (11:10 -0700)]
examples/twopass_encoder: Use good quality.

This speeds up the encode significantly. Also added a comment about using
best quality to keep new developers informed.

Change-Id: I04e8154d4b2c4cae07fe7cc9a71e707f649e9ed4

10 years agoMerge "LoopFilterWorkerData: remove misleading 'const'"
Jim Bankoski [Wed, 10 Sep 2014 13:33:51 +0000 (06:33 -0700)]
Merge "LoopFilterWorkerData: remove misleading 'const'"

10 years agovp9: wait for key/intra-only frame after corruption
James Zern [Wed, 10 Sep 2014 01:55:20 +0000 (18:55 -0700)]
vp9: wait for key/intra-only frame after corruption

don't bother decoding any further after receiving an earlier decode
error until a key/intra-only frame is encountered.

Change-Id: I381917b70d7a9e6f8d6de42e3d181bb113a4cec4

10 years agoMerge "Removing legacy compatibility layer."
Dmitry Kovalev [Wed, 10 Sep 2014 01:24:12 +0000 (18:24 -0700)]
Merge "Removing legacy compatibility layer."

10 years agoMerge changes If8887e1d,I36bfc9c8,I3d1e6c42
James Zern [Tue, 9 Sep 2014 23:50:28 +0000 (16:50 -0700)]
Merge changes If8887e1d,I36bfc9c8,I3d1e6c42

* changes:
  vp9_dthread: simplify loop_filter_row_worker signature
  simplify vp9_loop_filter_worker signature
  vp9_decodeframe: simplify tile_work_hook signature

10 years agoMerge changes I660c1b7f,Id3cdf6b6
James Zern [Tue, 9 Sep 2014 23:48:43 +0000 (16:48 -0700)]
Merge changes I660c1b7f,Id3cdf6b6

* changes:
  vp9_loop_filter_frame_mt: defer allocations
  vp9_loop_filter_alloc: reorder parameters

10 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

10 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

10 years agoMerge "Remove dependency of intra mode search skip check on mode order"
Jingning Han [Tue, 9 Sep 2014 21:10:28 +0000 (14:10 -0700)]
Merge "Remove dependency of intra mode search skip check on mode order"

10 years agoMerge "Replace best_mode_index table retrieve with fetching best_mbmode"
Jingning Han [Tue, 9 Sep 2014 21:10:19 +0000 (14:10 -0700)]
Merge "Replace best_mode_index table retrieve with fetching best_mbmode"

10 years agoMerge "Remove the use of use_lastframe_partitioning at speed 4"
Yunqing Wang [Tue, 9 Sep 2014 21:06:02 +0000 (14:06 -0700)]
Merge "Remove the use of use_lastframe_partitioning at speed 4"

10 years agoMerge "Restructure ARM assumptions in cpudetect"
Johann [Tue, 9 Sep 2014 20:01:14 +0000 (13:01 -0700)]
Merge "Restructure ARM assumptions in cpudetect"

10 years agoMerge "Cleaning up and speeding up vp9_idct32x32_1024_add_sse2()."
Dmitry Kovalev [Tue, 9 Sep 2014 19:50:23 +0000 (12:50 -0700)]
Merge "Cleaning up and speeding up vp9_idct32x32_1024_add_sse2()."

10 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

10 years agoMerge "Add an invalid file test for referencing a different color space."
Alex Converse [Tue, 9 Sep 2014 19:28:40 +0000 (12:28 -0700)]
Merge "Add an invalid file test for referencing a different color space."

10 years agoMerge "BITSTREAM CLARIFICATION: Forbid referencing across color spaces."
Alex Converse [Tue, 9 Sep 2014 19:28:37 +0000 (12:28 -0700)]
Merge "BITSTREAM CLARIFICATION: Forbid referencing across color spaces."

10 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

10 years agoRestructure ARM assumptions in cpudetect
Johann [Tue, 9 Sep 2014 18:48:25 +0000 (11:48 -0700)]
Restructure ARM assumptions in cpudetect

Allow building for targets which have NEON but not EDSP or MEDIA.

Set HAS_NEON flag for builds which have neon assembly but not
intrinsics.

Change-Id: Ibfa81a8444a8c55d1d3209c533d1d70d2f809669

10 years agoRemove the use of use_lastframe_partitioning at speed 4
Yunqing Wang [Tue, 9 Sep 2014 17:18:55 +0000 (10:18 -0700)]
Remove the use of use_lastframe_partitioning at speed 4

The use of use_lastframe_partitioning is totally removed in good-
quality encoding. Its usage in real-time encoding needs to be
evaluated to see if it can be removed too.

The Borg tests at speed 4 showed:
stdhd set: 0.220% psnr gain, 0.166% ssim gain;
derf set:  0.329% psnr gain, 0.476% ssim gain.

Speed test on selected clips showed 1.54% speedup.(Worst case:
pedestrian_area_1080p25.y4m, speed loss: 1.5%)

Change-Id: I1c844d329b0b5678558439b887297c1be7ddab00

10 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."

10 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

10 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

10 years agovp9_loop_filter_frame_mt: defer allocations
James Zern [Sun, 31 Aug 2014 03:33:52 +0000 (20:33 -0700)]
vp9_loop_filter_frame_mt: defer allocations

the code currently checks whether the allocation has been done instead
of allocating on the first frame.
since:
4f27202 vp9: fix crash in mt loopfilter w/corrupt file

this change defers the allocation until the loop filter is used.

Change-Id: I660c1b7f34e713a8dd9884483f01d23b9847366e

10 years agovp9_loop_filter_alloc: reorder parameters
James Zern [Sun, 31 Aug 2014 02:01:25 +0000 (19:01 -0700)]
vp9_loop_filter_alloc: reorder parameters

VP9LfSync lf_sync is being operated on, make it the first parameter as
in dealloc

Change-Id: Id3cdf6b6a48157627780ae0d5d4b7dfa94a78078

10 years agoLoopFilterWorkerData: remove misleading 'const'
James Zern [Tue, 9 Sep 2014 03:04:40 +0000 (20:04 -0700)]
LoopFilterWorkerData: remove misleading 'const'

'frame_buffer' is modified indirectly via 'planes'.

+ do the same for vp9_loop_filter_rows

Change-Id: Ibb7daa2e261064e4a5317a2969e3490e59891b82

10 years agovp9_dthread: simplify loop_filter_row_worker signature
James Zern [Sun, 31 Aug 2014 01:05:56 +0000 (18:05 -0700)]
vp9_dthread: simplify loop_filter_row_worker signature

use the type names directly in the function declaration rather than
(void *arg1, void *arg2)

Change-Id: If8887e1dbcdf84842783a92f91668bef6223c9e5

10 years agosimplify vp9_loop_filter_worker signature
James Zern [Sun, 31 Aug 2014 01:05:56 +0000 (18:05 -0700)]
simplify vp9_loop_filter_worker signature

use the type names directly in the function declaration rather than
(void *arg1, void *arg2)

Change-Id: I36bfc9c886310ce370bf0ca7c679ebd6e95109cc

10 years agovp9_decodeframe: simplify tile_work_hook signature
James Zern [Sun, 31 Aug 2014 01:05:56 +0000 (18:05 -0700)]
vp9_decodeframe: simplify tile_work_hook signature

use the type names directly in the function declaration rather than
(void *arg1, void *arg2)

Change-Id: I3d1e6c42d384d8e628d7f2075fa561c2c5e20749

10 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

10 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"

10 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

10 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"

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

10 years agoAdd an invalid file test for referencing a different color space.
Alex Converse [Thu, 4 Sep 2014 18:47:30 +0000 (11:47 -0700)]
Add an invalid file test for referencing a different color space.

Change-Id: I46472a524f5188b293332946be943bd15cfc8777

10 years agoBITSTREAM CLARIFICATION: Forbid referencing across color spaces.
Alex Converse [Tue, 2 Sep 2014 19:25:44 +0000 (12:25 -0700)]
BITSTREAM CLARIFICATION: Forbid referencing across color spaces.

Check image format of reference frames.

Change-Id: I7d8d7f097ba547839ff9cec3880bd15a4948ee06

10 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"

10 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"

10 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

10 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

10 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"

10 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."

10 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

10 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

10 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

10 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

10 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

10 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

10 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

10 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

10 years agoCleaning up and speeding up vp9_idct32x32_1024_add_sse2().
Dmitry Kovalev [Fri, 5 Sep 2014 23:36:59 +0000 (16:36 -0700)]
Cleaning up and speeding up vp9_idct32x32_1024_add_sse2().

Change-Id: If91017b792572c9db6e257011ca307bef8428486

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

10 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

10 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"

10 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

10 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()."

10 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

10 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

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

10 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"

10 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

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

10 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

10 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

10 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

10 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

10 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

10 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. "

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

10 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

10 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."

10 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

10 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"

10 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."

10 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."

10 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

10 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

10 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

10 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

10 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."

10 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

10 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."

10 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}."

10 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

10 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

10 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"

10 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

10 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

10 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

10 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."

10 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

10 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."

10 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."

10 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."

10 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

10 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