platform/upstream/libvpx.git
10 years agoMerge "Add superframe support for frame parallel decoding."
hkuang [Thu, 19 Jun 2014 19:16:37 +0000 (12:16 -0700)]
Merge "Add superframe support for frame parallel decoding."

10 years agoMerge "Separate rate-distortion modeling for DC and AC coefficients"
Jingning Han [Thu, 19 Jun 2014 18:47:55 +0000 (11:47 -0700)]
Merge "Separate rate-distortion modeling for DC and AC coefficients"

10 years agoMerge "Improved vp9 denoiser running avg update."
Tim Kopp [Thu, 19 Jun 2014 18:22:50 +0000 (11:22 -0700)]
Merge "Improved vp9 denoiser running avg update."

10 years agoMerge "Implemented COPY_BLOCK case for vp9 denoiser"
Tim Kopp [Thu, 19 Jun 2014 18:02:46 +0000 (11:02 -0700)]
Merge "Implemented COPY_BLOCK case for vp9 denoiser"

10 years agoAdd superframe support for frame parallel decoding.
hkuang [Fri, 13 Jun 2014 21:14:02 +0000 (14:14 -0700)]
Add superframe support for frame parallel decoding.

A superframe is a bunch of frames that bundled as one frame. It is mostly
used to combine one or more non-displayable frames and one displayable frame.

For frame parallel decoding, libvpx decoder will only support decoding one
normal frame or a super frame with superframe index.

If an application pass a superframe without superframe index or a chunk
of displayable frames without superframe index to libvpx decoder, libvpx
will not decode it in frame parallel mode. But libvpx decoder still could
decode it in serial mode.

Change-Id: I04c9f2c828373d64e880a8c7bcade5307015ce35

10 years agoMerge "Modify non-rd intra mode checking"
Yunqing Wang [Thu, 19 Jun 2014 16:30:04 +0000 (09:30 -0700)]
Merge "Modify non-rd intra mode checking"

10 years agoMerge "sse4 regular quantize"
Johann [Thu, 19 Jun 2014 15:45:07 +0000 (08:45 -0700)]
Merge "sse4 regular quantize"

10 years agoImproved vp9 denoiser running avg update.
Tim Kopp [Thu, 12 Jun 2014 23:05:01 +0000 (16:05 -0700)]
Improved vp9 denoiser running avg update.

Change-Id: Ie0aa41fb7957755544321897b3bb2dd92f392027

10 years agoImplemented COPY_BLOCK case for vp9 denoiser
Tim Kopp [Thu, 12 Jun 2014 21:45:42 +0000 (14:45 -0700)]
Implemented COPY_BLOCK case for vp9 denoiser

Change-Id: Ie89ad1e3aebbd474e1a0db69c1961b4d1ddcd33e

10 years agoMerge "Changed buf_2ds in vp9 denoiser to YV12 buffers"
Tim Kopp [Thu, 19 Jun 2014 15:40:34 +0000 (08:40 -0700)]
Merge "Changed buf_2ds in vp9 denoiser to YV12 buffers"

10 years agoMerge "Update running avg for VP9 denoiser"
Tim Kopp [Thu, 19 Jun 2014 15:39:38 +0000 (08:39 -0700)]
Merge "Update running avg for VP9 denoiser"

10 years agoMerge "Implemented vp9_denoiser_{alloc,free}()"
Tim Kopp [Thu, 19 Jun 2014 15:38:41 +0000 (08:38 -0700)]
Merge "Implemented vp9_denoiser_{alloc,free}()"

10 years agoMerge "iosbuild.sh: Add vpx_config.h and vpx_version.h to VPX.framework."
Tom Finegan [Wed, 18 Jun 2014 23:57:36 +0000 (16:57 -0700)]
Merge "iosbuild.sh: Add vpx_config.h and vpx_version.h to VPX.framework."

10 years agoMerge "Removing decode_one_iter() function."
Dmitry Kovalev [Wed, 18 Jun 2014 23:42:29 +0000 (16:42 -0700)]
Merge "Removing decode_one_iter() function."

10 years agosse4 regular quantize
Johann [Tue, 5 Mar 2013 22:22:09 +0000 (14:22 -0800)]
sse4 regular quantize

Change-Id: Ibd95df0adf9cc9143006ee9032b4cb2ebfd5dd1b

