platform/upstream/libvpx.git
9 years ago[spatial svc] Remove useless APIs and variables
Minghai Shang [Thu, 11 Sep 2014 21:17:45 +0000 (14:17 -0700)]
[spatial svc] Remove useless APIs and variables

Change-Id: If8cd3879aa2a498a2b1b97cedb88b2b3bd97f0ba

9 years agoMerge "[spatial svc] Output psnr for all layers in one packet."
Minghai Shang [Fri, 12 Sep 2014 17:52:42 +0000 (10:52 -0700)]
Merge "[spatial svc] Output psnr for all layers in one packet."

9 years agoMerge "Unify intra mode mask into mode_skip_mask scheme"
Jingning Han [Fri, 12 Sep 2014 16:06:35 +0000 (09:06 -0700)]
Merge "Unify intra mode mask into mode_skip_mask scheme"

9 years agoAdds high bitdepth transform functions and tests
Deb Mukherjee [Tue, 2 Sep 2014 23:34:09 +0000 (16:34 -0700)]
Adds high bitdepth transform functions and tests

Adds various high bitdepth transform functions and tests.
Much of the changes are related to using typedefs tran_low_t
and tran_high_t for the final transform cofficients and intermediate
stages of the transform computation respectively rather than fixed
types int16_t/int. When vp9_highbitdepth configure flag is off,
these map tp int16_t/int32_t, but when the flag is on, they map
to int32_t/int64_t to make space for needed extra precision.

Change-Id: I3c56de79e15b904d6f655b62ffae170729befdd8

9 years agoAdds high bit depth sad and variance functions
Deb Mukherjee [Fri, 5 Sep 2014 22:00:54 +0000 (15:00 -0700)]
Adds high bit depth sad and variance functions

Moves high bit depth sad/var functions from highbitdepth
branch to master.

Change-Id: If03845d8ef9c9c494e13350e7a587c289306b94d

9 years ago[spatial svc] Output psnr for all layers in one packet.
Minghai Shang [Thu, 11 Sep 2014 18:28:03 +0000 (11:28 -0700)]
[spatial svc] Output psnr for all layers in one packet.

Change-Id: I97d0cf095e9cfefdfa0f65eb5e96d6848cc9ffca

9 years agoMerge "Allow specifying opt dependencies"
Johann [Thu, 11 Sep 2014 23:02:41 +0000 (16:02 -0700)]
Merge "Allow specifying opt dependencies"

9 years agoMerge "vp9_picklpf: search_filter_level: remove filt_err"
James Zern [Thu, 11 Sep 2014 22:39:19 +0000 (15:39 -0700)]
Merge "vp9_picklpf: search_filter_level: remove filt_err"

9 years agoMerge "[spatial svc] Remove handling frame and stats packets in the codec"
Minghai Shang [Thu, 11 Sep 2014 21:12:44 +0000 (14:12 -0700)]
Merge "[spatial svc] Remove handling frame and stats packets in the codec"

9 years agoAllow specifying opt dependencies
Johann [Wed, 10 Sep 2014 17:27:58 +0000 (10:27 -0700)]
Allow specifying opt dependencies

If optimizations use more than one cpu feature, allow
specifying them so that '--disable-X' still works

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

Change-Id: I3108ea37b397371a2be84dd5f2380b304db23f18

9 years agoMerge "Adding lossless encoding example."
Dmitry Kovalev [Thu, 11 Sep 2014 20:43:47 +0000 (13:43 -0700)]
Merge "Adding lossless encoding example."

9 years agoMerge "Remove inter_mode_mask from rate-distortion search loop"
Jingning Han [Thu, 11 Sep 2014 19:08:13 +0000 (12:08 -0700)]
Merge "Remove inter_mode_mask from rate-distortion search loop"

9 years agovp9_picklpf: search_filter_level: remove filt_err
James Zern [Sat, 6 Sep 2014 20:35:37 +0000 (13:35 -0700)]
vp9_picklpf: search_filter_level: remove filt_err

inspect ss_err[] directly, removes an unnecessary assignment

Change-Id: I14db5e8e567e7e541a57fce73389ffe7651d5614

9 years ago[spatial svc] Remove handling frame and stats packets in the codec
Minghai Shang [Thu, 11 Sep 2014 17:52:26 +0000 (10:52 -0700)]
[spatial svc] Remove handling frame and stats packets in the codec

1. svc_encodeframe.c will not handle frame or stats packets anymore.
   The app will process them.
2. Remove APIs that related to these packets.

Change-Id: Id0d7f8b458dc09c6f77064c0878fd4e572db001b

9 years agoAdding lossless encoding example.
Dmitry Kovalev [Wed, 10 Sep 2014 01:51:41 +0000 (18:51 -0700)]
Adding lossless encoding example.

Change-Id: Ib8498c3127c397b453beff140503b2aca0d11cfc

9 years agoMerge "Move intra block size skip outside mode search loop"
Jingning Han [Thu, 11 Sep 2014 18:15:35 +0000 (11:15 -0700)]
Merge "Move intra block size skip outside mode search loop"

9 years agoMerge "Fix format in vp9_rd_pick_inter_mode_sub8x8"
Jingning Han [Thu, 11 Sep 2014 18:15:25 +0000 (11:15 -0700)]
Merge "Fix format in vp9_rd_pick_inter_mode_sub8x8"

9 years agoMerge "Move overlay frame speed feature setting out of mode search loop"
Jingning Han [Thu, 11 Sep 2014 18:14:37 +0000 (11:14 -0700)]
Merge "Move overlay frame speed feature setting out of mode search loop"

9 years agoMerge "Refactor to remove speed feature dependency on mode search order"
Jingning Han [Thu, 11 Sep 2014 18:14:26 +0000 (11:14 -0700)]
Merge "Refactor to remove speed feature dependency on mode search order"

9 years agoUnify intra mode mask into mode_skip_mask scheme
Jingning Han [Thu, 11 Sep 2014 17:34:37 +0000 (10:34 -0700)]
Unify intra mode mask into mode_skip_mask scheme

Integrate intra mode mask speed feature with the mode_skip_mask
scheme. Move it outside the mode search loop in the
vp9_rd_pick_inter_mode_sb function.

Change-Id: I7738fea749bfdc08ad05d7f2524feb8ff67568d9

9 years agoMerge "[spatial svc]Add golden frame to first pass rate control"
Minghai Shang [Thu, 11 Sep 2014 17:24:28 +0000 (10:24 -0700)]
Merge "[spatial svc]Add golden frame to first pass rate control"

9 years agoRemove inter_mode_mask from rate-distortion search loop
Jingning Han [Thu, 11 Sep 2014 17:17:12 +0000 (10:17 -0700)]
Remove inter_mode_mask from rate-distortion search loop

This speed feature is used in real-time setting only. Remove the
related condition check in the rate-distortion optimization search
loop.

Change-Id: Iaacc1e268214634e6f95c5048c28a60cec6c42fc

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

9 years ago[spatial svc]Add golden frame to first pass rate control
Minghai Shang [Fri, 5 Sep 2014 23:36:51 +0000 (16:36 -0700)]
[spatial svc]Add golden frame to first pass rate control

Change-Id: If3035f0e7dfcfe88c4bbf4eec66761e070476df0

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

9 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

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

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

9 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

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

9 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

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

9 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

9 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

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

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

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

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

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

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

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

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

9 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

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

9 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

9 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

9 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

9 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

9 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

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

9 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

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

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