]> granicus.if.org Git - libvpx/log
libvpx
9 years agoRemove unnecessary pointer check
Johann [Tue, 3 Feb 2015 20:58:34 +0000 (12:58 -0800)]
Remove unnecessary pointer check

The original implementation had the following comment:
// Ignore mv costing if mvsadcost is NULL

However the current implementation does not allow for this.
If x exists then nmvsadcost must not be null.

This removes the only warning from -Wpointer-bool-conversion

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

Change-Id: I1a2cee340d7972d41e1bbbe1ec8dfbe917667085

9 years agoMerge "Fail when only an old nasm is found"
Johann [Tue, 3 Feb 2015 19:19:24 +0000 (11:19 -0800)]
Merge "Fail when only an old nasm is found"

9 years agoMerge "vp9_dthread: pass frame counts to decoder functions"
Yunqing Wang [Tue, 3 Feb 2015 18:52:02 +0000 (10:52 -0800)]
Merge "vp9_dthread: pass frame counts to decoder functions"

9 years agoMerge "Add mutex initialization in encoder"
Yaowu Xu [Tue, 3 Feb 2015 18:36:42 +0000 (10:36 -0800)]
Merge "Add mutex initialization in encoder"

9 years agoAdd mutex initialization in encoder
Yaowu Xu [Tue, 3 Feb 2015 17:52:21 +0000 (09:52 -0800)]
Add mutex initialization in encoder

This resolves the encoder crashes on windows.

Change-Id: I159d79014cf9279751e403936ce1f84482ae82da

9 years agoMerge "Ensure the error-concealment code is available"
Johann [Tue, 3 Feb 2015 17:40:12 +0000 (09:40 -0800)]
Merge "Ensure the error-concealment code is available"

9 years agovp9_dthread: pass frame counts to decoder functions
Yunqing Wang [Fri, 30 Jan 2015 18:14:44 +0000 (10:14 -0800)]
vp9_dthread: pass frame counts to decoder functions

The current multi-threaded tile decoder requires that the videoes
are encoded with frame_parallel_decoding_mode = 1. This requirement
is not necessary, and is better to be removed. This patch includes
the first part of the work.

Change-Id: Ic7695fb3cfe13f9022582c9f0edd2aa6e2e36d28

9 years agoFail when only an old nasm is found
Johann [Fri, 30 Jan 2015 22:39:01 +0000 (14:39 -0800)]
Fail when only an old nasm is found

Apple ships version 0.98 of nasm through at least XCode 6. It is
incompatible with the assembly in libvpx.

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

Change-Id: I33245a76f50a8224fe6fafa3cce9991f953fdcc8

9 years agoMerge "Fix a bug from merging frame parallel branch into master."
hkuang [Tue, 3 Feb 2015 01:08:42 +0000 (17:08 -0800)]
Merge "Fix a bug from merging frame parallel branch into master."

9 years agoFix a bug from merging frame parallel branch into master.
hkuang [Mon, 2 Feb 2015 23:34:21 +0000 (15:34 -0800)]
Fix a bug from merging frame parallel branch into master.

The merge did not merge the fix for issue #850.

Change-Id: I0dc1377dbfcb9497fb01a13d4f78ac65bff5eb33

9 years agoMerge "Require webm when explicitly requested"
Johann [Mon, 2 Feb 2015 21:13:04 +0000 (13:13 -0800)]
Merge "Require webm when explicitly requested"

9 years agoMerge "Allow larger encoder configurations."
Alex Converse [Mon, 2 Feb 2015 20:05:56 +0000 (12:05 -0800)]
Merge "Allow larger encoder configurations."

9 years agoRequire webm when explicitly requested
Johann [Fri, 30 Jan 2015 23:05:14 +0000 (15:05 -0800)]
Require webm when explicitly requested

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

Change-Id: I72841078ff81152d21d84ccf4d5548e757685a6d

9 years agoMerge "Abort if firstpass file does not exist"
Adrian Grange [Mon, 2 Feb 2015 16:11:14 +0000 (08:11 -0800)]
Merge "Abort if firstpass file does not exist"

9 years agoMerge "Optimize coef update"
Yaowu Xu [Mon, 2 Feb 2015 04:08:29 +0000 (20:08 -0800)]
Merge "Optimize coef update"

10 years agoTry again to merge branch 'frame-parallel' into master branch.
hkuang [Tue, 27 Jan 2015 20:26:28 +0000 (12:26 -0800)]
Try again to merge branch 'frame-parallel' into master branch.

In frame parallel decode, libvpx decoder decodes several frames on all
cpus in parallel fashion. If not being flushed, it will only return frame
when all the cpus are busy. If getting flushed, it will return all the
frames in the decoder. Compare with current serial decode mode in which
libvpx decoder is idle between decode calls, libvpx decoder is busy
between decode calls.