10 years agoChanged buf_2ds in vp9 denoiser to YV12 buffers
Tim Kopp [Thu, 12 Jun 2014 20:53:49 +0000 (13:53 -0700)]
Changed buf_2ds in vp9 denoiser to YV12 buffers

Changed alloc, free, and running average code as necessary.

Change-Id: Ifc4d9ccca462164214019963b3768a457791b9c1

10 years agoUpdate running avg for VP9 denoiser
Tim Kopp [Wed, 11 Jun 2014 23:22:38 +0000 (16:22 -0700)]
Update running avg for VP9 denoiser

Change-Id: I9577d648542064052795bf5770428fbd5c276b7b

10 years agoImplemented vp9_denoiser_{alloc,free}()
Tim Kopp [Wed, 11 Jun 2014 23:12:21 +0000 (16:12 -0700)]
Implemented vp9_denoiser_{alloc,free}()

Change-Id: I79eba79f7c52eec19ef2356278597e06620d5e27

10 years agoMerge "Improve vp9_rb_bytes_read"
Adrian Grange [Wed, 18 Jun 2014 21:02:06 +0000 (14:02 -0700)]
Merge "Improve vp9_rb_bytes_read"

10 years agoiosbuild.sh: Add vpx_config.h and vpx_version.h to VPX.framework.
Tom Finegan [Wed, 18 Jun 2014 19:51:30 +0000 (12:51 -0700)]
iosbuild.sh: Add vpx_config.h and vpx_version.h to VPX.framework.

- Rename build_targets to build_framework
- Add functions for creating the vpx_config shim and obtaining
  preproc symbols.

Change-Id: Ieca6938b9779077eefa26bf4cfee64286d1840b0

10 years agoModify non-rd intra mode checking
Yunqing Wang [Tue, 17 Jun 2014 23:59:28 +0000 (16:59 -0700)]
Modify non-rd intra mode checking

Speed 6 uses small tx size, namely 8x8. max_intra_bsize needs to
be modified accordingly to ensure valid intra mode checking.
Borg test on RTC set showed an overall PSNR gain of 0.335% in speed
-6.

This also changes speed -5 encoding by allowing DC_PRED checking
for block32x32. Borg test on RTC set showed a slight PSNR gain of
0.145%, and no noticeable speed change.

Change-Id: I1502978d8fbe265b3bb235db0f9c35ba0703cd45

10 years agoSeparate rate-distortion modeling for DC and AC coefficients
Jingning Han [Wed, 18 Jun 2014 17:50:38 +0000 (10:50 -0700)]
Separate rate-distortion modeling for DC and AC coefficients

This is the first step to rework the rate-distortion modeling used
in rtc coding mode. The overall goal is to make the modeling
customized for the statistics encountered in the rtc coding.

This commit makes encoder to perform rate-distortion modeling for
DC and AC coefficients separately. No speed changes observed.
The coding performance for pedestrian_area_1080p is largely
improved:

speed -5, from 79558 b/f, 37.871 dB -> 79598 b/f, 38.600 dB
speed -6, from 79515 b/f, 37.822 dB -> 79544 b/f, 38.130 dB

Overall performance for rtc set at speed -6 is improved by 0.67%.

Change-Id: I9153444567e5f75ccdcaac043c2365992c005c0c

10 years agoImprove vp9_rb_bytes_read
Adrian Grange [Wed, 18 Jun 2014 15:31:45 +0000 (08:31 -0700)]
Improve vp9_rb_bytes_read

Change-Id: I69eba120eb3d8ec43b5552451c8a9bd009390795

10 years agoMerge "gen_msvs_proj: fix in tree configure under cygwin"
James Zern [Wed, 18 Jun 2014 02:35:03 +0000 (19:35 -0700)]
Merge "gen_msvs_proj: fix in tree configure under cygwin"

10 years agoMerge "Moving RD-opt related code from vp9_encoder.h to vp9_rdopt.h."
Dmitry Kovalev [Tue, 17 Jun 2014 21:20:17 +0000 (14:20 -0700)]
Merge "Moving RD-opt related code from vp9_encoder.h to vp9_rdopt.h."

10 years agoMerge "skip the un-necessary motion search in the first pass"
Pengchong Jin [Tue, 17 Jun 2014 19:08:42 +0000 (12:08 -0700)]
Merge "skip the un-necessary motion search in the first pass"

10 years agoMerge "iosbuild.sh: Add missing function comments."
Tom Finegan [Tue, 17 Jun 2014 17:34:36 +0000 (10:34 -0700)]
Merge "iosbuild.sh: Add missing function comments."