Current frame parallel decode will only speed up the decoding for frame
parallel encoded videos. For non frame parallel encoded videos, frame
parallel decode is slower than serial decode due to lack of loopfilter
worker thread.

There are still some known issues that need to be addressed. For example:
decode frame parallel videos with segmentation enabled is not right sometimes.

* frame-parallel:
  Add error handling for frame parallel decode and unit test for that.
  Fix a bug in frame parallel decode and add a unit test for that.
  Add two test vectors to test frame parallel decode.
  Add key frame seeking to webmdec and webm_video_source.
  Implement frame parallel decode for VP9.
  Increase the thread test range to cover 5, 6, 7, 8 threads.
  Fix a bug in adding frame parallel unit test.
  Add VP9 frame-parallel unit test.
  Manually pick "Make the api behavior conform to api spec." from master branch.
  Move vp9_dec_build_inter_predictors_* to decoder folder.
  Add segmentation map array for current and last frame segmentation.
  Include the right header for VP9 worker thread.
  Move vp9_thread.* to common.
  ctrl_get_reference does not need user_priv.
  Seperate the frame buffers from VP9 encoder/decoder structure.
  Revert "Revert "Revert "Revert 3 patches from Hangyu to get Chrome to build:"""
 Conflicts:
       test/codec_factory.h
       test/decode_test_driver.cc
       test/decode_test_driver.h
       test/invalid_file_test.cc
       test/test-data.sha1
       test/test.mk
       test/test_vectors.cc
       vp8/vp8_dx_iface.c
       vp9/common/vp9_alloccommon.c
       vp9/common/vp9_entropymode.c
       vp9/common/vp9_loopfilter_thread.c
       vp9/common/vp9_loopfilter_thread.h
       vp9/common/vp9_mvref_common.c
       vp9/common/vp9_onyxc_int.h
       vp9/common/vp9_reconinter.c
       vp9/decoder/vp9_decodeframe.c
       vp9/decoder/vp9_decodeframe.h
       vp9/decoder/vp9_decodemv.c
       vp9/decoder/vp9_decoder.c
       vp9/decoder/vp9_decoder.h
       vp9/encoder/vp9_encoder.c
       vp9/encoder/vp9_pickmode.c
       vp9/encoder/vp9_rdopt.c
       vp9/vp9_cx_iface.c
       vp9/vp9_dx_iface.c

This reverts commit a18da9760a74d9ce6fb9f875706dc639c95402f5.

Change-Id: I361442ffec1586d036ea2e0ee97ce4f077585f02

10 years agovp9: rename 'near' parameters
James Zern [Fri, 30 Jan 2015 23:52:24 +0000 (15:52 -0800)]
vp9: rename 'near' parameters

+ nearest for consistency

near is a reserved word in windows builds so using it as a parameter
name may cause build failures with some configurations

Change-Id: Iddf1d4ecdb39843f14e95dbfd9dca55f07f81403

10 years agoMerge "Format fixes in vp9_rd_pick_inter_mode_sb/sub8x8"
Jingning Han [Fri, 30 Jan 2015 23:49:14 +0000 (15:49 -0800)]
Merge "Format fixes in vp9_rd_pick_inter_mode_sb/sub8x8"

10 years agoMerge "configure: echo --(disable|enable)-* cmdline options"
James Zern [Fri, 30 Jan 2015 21:16:02 +0000 (13:16 -0800)]
Merge "configure: echo --(disable|enable)-* cmdline options"

10 years agoMerge "Explicitly include vp8_rtcd.h"
Johann [Fri, 30 Jan 2015 19:19:28 +0000 (11:19 -0800)]
Merge "Explicitly include vp8_rtcd.h"

10 years agoAbort if firstpass file does not exist
Adrian Grange [Fri, 30 Jan 2015 18:42:29 +0000 (10:42 -0800)]
Abort if firstpass file does not exist

This fixes a crash if the firstpass file does not
exist when doing a two-pass encode.

Change-Id: I3a1a95d68d57125c63123d6208af7537f5a689a0

10 years agoOptimize coef update
Yaowu Xu [Thu, 29 Jan 2015 18:22:48 +0000 (10:22 -0800)]
Optimize coef update

1. move the check of search method of USE_TX_8X8 up one level to
avoid operations of build_tree_distributions()
2. count tx used and avoid computaton for coef udpate when one size
is not used at all.

Change-Id: Ia3e54a2588aa531c41377a1bfaa64385d04a592c

10 years agoEnable use_x86inc for 32bit pic enabled Darwin target
Yunqing Wang [Thu, 29 Jan 2015 19:33:50 +0000 (11:33 -0800)]
Enable use_x86inc for 32bit pic enabled Darwin target

The previous patch "Fix issues in 32bit PIC enabled build" fixed
the x86inc.asm for macho32. Now we can enable use_x86inc while
building libvpx for 32bit pic enabled Darwin target, which makes
the encoder a lot faster(>2X) in this case by turning on the
existing optimizations.

Change-Id: I5f5c7add428d73f50c935c48d0a70aed2b1eb7af

10 years agoMerge "Fix issues in 32bit PIC enabled build"
Yunqing Wang [Fri, 30 Jan 2015 00:41:25 +0000 (16:41 -0800)]
Merge "Fix issues in 32bit PIC enabled build"

10 years agoAllow larger encoder configurations.
Alex Converse [Thu, 15 Jan 2015 21:56:55 +0000 (13:56 -0800)]
Allow larger encoder configurations.

Allow changing colorspace in the encoder and increasing frame size.

Change-Id: I8e7c3b891af29ce420a15beb4f6f9c250245b2bb

10 years agoMerge "Change to update of rate control factors."
Paul Wilkins [Thu, 29 Jan 2015 21:50:52 +0000 (13:50 -0800)]
Merge "Change to update of rate control factors."

10 years agoExplicitly include vp8_rtcd.h
Johann [Thu, 29 Jan 2015 17:59:16 +0000 (09:59 -0800)]
Explicitly include vp8_rtcd.h

When referencing RTCD functions make sure the relevant
header file is included.

Change-Id: Ia0d7112d4aff9b4d8fa94648f0702371b7484031
https://code.google.com/p/webm/issues/detail?id=937

10 years agoMerge "Fix to vp9 denoiser."
Marco [Thu, 29 Jan 2015 17:10:30 +0000 (09:10 -0800)]
Merge "Fix to vp9 denoiser."

10 years agoconfigure: echo --(disable|enable)-* cmdline options
James Zern [Thu, 29 Jan 2015 04:30:51 +0000 (20:30 -0800)]
configure: echo --(disable|enable)-* cmdline options

gives a better summary of what is enabled / disabled outside of the
automatic toolchain options.

fixes issue #936

Change-Id: I1bf27593a5512713aab1473cb606c58cf3084d62

10 years agoChange to update of rate control factors.
Paul Wilkins [Tue, 27 Jan 2015 02:17:14 +0000 (18:17 -0800)]
Change to update of rate control factors.

Remove damping parameter and use the damping
formula introduced by Yaowu Xu in all cases.

Change-Id: I18db7e0d0f262d5140102f259ab07821d374d285

10 years agoSimplify update_coef_probs()
Yaowu Xu [Wed, 28 Jan 2015 23:12:42 +0000 (15:12 -0800)]
Simplify update_coef_probs()

1. reduce the size of temporaray arrays on stack
2. avoid build_tree_distribution for tx size that is not used at all.

Change-Id: I0f8d7124e16a3789d3c15ad24cf02c1c12789e2c

10 years agoFix to vp9 denoiser.
Marco [Wed, 28 Jan 2015 18:24:25 +0000 (10:24 -0800)]
Fix to vp9 denoiser.

Prevent from using wrong mv for denoiser motion compensation.

Change-Id: Ifa0f9daabdbdab0900d3c17304059fe0d15de914

10 years agoMerge "vp8enc: Prevent out of bounds memory access."
Alex Converse [Wed, 28 Jan 2015 19:22:36 +0000 (11:22 -0800)]
Merge "vp8enc: Prevent out of bounds memory access."

10 years agoMerge "Add vp9_sad32x32x4d_neon Neon intrinsic function."
Frank Galligan [Wed, 28 Jan 2015 18:35:50 +0000 (10:35 -0800)]
Merge "Add vp9_sad32x32x4d_neon Neon intrinsic function."

10 years agoMerge "Add vp9_sad16x16x4d_neon Neon intrinsic function."
Frank Galligan [Wed, 28 Jan 2015 07:01:44 +0000 (23:01 -0800)]
Merge "Add vp9_sad16x16x4d_neon Neon intrinsic function."

10 years agoMerge "Add vp9_sad64x64x4d_neon Neon intrinsic function."
Frank Galligan [Wed, 28 Jan 2015 07:01:15 +0000 (23:01 -0800)]
Merge "Add vp9_sad64x64x4d_neon Neon intrinsic function."

10 years agoFix issues in 32bit PIC enabled build
Yunqing Wang [Tue, 27 Jan 2015 05:35:07 +0000 (21:35 -0800)]
Fix issues in 32bit PIC enabled build

This patch was to fix issue 924:
https://code.google.com/p/webm/issues/detail?id=924

The SECTION_RODATA macro was modified to support macho32 format.
The sub-pixel functions were modified to pass in 2 more parameters
to handle the global offsets for PIC build.

Change-Id: I3bfcd336bcae945edf300bca4ab40376a2628cd4

10 years agovp8enc: Prevent out of bounds memory access.
Alex Converse [Sat, 17 Jan 2015 00:02:05 +0000 (16:02 -0800)]
vp8enc: Prevent out of bounds memory access.

Prevent out of bounds access when attempting to increase frame size

Change-Id: I710c40c692802a72963c9680c2125da17f9060a9