10 years agoMerge "vp8 denoising: add bias factor to zero_mv sse."
Marco Paniconi [Tue, 17 Jun 2014 15:34:30 +0000 (08:34 -0700)]
Merge "vp8 denoising: add bias factor to zero_mv sse."

10 years agoMerge "Fix C versions of DC calculation functions"
Jingning Han [Tue, 17 Jun 2014 01:33:21 +0000 (18:33 -0700)]
Merge "Fix C versions of DC calculation functions"

10 years agoMerge "vp9_rtcd: correct avx2 references"
James Zern [Tue, 17 Jun 2014 00:39:13 +0000 (17:39 -0700)]
Merge "vp9_rtcd: correct avx2 references"

10 years agoiosbuild.sh: Add missing function comments.
Tom Finegan [Tue, 17 Jun 2014 00:04:38 +0000 (17:04 -0700)]
iosbuild.sh: Add missing function comments.

Change-Id: Ib23a59475d566a7b7f44071614d730ceecfcfa60

10 years agoMerge "example tests: Make failures due to incorrect bin path easier to diagnose."
Tom Finegan [Mon, 16 Jun 2014 23:16:49 +0000 (16:16 -0700)]
Merge "example tests: Make failures due to incorrect bin path easier to diagnose."

10 years agovp8 denoising: add bias factor to zero_mv sse.
Marco Paniconi [Mon, 16 Jun 2014 18:29:02 +0000 (11:29 -0700)]
vp8 denoising: add bias factor to zero_mv sse.

Change-Id: I95818754424e89f0d56c6d9c0c5709e6f84fa46a

10 years agogen_msvs_proj: fix in tree configure under cygwin
James Zern [Fri, 13 Jun 2014 03:51:39 +0000 (20:51 -0700)]
gen_msvs_proj: fix in tree configure under cygwin

strip trailing '/' from paths, this is later converted to '\' which
causes execution errors for obj_int_extract/yasm. vs10+ wasn't affected
by this issue, but make the same change for consistency.

gen_msvs_proj:
+ add missing '"' to obj_int_extract call
  unlike gen_msvs_vcproj, the block is duplicated
  missed in: 1e3d9b9 build/msvs: fix builds in source dirs with spaces

Change-Id: I76208e6cdc66dc5a0a7ffa8aa1edbefe31e4b130

10 years agoMerge "vp9_pickmode.c: fix vs12 compiler warnings"
Dmitry Kovalev [Mon, 16 Jun 2014 19:07:48 +0000 (12:07 -0700)]
Merge "vp9_pickmode.c: fix vs12 compiler warnings"

10 years agoexample tests: Make failures due to incorrect bin path easier to diagnose.
Tom Finegan [Mon, 16 Jun 2014 17:57:00 +0000 (10:57 -0700)]
example tests: Make failures due to incorrect bin path easier to diagnose.

Add elog() to tools_common, and checks for the executable in each test.

Change-Id: I3c6334eca62c0b56040d91145abbe1bf5f9c763c

10 years agoMerge "Add non420 support to vp9_extend_frame_borders."
Alex Converse [Mon, 16 Jun 2014 17:33:31 +0000 (10:33 -0700)]
Merge "Add non420 support to vp9_extend_frame_borders."

10 years agoMerge "Fix out of boundary memory read in fuzz test on vpxdec"
Jingning Han [Mon, 16 Jun 2014 17:27:30 +0000 (10:27 -0700)]
Merge "Fix out of boundary memory read in fuzz test on vpxdec"

10 years agoskip the un-necessary motion search in the first pass
Pengchong Jin [Mon, 16 Jun 2014 16:17:45 +0000 (09:17 -0700)]
skip the un-necessary motion search in the first pass

This patch allows the VP9 encoder to skip the un-necessary
motion search in the first pass. It computes the motion error
of 0,0 motion using the last source frame as the reference,
and skips the further motion search if this error is small.

Borg test shows overall the patch gives PSNR gain (derf -0.001%,
yt 0.341%, hd 0.282%). Individual clips may have PSNR gain or
loss. The best PSNR performance is 7.347% and the worst is -0.662%.
The first pass encoding speedup for slideshow clips is over 30%.

Change-Id: I4cac4dbd911f277ee858e161f3ca652c771344fe