10 years agoMerge "move clear_system_state() call before using double"
Yaowu Xu [Tue, 27 Jan 2015 20:42:13 +0000 (12:42 -0800)]
Merge "move clear_system_state() call before using double"

10 years agoMerge "Fix discovery of Darwin SDKs"
Johann [Tue, 27 Jan 2015 18:49:26 +0000 (10:49 -0800)]
Merge "Fix discovery of Darwin SDKs"

10 years agoAdd vp9_sad32x32x4d_neon Neon intrinsic function.
Frank Galligan [Sun, 25 Jan 2015 00:28:20 +0000 (16:28 -0800)]
Add vp9_sad32x32x4d_neon Neon intrinsic function.

On Nexus 7 speed -6 saw ~18% increase in perf.

Tested on Nexus 7, built with ndk r10d, gcc 4.9.

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

Change-Id: I70ccdea0326750552ed946fb004507d6efe02d5c

10 years agoAdd vp9_sad16x16x4d_neon Neon intrinsic function.
Frank Galligan [Sat, 24 Jan 2015 23:43:36 +0000 (15:43 -0800)]
Add vp9_sad16x16x4d_neon Neon intrinsic function.

On Nexus 7 speed -6 saw ~15% increase in perf.

Tested on Nexus 7, built with ndk r10d, gcc 4.9.

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

Change-Id: I4b2006b644c488f42bf06d8a22ef0e6120a96bf9

10 years agoAdd vp9_sad64x64x4d_neon Neon intrinsic function.
Frank Galligan [Sat, 24 Jan 2015 20:11:16 +0000 (12:11 -0800)]
Add vp9_sad64x64x4d_neon Neon intrinsic function.

On Nexus 7 speed -6 saw ~30% increase in perf.

Tested on Nexus 7, built with ndk r10d, gcc 4.9.

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

Change-Id: Id12af7d1883243c23e6692e898aea82299633d58

10 years agoMerge "aq-mode=3: Update to allow for refresh on modes other than zero-mv."
Marco [Tue, 27 Jan 2015 03:47:13 +0000 (19:47 -0800)]
Merge "aq-mode=3: Update to allow for refresh on modes other than zero-mv."

10 years agoFix discovery of Darwin SDKs
Lawrence Velázquez [Sat, 24 Jan 2015 03:30:23 +0000 (22:30 -0500)]
Fix discovery of Darwin SDKs

The current method doesn't work with Xcode 4 and up, since they no
longer have a $DEVELOPER_DIR/SDKs directory. Using xcrun and xcodebuild
works all the way back to Xcode 3 on OS X 10.6 Snow Leopard, if not
earlier.

Change-Id: I7126f2fb4a8f1d6e46f921e70bbd090f00ce3d36

10 years agomove clear_system_state() call before using double
Yaowu Xu [Mon, 26 Jan 2015 23:29:15 +0000 (15:29 -0800)]
move clear_system_state() call before using double

Floating point is used in vp9_convert_qindex_to_q(), so sometime unit
test ActiveMapTest would cause run time error without properly call
to clear_system_state to reset register status.

Change-Id: I181e9395148c44a6ca8b97d6e109bd4a152143c6

10 years agoMerge "Adjust active maxq for GF groups."
Paul Wilkins [Tue, 27 Jan 2015 02:19:09 +0000 (18:19 -0800)]
Merge "Adjust active maxq for GF groups."

10 years agoMerge "Fix MSVC warnings on conversion from int64 to int"
Yaowu Xu [Tue, 27 Jan 2015 00:52:30 +0000 (16:52 -0800)]
Merge "Fix MSVC warnings on conversion from int64 to int"

10 years agoaq-mode=3: Update to allow for refresh on modes other than zero-mv.
Marco [Thu, 22 Jan 2015 00:09:13 +0000 (16:09 -0800)]
aq-mode=3: Update to allow for refresh on modes other than zero-mv.

Add distortion threshold condition to refresh state of a coding block,
and allow for qp adjustment also for some intra modes and non-zero motion modes.

Also some code cleanup (remove unused variables/code).

Change-Id: I735fa2b28bc64f60e0323976b82510577b074203

10 years agoMerge "iosbuild.sh: Increase build speed."
Tom Finegan [Mon, 26 Jan 2015 23:10:18 +0000 (15:10 -0800)]
Merge "iosbuild.sh: Increase build speed."

10 years agoAdjust active maxq for GF groups.
Paul Wilkins [Tue, 20 Jan 2015 23:23:57 +0000 (15:23 -0800)]
Adjust active maxq for GF groups.

Currently disabled by default: enabled using
#define GROUP_ADAPTIVE_MAXQ

In this patch the active max Q is adjusted for each GF
group based on the vbr bit allocation and raw first pass
group error.

This will tend to give a lower q for easy sections
and a higher value for very hard sections. As such it is
expected to improve quality in some of the easier
sections where quality issues have been reported.

This change tends to hurt overall psnr but help
average psnr. SSIM also shows a small gain.

Average results for derf, yt, std-hd and yt-hd test sets were
as follows (%change for average psnr, overal psnr and ssim):-

derf +0.291, - 0.252, -0.021
yt +6.466, -1.436, +0.552
std-hd +0.490, +0.014, +0.380
yt-hd +5.565, - 1.573, +0.099

Change-Id: Icc015499cebbf2a45054a05e8e31f3dfb43f944a

10 years agoFix MSVC warnings on conversion from int64 to int
Yaowu Xu [Mon, 26 Jan 2015 18:54:06 +0000 (10:54 -0800)]
Fix MSVC warnings on conversion from int64 to int

Change-Id: I7e96509ffa36899fcd2935749927a1e8aac8d025

10 years agoAdd Neon intrinsic vp9_fdct8x8_quant_neon
Frank Galligan [Fri, 16 Jan 2015 03:29:46 +0000 (19:29 -0800)]
Add Neon intrinsic vp9_fdct8x8_quant_neon

On Nexus 7 speed -5 got ~2%, -6 got ~15%, -7 and -8 got ~30%
increase in perf.

Tested on Nexus 7, built with ndk r10d, gcc 4.9.

Change-Id: I83246d63b96674d170098a572fa4fe28a05aaf51

10 years agoMerge "Replace divide with look-up"
Yaowu Xu [Sat, 24 Jan 2015 05:12:18 +0000 (21:12 -0800)]
Merge "Replace divide with look-up"

10 years agox86: correct OSXSAVE + AVX bit check
James Zern [Fri, 23 Jan 2015 22:13:51 +0000 (14:13 -0800)]
x86: correct OSXSAVE + AVX bit check

the result should have both bits set; previously this was converted from
webp incorrectly and resulted in a boolean check...

Change-Id: I2a7c7f2b491945f3a536ab4fca02247eccc892b8

10 years agoFormat fixes in vp9_rd_pick_inter_mode_sb/sub8x8
Jingning Han [Fri, 23 Jan 2015 19:47:15 +0000 (11:47 -0800)]
Format fixes in vp9_rd_pick_inter_mode_sb/sub8x8

Add parentheses to bit operations.

Change-Id: I095d601f0631d055adc4b3a8fde70c9cbae9e749

10 years agoMerge "SSE2 code for the filter in MFQE."
JackyChen [Fri, 23 Jan 2015 19:08:16 +0000 (11:08 -0800)]
Merge "SSE2 code for the filter in MFQE."

10 years agoMerge "Remove elevate_newmv_thresh from SPEED_FEATURES (unused)"
Adrian Grange [Fri, 23 Jan 2015 17:57:03 +0000 (09:57 -0800)]
Merge "Remove elevate_newmv_thresh from SPEED_FEATURES (unused)"

10 years agoReplace divide with look-up
Yaowu Xu [Thu, 22 Jan 2015 23:27:43 +0000 (15:27 -0800)]
Replace divide with look-up

This commit replaces an integer divide with a table-lookup. It is
to improve decoding speed, and at the same time, to reduce possible
complications with a bug in AMD Family 12h processors:

"665 Integer Divide Instruction May Cause Unpredictable Behavior"

Change-Id: I678b707a538798a923850bac467e66e847e6def7

10 years agoMerge "Revert "Merge branch 'frame-parallel' to enable frame parallel decode in maste...
Johann [Fri, 23 Jan 2015 16:43:15 +0000 (08:43 -0800)]
Merge "Revert "Merge branch 'frame-parallel' to enable frame parallel decode in master branch.""

10 years agoRevert "Merge branch 'frame-parallel' to enable frame parallel decode in master branch."
Johann [Fri, 23 Jan 2015 16:42:02 +0000 (08:42 -0800)]
Revert "Merge branch 'frame-parallel' to enable frame parallel decode in master branch."

This reverts commit bde04ce5039cbcf86c8b34bdb4127e18d7e1d0c7

Change-Id: I053dae04c761b04a36dc239558503905a14d2470

10 years agoMerge "workaround stack bashing by asm on 32-bit OpenBSD"
James Zern [Fri, 23 Jan 2015 04:04:07 +0000 (20:04 -0800)]
Merge "workaround stack bashing by asm on 32-bit OpenBSD"

10 years agoMerge branch 'master' of ssh://gerrit.chromium.org:29418/webm/libvpx
hkuang [Fri, 23 Jan 2015 02:19:04 +0000 (18:19 -0800)]
Merge branch 'master' of ssh://gerrit.chromium.org:29418/webm/libvpx

* 'master' of ssh://gerrit.chromium.org:29418/webm/libvpx:
  Add libvpx build targets for OS X 10.10 Yosemite.

10 years agoMerge branch 'frame-parallel' to enable frame parallel decode in master branch.
hkuang [Wed, 21 Jan 2015 22:51:08 +0000 (14:51 -0800)]
Merge branch 'frame-parallel' to enable frame parallel decode in master branch.