10 years agovp9_pickmode.c: fix vs12 compiler warnings
unknown [Sun, 15 Jun 2014 19:40:16 +0000 (12:40 -0700)]
vp9_pickmode.c: fix vs12 compiler warnings

Change-Id: I5042b76a7050c121bf960ecb20c79d35adcc4cd5

10 years agoMerge "iosbuild.sh: Move to build/make and tidy up a bit."
Tom Finegan [Fri, 13 Jun 2014 23:31:56 +0000 (16:31 -0700)]
Merge "iosbuild.sh: Move to build/make and tidy up a bit."

10 years agoMerge "test/tools_common.sh: Log all shared variables in verbose mode."
Tom Finegan [Fri, 13 Jun 2014 23:31:49 +0000 (16:31 -0700)]
Merge "test/tools_common.sh: Log all shared variables in verbose mode."

10 years agoFix C versions of DC calculation functions
Jingning Han [Fri, 13 Jun 2014 23:04:21 +0000 (16:04 -0700)]
Fix C versions of DC calculation functions

This commit fixes the scaling factors used in the C versions of the
DC calculation functions.

Change-Id: Iab41108c2bb93c2f2e78667214f3a772a2b707b5

10 years agoMerge "Delay decreasing reference count in frame-parallel decoding."
hkuang [Fri, 13 Jun 2014 22:28:24 +0000 (15:28 -0700)]
Merge "Delay decreasing reference count in frame-parallel decoding."

10 years agoMerge "Revert "skip un-neccessary motion search in the first pass""
Yunqing Wang [Fri, 13 Jun 2014 22:21:26 +0000 (15:21 -0700)]
Merge "Revert "skip un-neccessary motion search in the first pass""

10 years agoMerge "Allow for deblocking temporal-denoised signal."
Marco Paniconi [Fri, 13 Jun 2014 21:51:59 +0000 (14:51 -0700)]
Merge "Allow for deblocking temporal-denoised signal."

10 years agoAllow for deblocking temporal-denoised signal.
Marco Paniconi [Fri, 13 Jun 2014 17:08:09 +0000 (10:08 -0700)]
Allow for deblocking temporal-denoised signal.

Allow for an option to selectively apply the deblocking loop filter to the denoised
raw block, based on the denoised state (no-filter, filter with zero motion, or filter with non-zero motion)
of the current block and its upper and left denoised block.
This helps to reduce some blocking artifacts from the motion-compensated denoising.

Change-Id: I0ac4e70076df69a98c5391979e739a2681e24ae6

10 years agoMoving RD-opt related code from vp9_encoder.h to vp9_rdopt.h.
Dmitry Kovalev [Fri, 13 Jun 2014 19:34:40 +0000 (12:34 -0700)]
Moving RD-opt related code from vp9_encoder.h to vp9_rdopt.h.

Change-Id: I8fab776c8801e19d3f5027ed55a6aa69eee951de

10 years agoReplacing RC_MODE with vpx_rc_mode.
Dmitry Kovalev [Fri, 13 Jun 2014 19:22:35 +0000 (12:22 -0700)]
Replacing RC_MODE with vpx_rc_mode.

Both enums are identical.
Change-Id: I06653f9c90a2d3a2dd5c741e75b17ee7d066a56f

10 years agotest/tools_common.sh: Log all shared variables in verbose mode.
Tom Finegan [Fri, 13 Jun 2014 18:18:43 +0000 (11:18 -0700)]
test/tools_common.sh: Log all shared variables in verbose mode.

Several variables were not being logged.

Change-Id: I2f2ded19470a73c4551bbb1abbd6e4d27bd59fac

10 years agoFix out of boundary memory read in fuzz test on vpxdec
Jingning Han [Thu, 12 Jun 2014 19:23:06 +0000 (12:23 -0700)]
Fix out of boundary memory read in fuzz test on vpxdec

This commit fixes frame header decoding for superframe index, to
prevent out of boundary memory read triggered by fuzz test
vector. It resolves a chromium security violation issue
crbug.com/376802.

The issue was introduced in the change:

Add VPXD_SET_DECRYPTOR support to the VP9 decoder.
cl-id I88f86c8ff9af34e0b6531028b691921b54c2fc48

where the buffer was read before validation check on index offset
applied.

A test vector is added accordingly.

Change-Id: I41c988e776bbdd1033312a668e03a3dbcf44ca99