In frame parallel decode, libvpx decoder decodes several frames on all
cpus in parallel fashion. If not being flushed, it will only return frame
when all the cpus are busy. If getting flushed, it will return all the
frames in the decoder. Compare with current serial decode mode in which
libvpx decoder is idle between decode calls, libvpx decoder is busy
between decode calls. VP9 frame parallel decode is >30% faster than serial
decode with tile parallel threading which will makes devices play 1080P
VP9 videos more easily.

* frame-parallel:
  Add error handling for frame parallel decode and unit test for that.
  Fix a bug in frame parallel decode and add a unit test for that.
  Add two test vectors to test frame parallel decode.
  Add key frame seeking to webmdec and webm_video_source.
  Implement frame parallel decode for VP9.
  Increase the thread test range to cover 5, 6, 7, 8 threads.
  Fix a bug in adding frame parallel unit test.
  Add VP9 frame-parallel unit test.
  Manually pick "Make the api behavior conform to api spec." from master branch.
  Move vp9_dec_build_inter_predictors_* to decoder folder.
  Add segmentation map array for current and last frame segmentation.
  Include the right header for VP9 worker thread.
  Move vp9_thread.* to common.
  ctrl_get_reference does not need user_priv.
  Seperate the frame buffers from VP9 encoder/decoder structure.
  Revert "Revert "Revert "Revert 3 patches from Hangyu to get Chrome to build:"""

 Conflicts:
       test/codec_factory.h
       test/decode_test_driver.cc
       test/decode_test_driver.h
       test/invalid_file_test.cc
       test/test-data.sha1
       test/test.mk
       test/test_vectors.cc
       vp8/vp8_dx_iface.c
       vp9/common/vp9_alloccommon.c
       vp9/common/vp9_entropymode.c
       vp9/common/vp9_loopfilter_thread.c
       vp9/common/vp9_loopfilter_thread.h
       vp9/common/vp9_mvref_common.c
       vp9/common/vp9_onyxc_int.h
       vp9/common/vp9_reconinter.c
       vp9/decoder/vp9_decodeframe.c
       vp9/decoder/vp9_decodeframe.h
       vp9/decoder/vp9_decodemv.c
       vp9/decoder/vp9_decoder.c
       vp9/decoder/vp9_decoder.h
       vp9/encoder/vp9_encoder.c
       vp9/encoder/vp9_pickmode.c
       vp9/encoder/vp9_rdopt.c
       vp9/vp9_cx_iface.c
       vp9/vp9_dx_iface.c

Change-Id: Ib92eb35851c172d0624970e312ed515054e5ca64

10 years agoMerge "Add libvpx build targets for OS X 10.10 Yosemite."
Johann [Fri, 23 Jan 2015 02:11:21 +0000 (18:11 -0800)]
Merge "Add libvpx build targets for OS X 10.10 Yosemite."

10 years agoRemove elevate_newmv_thresh from SPEED_FEATURES (unused)
Adrian Grange [Thu, 22 Jan 2015 22:53:18 +0000 (14:53 -0800)]
Remove elevate_newmv_thresh from SPEED_FEATURES (unused)

Change-Id: I78ef7f89586a329787f6bc4c58ec83af210989a3

10 years agoAdd libvpx build targets for OS X 10.10 Yosemite.
Lawrence Velázquez [Thu, 22 Jan 2015 21:46:02 +0000 (16:46 -0500)]
Add libvpx build targets for OS X 10.10 Yosemite.

Change-Id: I5baa4405e0b52fd3b6f312bd2dc94b19e6ff3da7

10 years agoiosbuild.sh: Increase build speed.
Tom Finegan [Thu, 22 Jan 2015 23:18:30 +0000 (15:18 -0800)]
iosbuild.sh: Increase build speed.

Disable more stuff to speed up the build, and log default configure
args in verbose mode.

Change-Id: I40e55fc5e8d2bff0262e1d6bd4a40ee2c10d2b6d

10 years agoModify variance partition selection for low resolutions.
Marco [Tue, 6 Jan 2015 01:13:13 +0000 (17:13 -0800)]
Modify variance partition selection for low resolutions.

For low spatial resolutions: bias partittion selection to smaller block sizes,
and base the variance computation on 4x4 down-sampling.

Also move the threshold computations into the choose_partitioning,
so they are computed once for each sb block.

On low-res clips (RTC_derf) PSNR/SSIMetrics increase by about 4-5%.
No change for resolutions above CIF.

Change-Id: I93f8ff742c8044786977bb6e31dcf8efda6dd1b0

10 years agoMerge "Bug when last group before forced key frame is short."
Paul Wilkins [Thu, 22 Jan 2015 16:28:19 +0000 (08:28 -0800)]
Merge "Bug when last group before forced key frame is short."