10 years agoiosbuild.sh: Move to build/make and tidy up a bit.
Tom Finegan [Fri, 13 Jun 2014 18:03:56 +0000 (11:03 -0700)]
iosbuild.sh: Move to build/make and tidy up a bit.

Change-Id: I625beea9db4b5f6db8f177c580a3adeac760a662

10 years agoRevert "skip un-neccessary motion search in the first pass"
Paul Wilkins [Fri, 13 Jun 2014 17:52:19 +0000 (18:52 +0100)]
Revert "skip un-neccessary motion search in the first pass"

This patch appears to have introduced non-determinism and/or
mismatch from debug vs release.

This reverts commit 5daef90efc4613efd7e7ee80ba4e1ecf9a57a966.

Change-Id: I80081e55cfeaaa821b510b58a4e6e6328003c7da

10 years agoDelay decreasing reference count in frame-parallel decoding.
hkuang [Tue, 10 Jun 2014 21:48:16 +0000 (14:48 -0700)]
Delay decreasing reference count in frame-parallel decoding.

The current decoding scheme will decrease the reference count
of the output frame when finish decoding. Then the application
could copy the frame from the decoder buffer to application buffer.
In frame-parallel decoding, a decoded frame will not be outputted
until several frames later which depends on thread numbers. So
the decoded frame's reference count should be decreased only
after application finish copying the frame out. But due to the
limitation of vpx_codec_get_frame, decoder could not know when
application finish decoding. So use a index last_show_frame to
release the last output frame's reference count.

Change-Id: I403ee0d01148ac1182e5a2d87cf7dcc302b51e63

10 years agoMerge "Use lrand48 on Android"
Johann [Fri, 13 Jun 2014 17:51:49 +0000 (10:51 -0700)]
Merge "Use lrand48 on Android"

10 years agoMerge "Add VPX.framework built script."
Tom Finegan [Fri, 13 Jun 2014 17:36:49 +0000 (10:36 -0700)]
Merge "Add VPX.framework built script."

10 years agoMerge "Added skeleton for VP9 denoiser"
Tim Kopp [Fri, 13 Jun 2014 16:44:39 +0000 (09:44 -0700)]
Merge "Added skeleton for VP9 denoiser"

10 years agoMerge "Cleaning up accumulate_frame_motion_stats()."
Paul Wilkins [Fri, 13 Jun 2014 09:27:03 +0000 (02:27 -0700)]
Merge "Cleaning up accumulate_frame_motion_stats()."

10 years agoAdd VPX.framework built script.
Tom Finegan [Fri, 13 Jun 2014 03:44:44 +0000 (20:44 -0700)]
Add VPX.framework built script.

Builds a framework for use on iOS targets.

Change-Id: I2e42d77d1d83e15dc7e84232255da26809ee31bb

10 years agoUse lrand48 on Android
Johann [Fri, 13 Jun 2014 02:16:59 +0000 (19:16 -0700)]
Use lrand48 on Android

When building x86 assembly use lrand48 instead of the
undocumented inlined _rand function.

Android now supports rand()
https://android-review.googlesource.com/97731
but only for new versions. Original workaround:
https://gerrit.chromium.org/gerrit/15744

Change-Id: I130566837d5bfc9e54187ebe9807350d1a7dab2a

10 years agoMerge "Adding MV_SPEED_FEATURES struct."
Dmitry Kovalev [Fri, 13 Jun 2014 00:15:33 +0000 (17:15 -0700)]
Merge "Adding MV_SPEED_FEATURES struct."

10 years agoAdded skeleton for VP9 denoiser
Tim Kopp [Thu, 5 Jun 2014 21:00:08 +0000 (14:00 -0700)]
Added skeleton for VP9 denoiser

Change-Id: Iccf6ede4c4f85646b0f8daec47050ce93e267c90

10 years agoMerge "Added OUTPUT_YUV_DENOISED CFLAG to VP8 encoder"
Tim Kopp [Thu, 12 Jun 2014 22:10:53 +0000 (15:10 -0700)]
Merge "Added OUTPUT_YUV_DENOISED CFLAG to VP8 encoder"

10 years agoMerge "Initially add frame_parallel_decode flag."
hkuang [Thu, 12 Jun 2014 22:01:38 +0000 (15:01 -0700)]
Merge "Initially add frame_parallel_decode flag."

10 years agoMerge "Removing unused ssim_weighted_pred_err field from FIRSTPASS_STATS."
Dmitry Kovalev [Thu, 12 Jun 2014 21:16:18 +0000 (14:16 -0700)]
Merge "Removing unused ssim_weighted_pred_err field from FIRSTPASS_STATS."

10 years agoAdding MV_SPEED_FEATURES struct.
Dmitry Kovalev [Thu, 12 Jun 2014 19:35:57 +0000 (12:35 -0700)]
Adding MV_SPEED_FEATURES struct.

Moving all motion vector related speed parameters from SPEED_FEATURES to
MV_SPEED_FEATURES.

Change-Id: I3e9af0039c7162f8671878c5920bce3cb256a84e

10 years agoMerge "Moving full_pixel_search() to vp9_mcomp.c."
Dmitry Kovalev [Thu, 12 Jun 2014 21:12:45 +0000 (14:12 -0700)]
Merge "Moving full_pixel_search() to vp9_mcomp.c."

10 years agoMerge "Adding is_altref_enabled() function."
Dmitry Kovalev [Thu, 12 Jun 2014 20:24:42 +0000 (13:24 -0700)]
Merge "Adding is_altref_enabled() function."

10 years agoMerge "Replacing txfm_size with tx_size."
Dmitry Kovalev [Thu, 12 Jun 2014 20:07:11 +0000 (13:07 -0700)]
Merge "Replacing txfm_size with tx_size."

10 years agoMoving full_pixel_search() to vp9_mcomp.c.
Dmitry Kovalev [Thu, 12 Jun 2014 20:06:37 +0000 (13:06 -0700)]
Moving full_pixel_search() to vp9_mcomp.c.

Change-Id: I12389f801ebd3bd2ae3bf31e125433bfb429ee65

10 years agoAdding is_altref_enabled() function.
Dmitry Kovalev [Thu, 12 Jun 2014 19:13:20 +0000 (12:13 -0700)]
Adding is_altref_enabled() function.

Change-Id: I54cdb4ce11590511e6f86bc2fd55771f1c18a20a

10 years agoMerge "Fast computation path for forward transform and quantization"
Jingning Han [Thu, 12 Jun 2014 18:59:52 +0000 (11:59 -0700)]
Merge "Fast computation path for forward transform and quantization"

10 years agoReplacing txfm_size with tx_size.
Dmitry Kovalev [Thu, 12 Jun 2014 18:57:26 +0000 (11:57 -0700)]
Replacing txfm_size with tx_size.

Change-Id: Ifa6374e9db5919322733b656e0865f5f19ee6f2c

10 years agoRemoving unused ssim_weighted_pred_err field from FIRSTPASS_STATS.
Dmitry Kovalev [Tue, 3 Jun 2014 21:07:47 +0000 (14:07 -0700)]
Removing unused ssim_weighted_pred_err field from FIRSTPASS_STATS.

Change-Id: Ia8c7e3905ac21732cb6b8099eaf8df72c7e36b73

10 years agoFast computation path for forward transform and quantization
Jingning Han [Fri, 30 May 2014 01:14:17 +0000 (18:14 -0700)]
Fast computation path for forward transform and quantization

This commit enables a fast path computational flow for forward
transformation. It checks the sse and variance of prediction
residuals and decides if the quantized coefficients are all
zero, dc only, or more. It then selects the corresponding coding
path in the forward transformation and quantization stage.

It is currently enabled in rtc coding mode. Will do it for rd
coding mode next.

In speed -6, the runtime for pedestrian_area 1080p at 1000 kbps
goes down from 14234 ms to 13704 ms, i.e., about 4% speed-up.
Overall coding performance for rtc set is changed by -0.18%.

Change-Id: I0452da1786d59bc8bcbe0a35fdae9f623d1d44e1

10 years agoMerge "Fix SEG_LVL_SKIP in non-RD inter mode selection."
Alex Converse [Thu, 12 Jun 2014 17:38:06 +0000 (10:38 -0700)]
Merge "Fix SEG_LVL_SKIP in non-RD inter mode selection."

10 years agoMerge "Fix SEG_LVL_SKIP in RD inter mode selection."
Alex Converse [Thu, 12 Jun 2014 17:37:20 +0000 (10:37 -0700)]
Merge "Fix SEG_LVL_SKIP in RD inter mode selection."

10 years agoMerge "skip un-neccessary motion search in the first pass"
Yunqing Wang [Thu, 12 Jun 2014 16:43:47 +0000 (09:43 -0700)]
Merge "skip un-neccessary motion search in the first pass"