10 years agoBug when last group before forced key frame is short.
Paul Wilkins [Wed, 21 Jan 2015 19:32:27 +0000 (11:32 -0800)]
Bug when last group before forced key frame is short.

Just before a forced key frame we often get a foreshortened
arf/gf group. In such a case, we do not want to update
rc->last_boosted_qindex, which is used to define the Q range
for the forced key frame itself.

This gives a small average metrics gain for the YT and YT-HD sets
(eg. YT SSIM +0.141%).

Change-Id: Ie06698bc4f249e87183b8f8fb27ff8f3fde216d9

10 years agoMerge "Fix compile error in Chromium building."
JackyChen [Wed, 21 Jan 2015 22:52:32 +0000 (14:52 -0800)]
Merge "Fix compile error in Chromium building."

10 years agoMerge "Allow external resize via vpx_codec_enc_config_set"
Alex Converse [Wed, 21 Jan 2015 21:59:34 +0000 (13:59 -0800)]
Merge "Allow external resize via vpx_codec_enc_config_set"

10 years agoFix compile error in Chromium building.
JackyChen [Wed, 21 Jan 2015 20:59:25 +0000 (12:59 -0800)]
Fix compile error in Chromium building.

The comparison of address in the condition is not necessary, since
they will constantly be non-null.

Change-Id: Id0b0075283f5af65215d5761a8160a4cb2a15c9b

10 years agoMerge "fix AVX & AVX2 detection"
James Zern [Wed, 21 Jan 2015 20:59:07 +0000 (12:59 -0800)]
Merge "fix AVX & AVX2 detection"

10 years agoAllow external resize via vpx_codec_enc_config_set
Alex Converse [Tue, 13 Jan 2015 00:26:05 +0000 (16:26 -0800)]
Allow external resize via vpx_codec_enc_config_set

Change-Id: I3d324e2baa4de2d266c5f7ca7b635b62372e90a7

10 years agoMerge "Replace "colorspace" with "color_space""
Yaowu Xu [Wed, 21 Jan 2015 16:58:09 +0000 (08:58 -0800)]
Merge "Replace "colorspace" with "color_space""

10 years agoMerge "Add Neon intrinsics for vp9_avg_8x8_neon"
Frank Galligan [Tue, 20 Jan 2015 22:38:39 +0000 (14:38 -0800)]
Merge "Add Neon intrinsics for vp9_avg_8x8_neon"

10 years agoMerge "Add non420 code in multi-threaded loopfilter"
Yunqing Wang [Tue, 20 Jan 2015 19:45:03 +0000 (11:45 -0800)]
Merge "Add non420 code in multi-threaded loopfilter"

10 years agoMerge "Fix obvious misses in doxygen mainpage"
Yaowu Xu [Tue, 20 Jan 2015 19:27:52 +0000 (11:27 -0800)]
Merge "Fix obvious misses in doxygen mainpage"

10 years agoAdd non420 code in multi-threaded loopfilter
Yunqing Wang [Fri, 16 Jan 2015 23:47:25 +0000 (15:47 -0800)]
Add non420 code in multi-threaded loopfilter

Added non420 part back to make it consistent with single
thread code in vp9_loopfilter.c.

Change-Id: I8ca255d73bffebae294d2627d6655eafe535cb90

10 years agoMerge "vp9_ethread: add parallel loopfilter"
Yunqing Wang [Tue, 20 Jan 2015 17:27:08 +0000 (09:27 -0800)]
Merge "vp9_ethread: add parallel loopfilter"

10 years agoMerge "Add vp9_highbitdepth info in configure --help"
Yaowu Xu [Tue, 20 Jan 2015 16:55:16 +0000 (08:55 -0800)]
Merge "Add vp9_highbitdepth info in configure --help"

10 years agoSSE2 code for the filter in MFQE.
JackyChen [Tue, 13 Jan 2015 18:50:50 +0000 (10:50 -0800)]
SSE2 code for the filter in MFQE.

The SSE2 code is from VP8 MFQE, reuse it in VP9. No change on VP8
side. In our testing, we achieve 2X speed by adopting this change.

Change-Id: Ib2b14144ae57c892005c1c4b84e3379d02e56716

10 years agoFix variance Neon intrinsics > 32x32
Frank Galligan [Sat, 17 Jan 2015 03:30:45 +0000 (19:30 -0800)]
Fix variance Neon intrinsics > 32x32

The 16 bit sum vector was overflowing.

Change-Id: I0fdf38e832ee99457ec8680a92691a6175ff8c3f

10 years agovp9_ethread: add parallel loopfilter
Yunqing Wang [Tue, 6 Jan 2015 22:14:26 +0000 (14:14 -0800)]
vp9_ethread: add parallel loopfilter

1. Added row-based loopfilter in encoder;
2. Moved common multi-threaded loopfilter functions from decoder
   to common;
3. Merged multi-threaded loopfilter code, and made encoder/
   decoder call same function to reduce code duplication.