10 years agoskip un-neccessary motion search in the first pass
Pengchong Jin [Wed, 4 Jun 2014 00:16:00 +0000 (17:16 -0700)]
skip un-neccessary motion search in the first pass

This patch allows the encoder to skip the
un-neccessary motion search in the first pass. It
calculates the error of the zero motion vector using
the last source frame as reference and skips the
further motion search in the first pass if the error
is small.

The encoding speedup of the first pass for slideshow
videos is over 30%. Borg test shows the overall PSNR
performance remain approximately the same (derf -0.009,
hd 0.387, yt 0.021, stdhd 0.065). Individual clips may
have either PSNR gain or loss. The worst PSNR perfomance
is from yt set, with a PSNR loss of -1.1.

Change-Id: I08b2ab110b695e4689573b2567fa531b6457616e

10 years agoMerge "[spatial svc]Combine first and second pass test to keep stats data in memory."
Minghai Shang [Thu, 12 Jun 2014 01:12:38 +0000 (18:12 -0700)]
Merge "[spatial svc]Combine first and second pass test to keep stats data in memory."

10 years agoFix SEG_LVL_SKIP in non-RD inter mode selection.
Alex Converse [Fri, 30 May 2014 00:48:28 +0000 (17:48 -0700)]
Fix SEG_LVL_SKIP in non-RD inter mode selection.

Add a set_mode_info_seg_skip function that fills the requisite mode info.

Change-Id: I460b1b6845d720d9b09ed5b64df0ea0aac443f62

10 years agoFix SEG_LVL_SKIP in RD inter mode selection.
Alex Converse [Thu, 29 May 2014 00:11:16 +0000 (17:11 -0700)]
Fix SEG_LVL_SKIP in RD inter mode selection.

* Only use ZEROMV, disalowing the intra modes that were previously
  tested.
* Score rate and distortion as zero.

Change-Id: Ifcf99e272095725f11da1dcd26bd0f850683e680

10 years agoInitially add frame_parallel_decode flag.
hkuang [Wed, 11 Jun 2014 23:06:50 +0000 (16:06 -0700)]
Initially add frame_parallel_decode flag.

Stub flag temporarily set to 0 until frame parallel
decoding implementations are finished.

Change-Id: I8ab768138e8f8f8eb809875703b2502ea0fe7cea

10 years agoMerge "Add target armv7s-darwin-gcc."
Tom Finegan [Wed, 11 Jun 2014 19:13:11 +0000 (12:13 -0700)]
Merge "Add target armv7s-darwin-gcc."

10 years agoAdd non420 support to vp9_extend_frame_borders.
Alex Converse [Wed, 11 Jun 2014 18:54:07 +0000 (11:54 -0700)]
Add non420 support to vp9_extend_frame_borders.

Fixes an encoder/decoder mismatch problem.

Change-Id: I573b3a2b7ba2171a1a380ff201b082b084e7ade1

10 years ago[spatial svc]Combine first and second pass test to keep stats data in memory.
Minghai Shang [Mon, 9 Jun 2014 20:32:27 +0000 (13:32 -0700)]
[spatial svc]Combine first and second pass test to keep stats data in memory.

Change-Id: Idccbfe35bebe6f05655bd54da7d8b616b1bffe03

10 years agoAdd target armv7s-darwin-gcc.
Tom Finegan [Wed, 11 Jun 2014 01:52:58 +0000 (18:52 -0700)]
Add target armv7s-darwin-gcc.

Really just armv7. This is a convenience target intended to make iOS
development with libvpx easier. Xcode projects with default settings
will fail to build when a framework lacks armv7s support when targetting
iOS7.

Change-Id: I7eb80d52eec25501febc0d2c3c0b4ed964b8ed5b

10 years agoMerge "Cleaning up vp9_variance_mmx.c."
Dmitry Kovalev [Wed, 11 Jun 2014 00:27:12 +0000 (17:27 -0700)]
Merge "Cleaning up vp9_variance_mmx.c."

10 years agoMerge "Removing two unused TX_SIZE_SEARCH_METHOD members."
Dmitry Kovalev [Wed, 11 Jun 2014 00:26:41 +0000 (17:26 -0700)]
Merge "Removing two unused TX_SIZE_SEARCH_METHOD members."

10 years agovp9_rtcd: correct avx2 references
James Zern [Tue, 10 Jun 2014 23:26:36 +0000 (16:26 -0700)]
vp9_rtcd: correct avx2 references

s/"\$avx2_x86inc"/"avx2"/

avx2 code is all intrinsics and as a result doesn't rely on x86inc.asm

Change-Id: I76ad39474d8a00658f3e43131830ef0f4f34772a

10 years agoMerge changes I6abc0657,I8224fba2,I04f64a45,I5d49d119,I76b4d171,I88c11ac3
James Zern [Tue, 10 Jun 2014 23:14:44 +0000 (16:14 -0700)]
Merge changes I6abc0657,I8224fba2,I04f64a45,I5d49d119,I76b4d171,I88c11ac3

* changes:
  vp9_sub_pixel_*variance*: disable avx2 variants
  vp9_sad*x4d: disable avx2 variants
  vp9_f(dct|ht): disable avx2 variants
  convolve: disable avx2 variants
  fdct8x8_test: add missing avx2 functions
  dct4x4_test: add missing avx2 functions

10 years agovp9_sub_pixel_*variance*: disable avx2 variants
James Zern [Mon, 9 Jun 2014 01:25:37 +0000 (18:25 -0700)]
vp9_sub_pixel_*variance*: disable avx2 variants

tests failing under Win32/Win64

+ variance_test: add missing avx2 functions (partially disabled)

Change-Id: I6abc0657ea076379ab9ca65c12678b9ea199849d

10 years agovp9_sad*x4d: disable avx2 variants
James Zern [Mon, 9 Jun 2014 01:25:37 +0000 (18:25 -0700)]
vp9_sad*x4d: disable avx2 variants

tests failing under Win32/Win64

+ sad_test: add missing avx2 functions (disabled)

Change-Id: I8224fba2b270f6039ab1877d71e1e512f0081856

10 years agoMerge "Makefile: skip .d inclusion for 'testdata' target"
James Zern [Tue, 10 Jun 2014 22:58:59 +0000 (15:58 -0700)]
Merge "Makefile: skip .d inclusion for 'testdata' target"

10 years agoMerge "Add mode info arrays and mode info index."
hkuang [Tue, 10 Jun 2014 21:27:31 +0000 (14:27 -0700)]
Merge "Add mode info arrays and mode info index."

10 years agoAdd mode info arrays and mode info index.
hkuang [Mon, 9 Jun 2014 23:01:53 +0000 (16:01 -0700)]
Add mode info arrays and mode info index.

In non frame-parallel decoding, this works the same way as
current decoding scheme. Every time after decoder finish
decoding a frame, it will swap the current mode info pointer
and  previous mode info pointer if the decoded frame needs
to be shown. Both mode info pointer and previous mode info
pointer are from mode info arrays.

In frame-parallel decoding, this will become more complicated
as current frame's mode info pointer will be shared with next
frame as previous mode info pointer. But when one decoder
thread finishes decoding one frame and starts to work on next
available frame, it needs to retain the decoded frame's mode
info pointers until next frame finishes decoding. The mode info
index will serve this purpose. The decoder will use different
buffer in the mode info arrays and use the other buffer to save
previous decoded frame’s mode info.

Change-Id: If11d57d8eb0ee38c8876158e5482177fcb229428

10 years agoRemoving two unused TX_SIZE_SEARCH_METHOD members.
Dmitry Kovalev [Fri, 6 Jun 2014 01:46:13 +0000 (18:46 -0700)]
Removing two unused TX_SIZE_SEARCH_METHOD members.

Change-Id: I33a38bb9f46e7ef509bbbf0cfd7bc3ea5072d022

10 years agoMerge "Removing chessboard_index from SPEED_FEATURES."
Dmitry Kovalev [Tue, 10 Jun 2014 17:53:53 +0000 (10:53 -0700)]
Merge "Removing chessboard_index from SPEED_FEATURES."

10 years agoMerge "Removing unused motion_vector_context enum from vp9_encodeframe.c"
Dmitry Kovalev [Tue, 10 Jun 2014 17:53:25 +0000 (10:53 -0700)]
Merge "Removing unused motion_vector_context enum from vp9_encodeframe.c"

10 years agoMerge "Add x86_64-iphonesimulator-gcc target."
Tom Finegan [Tue, 10 Jun 2014 17:30:56 +0000 (10:30 -0700)]
Merge "Add x86_64-iphonesimulator-gcc target."