Encoder tests showed that 1% - 2% speedup was seen for good-quality
2-pass mode(at speed 3); 1% - 3% speedup using 2 threads and 4% - 6%
speedup using 4 threads were seen for real-time mode(at speed 7).

Change-Id: I8a4ac51c2ad9bab9fa7b864e90743931c53ec1c4

10 years agoMerge "Fix frame buffer swap in denoiser"
Jingning Han [Sat, 17 Jan 2015 00:58:37 +0000 (16:58 -0800)]
Merge "Fix frame buffer swap in denoiser"

10 years agoMerge "[two pass temporal svc]Fix crash issue in transcoder app caused by last fix."
Minghai Shang [Fri, 16 Jan 2015 23:00:20 +0000 (15:00 -0800)]
Merge "[two pass temporal svc]Fix crash issue in transcoder app caused by last fix."

10 years agoFix frame buffer swap in denoiser
Jingning Han [Fri, 16 Jan 2015 17:03:40 +0000 (09:03 -0800)]
Fix frame buffer swap in denoiser

This commit fixes a bug in denoiser reference frame buffer swap,
which disables frame buffer update.

Change-Id: I39a9427180fd18f9692602064ad821f7af4714c0

10 years agoAdd vp9_highbitdepth info in configure --help
Yaowu Xu [Fri, 16 Jan 2015 19:15:02 +0000 (11:15 -0800)]
Add vp9_highbitdepth info in configure --help

Change-Id: I89497a483117fc472be3a836070109498258140d

10 years agofix AVX & AVX2 detection
James Zern [Thu, 15 Jan 2015 06:51:49 +0000 (22:51 -0800)]
fix AVX & AVX2 detection

fixes issue #790 which resulted in a SIGILL on OpenBSD

code is mostly from libwebp, based on the following:

https://software.intel.com/en-us/articles/how-to-detect-new-instruction-support-in-the-4th-generation-intel-core-processor-family

Change-Id: Ida7c1a18261e98c05ed9c662068140be407ec107

10 years agoReplace "colorspace" with "color_space"
Yaowu Xu [Fri, 16 Jan 2015 01:58:47 +0000 (17:58 -0800)]
Replace "colorspace" with "color_space"

This is to make the usage of the variable name consistent across
the code base.

Change-Id: I698739e55841c59358d1c6e5cc97c96088772943

10 years ago[two pass temporal svc]Fix crash issue in transcoder app caused by last fix.
Minghai Shang [Thu, 15 Jan 2015 23:44:11 +0000 (15:44 -0800)]
[two pass temporal svc]Fix crash issue in transcoder app caused by last fix.

Change-Id: I78ecc8ec3fa3ba5f69bb23813e68a5255d0534e1

10 years agoAdd Neon intrinsics for vp9_avg_8x8_neon
Frank Galligan [Thu, 15 Jan 2015 22:36:41 +0000 (14:36 -0800)]
Add Neon intrinsics for vp9_avg_8x8_neon

On Nexus 7 speed -5, -6, -7, and -8 saw about a 1% increase
in perf for 480p. Speeds -5, -6, -7, and -8 saw about a 1.5%
increase in perf for 720p.

Tested on Nexus 7, built with ndk r10d, gcc 4.9.

Change-Id: Ibf17ebfd952a6aec941719bd8306df8ec4574bee

10 years agoFix obvious misses in doxygen mainpage
Yaowu Xu [Thu, 15 Jan 2015 22:32:42 +0000 (14:32 -0800)]
Fix obvious misses in doxygen mainpage

Change-Id: I0537769904f0853c9299b36a91391f289acf442c

10 years agoFix color_space enum comments for doxygen
Yaowu Xu [Thu, 15 Jan 2015 21:40:16 +0000 (13:40 -0800)]
Fix color_space enum comments for doxygen

Change-Id: I14f1708908a0b68b7f4c8e039dbec138c14c5ae4

10 years agoFix doxygen warning with usage.dox
Yaowu Xu [Thu, 15 Jan 2015 19:42:04 +0000 (11:42 -0800)]
Fix doxygen warning with usage.dox

Change-Id: I3ee8974a66f186fb0eb15b1078a3c7b9cbf5ec80

10 years agoRemove obsolete doxygen tags
Yaowu Xu [Thu, 15 Jan 2015 02:09:14 +0000 (18:09 -0800)]
Remove obsolete doxygen tags

Change-Id: I38a42ed1d0be4fbfce6c9f3f5d021055107933d7

10 years agoMerge "Fix comments for doxygen"
Yaowu Xu [Thu, 15 Jan 2015 18:46:20 +0000 (10:46 -0800)]
Merge "Fix comments for doxygen"

10 years agoMerge "Align thread data in vp9_ethread"
Yunqing Wang [Thu, 15 Jan 2015 17:21:31 +0000 (09:21 -0800)]
Merge "Align thread data in vp9_ethread"