Alex Converse [Wed, 28 Jan 2015 19:22:36 +0000 (11:22 -0800)]
Merge "vp8enc: Prevent out of bounds memory access."
Frank Galligan [Wed, 28 Jan 2015 18:35:50 +0000 (10:35 -0800)]
Merge "Add vp9_sad32x32x4d_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."
Frank Galligan [Wed, 28 Jan 2015 07:01:15 +0000 (23:01 -0800)]
Merge "Add vp9_sad64x64x4d_neon Neon intrinsic function."
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
Yaowu Xu [Tue, 27 Jan 2015 20:42:13 +0000 (12:42 -0800)]
Merge "move clear_system_state() call before using double"
Johann [Tue, 27 Jan 2015 18:49:26 +0000 (10:49 -0800)]
Merge "Fix discovery of Darwin SDKs"
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
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
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
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."
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
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
Paul Wilkins [Tue, 27 Jan 2015 02:19:09 +0000 (18:19 -0800)]
Merge "Adjust active maxq for GF groups."
Yaowu Xu [Tue, 27 Jan 2015 00:52:30 +0000 (16:52 -0800)]
Merge "Fix MSVC warnings on conversion from int64 to int"
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
Tom Finegan [Mon, 26 Jan 2015 23:10:18 +0000 (15:10 -0800)]
Merge "iosbuild.sh: Increase build speed."
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
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
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
Yaowu Xu [Sat, 24 Jan 2015 05:12:18 +0000 (21:12 -0800)]
Merge "Replace divide with look-up"
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
JackyChen [Fri, 23 Jan 2015 19:08:16 +0000 (11:08 -0800)]
Merge "SSE2 code for the filter in MFQE."
Adrian Grange [Fri, 23 Jan 2015 17:57:03 +0000 (09:57 -0800)]
Merge "Remove elevate_newmv_thresh from SPEED_FEATURES (unused)"
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
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.""
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
James Zern [Fri, 23 Jan 2015 04:04:07 +0000 (20:04 -0800)]
Merge "workaround stack bashing by asm on 32-bit OpenBSD"
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.
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
Johann [Fri, 23 Jan 2015 02:11:21 +0000 (18:11 -0800)]
Merge "Add libvpx build targets for OS X 10.10 Yosemite."
Adrian Grange [Thu, 22 Jan 2015 22:53:18 +0000 (14:53 -0800)]
Remove elevate_newmv_thresh from SPEED_FEATURES (unused)
Change-Id: I78ef7f89586a329787f6bc4c58ec83af210989a3
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
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
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
Paul Wilkins [Thu, 22 Jan 2015 16:28:19 +0000 (08:28 -0800)]
Merge "Bug 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
JackyChen [Wed, 21 Jan 2015 22:52:32 +0000 (14:52 -0800)]
Merge "Fix compile error in Chromium building."
Alex Converse [Wed, 21 Jan 2015 21:59:34 +0000 (13:59 -0800)]
Merge "Allow external resize via vpx_codec_enc_config_set"
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
James Zern [Wed, 21 Jan 2015 20:59:07 +0000 (12:59 -0800)]
Merge "fix AVX & AVX2 detection"
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
Yaowu Xu [Wed, 21 Jan 2015 16:58:09 +0000 (08:58 -0800)]
Merge "Replace "colorspace" with "color_space""
Frank Galligan [Tue, 20 Jan 2015 22:38:39 +0000 (14:38 -0800)]
Merge "Add Neon intrinsics for vp9_avg_8x8_neon"
Yunqing Wang [Tue, 20 Jan 2015 19:45:03 +0000 (11:45 -0800)]
Merge "Add non420 code in multi-threaded loopfilter"
Yaowu Xu [Tue, 20 Jan 2015 19:27:52 +0000 (11:27 -0800)]
Merge "Fix obvious misses in doxygen mainpage"
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
Yunqing Wang [Tue, 20 Jan 2015 17:27:08 +0000 (09:27 -0800)]
Merge "vp9_ethread: add parallel loopfilter"
Yaowu Xu [Tue, 20 Jan 2015 16:55:16 +0000 (08:55 -0800)]
Merge "Add vp9_highbitdepth info in configure --help"
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
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
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
Jingning Han [Sat, 17 Jan 2015 00:58:37 +0000 (16:58 -0800)]
Merge "Fix frame buffer swap in denoiser"
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."
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
Yaowu Xu [Fri, 16 Jan 2015 19:15:02 +0000 (11:15 -0800)]
Add vp9_highbitdepth info in configure --help
Change-Id: I89497a483117fc472be3a836070109498258140d
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
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
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
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
Yaowu Xu [Thu, 15 Jan 2015 22:32:42 +0000 (14:32 -0800)]
Fix obvious misses in doxygen mainpage
Change-Id: I0537769904f0853c9299b36a91391f289acf442c
Yaowu Xu [Thu, 15 Jan 2015 21:40:16 +0000 (13:40 -0800)]
Fix color_space enum comments for doxygen
Change-Id: I14f1708908a0b68b7f4c8e039dbec138c14c5ae4
Yaowu Xu [Thu, 15 Jan 2015 19:42:04 +0000 (11:42 -0800)]
Fix doxygen warning with usage.dox
Change-Id: I3ee8974a66f186fb0eb15b1078a3c7b9cbf5ec80
Yaowu Xu [Thu, 15 Jan 2015 02:09:14 +0000 (18:09 -0800)]
Remove obsolete doxygen tags
Change-Id: I38a42ed1d0be4fbfce6c9f3f5d021055107933d7
Yaowu Xu [Thu, 15 Jan 2015 18:46:20 +0000 (10:46 -0800)]
Merge "Fix comments for doxygen"
Yunqing Wang [Thu, 15 Jan 2015 17:21:31 +0000 (09:21 -0800)]
Merge "Align thread data in vp9_ethread"
Yaowu Xu [Tue, 13 Jan 2015 22:32:09 +0000 (14:32 -0800)]
Fix comments for doxygen
Change-Id: Iaad3dc3cdd25275939b475706eb7d136a5a10174
James Zern [Thu, 15 Jan 2015 07:09:57 +0000 (23:09 -0800)]
workaround stack bashing by asm on 32-bit OpenBSD
like Darwin, disable x86inc with 32-bit PIC/shared library builds;
avoids stack smashing done by vp9_subpixel_*
workaround for issue #808
Change-Id: I3f2f16bd91822c8e8dad0242b5dcfb0e621aea97
Yaowu Xu [Thu, 15 Jan 2015 04:25:18 +0000 (20:25 -0800)]
Merge "Clarify purpose of VP9_INVERT_TILE_DECODE_ORDER"
Yaowu Xu [Thu, 15 Jan 2015 01:53:49 +0000 (17:53 -0800)]
Merge "Add comments for two SVC related controls"
Yaowu Xu [Thu, 15 Jan 2015 01:53:42 +0000 (17:53 -0800)]
Merge "Add comments for two SVC related controls"
Yaowu Xu [Thu, 15 Jan 2015 00:28:57 +0000 (16:28 -0800)]
Merge "Add comments for control VP9E_SET_TUNE_CONTENT"
Yaowu Xu [Thu, 15 Jan 2015 00:28:41 +0000 (16:28 -0800)]
Merge "Add comments for VP9E_SET_FRAME_PERIODIC_BOOST"
Yaowu Xu [Tue, 13 Jan 2015 20:19:46 +0000 (12:19 -0800)]
Clarify purpose of VP9_INVERT_TILE_DECODE_ORDER
Change-Id: I1eb98f4576994c5c9fa5ba748d85cd186910ee4f
Yunqing Wang [Wed, 14 Jan 2015 23:51:56 +0000 (15:51 -0800)]
Align thread data in vp9_ethread
On some platforms, such as 32bit Windows and 32bit Mac, the allocated
memory isn't aligned automatically. The thread data is aligned to
ensure the correct access in SIMD code.
Change-Id: I1108c145fe982ddbd3d9324952758297120e4806
Yaowu Xu [Wed, 14 Jan 2015 23:32:35 +0000 (15:32 -0800)]
Merge "Fix comments for encoder controls"
Yaowu Xu [Wed, 14 Jan 2015 22:14:34 +0000 (14:14 -0800)]
Merge "Add encoder control for setting color space"
Frank Galligan [Wed, 14 Jan 2015 20:17:42 +0000 (12:17 -0800)]
Merge "Switch remaining Neon variance functions to shifts"
Frank Galligan [Wed, 14 Jan 2015 20:17:20 +0000 (12:17 -0800)]
Merge "Add 64x64 sub_pel_variance Neon function"
Yaowu Xu [Wed, 14 Jan 2015 20:02:46 +0000 (12:02 -0800)]
Add comments for two SVC related controls
VP9E_SET_SVC
VP9E_SET_SVC_PARAMETERS
Change-Id: Ie32ffad48b6b53c5a2c44c42ec655bfedf8d2903
Yaowu Xu [Wed, 14 Jan 2015 19:48:29 +0000 (11:48 -0800)]
Add comments for two SVC related controls
VP9E_GET_SVC_LAYER_ID
VP9E_REGISTER_CX_CALLBACK
Change-Id: I92060bde1a4830268c8e07190d4ee4c37bc05334
Yaowu Xu [Wed, 14 Jan 2015 19:17:09 +0000 (11:17 -0800)]
Add comments for control VP9E_SET_TUNE_CONTENT
Change-Id: If1fb5d9f1545cb9753eeda22e699b1ab778452b4
Yaowu Xu [Wed, 14 Jan 2015 17:07:02 +0000 (09:07 -0800)]
Add comments for VP9E_SET_FRAME_PERIODIC_BOOST
Change-Id: Id6decd0024b87da82d85d62ec2f4bdff416faa39
Yaowu Xu [Tue, 13 Jan 2015 20:39:42 +0000 (12:39 -0800)]
Fix comments for encoder controls
This commit added coments for the following encoder controls:
VP9E_SET_LOSSLESS
VP9E_SET_TILE_COLUMNS
VP9E_SET_TILE_ROWS
VP9E_SET_FRAME_PARALLEL_DECODING
VP9E_SET_AQ_MODE
Change-Id: I2f75afd9cce01394f202b8e25f36bf763be0ddeb
Yaowu Xu [Tue, 13 Jan 2015 18:07:20 +0000 (10:07 -0800)]
Add encoder control for setting color space
This commit adds encoder side control for vp9 to set color space info
in the output compressed bitstream.
It also amends the "vp9_encoder_params_get_to_decoder" test to verify
the correct color space information is passed from the encoder end to
decoder end.
Change-Id: Ibf5fba2edcb2a8dc37557f6fae5c7816efa52650
Yaowu Xu [Wed, 14 Jan 2015 18:04:15 +0000 (10:04 -0800)]
Merge "Enable decoder to pass through color space info"
Frank Galligan [Wed, 14 Jan 2015 07:01:06 +0000 (23:01 -0800)]
Add 64x64 sub_pel_variance Neon function
On Nexus 7 speed -5, -6, -7, and -8 saw about a 15% increase
in perf for 480p. Speeds -5, -6, -7, and -8 saw about a 10%
increase in perf for 720p.
Tested on Nexus 7, built with ndk r10d, gcc 4.9.
Change-Id: I2fa5315845e3021c9a6e2ea47e52e68b398d8334
Frank Galligan [Wed, 14 Jan 2015 15:22:49 +0000 (07:22 -0800)]
Switch remaining Neon variance functions to shifts
Saves 5 instructions on 8x8 and 16x16 and 8 instructions
on 32x32, when compiled with 4.9.
Change-Id: Id3da613a36a9d27d8c5169c59ba45d247c920c6c
Frank Galligan [Wed, 14 Jan 2015 06:38:58 +0000 (22:38 -0800)]
Merge "Add 64x variance Neon functions"
Minghai Shang [Tue, 13 Jan 2015 23:39:04 +0000 (15:39 -0800)]
[twopass temporal svc] Fix decoding error on seek.
Don't put small empty frame in front of a key frame. We will
put key frame flag in webm container if there's a visible key
frame. But there will be decoding error when we seek to here
if we put the small empty frame, which will be inter frame,
in front of it.
Change-Id: Id50c2c1fd31da0405ff6faa7375cc2f49c55402d
Yaowu Xu [Fri, 9 Jan 2015 21:04:48 +0000 (13:04 -0800)]
Enable decoder to pass through color space info
This commit added a field to vpx_image_t for indicating color space,
the field is also added to YUV_BUFFER_CONFIG. This allows the color
space information pass through the decoder from input stream to the
output buffer.
The commit also updated compare_img() function with added verification
of matching color space to ensure the color space information to be
correctly passed from encode to decoder in compressed vp9 streams.
Change-Id: I412776ec83defd8a09d76759aeb057b8fa690371
Frank Galligan [Tue, 13 Jan 2015 19:15:24 +0000 (11:15 -0800)]
Add 64x variance Neon functions
Add optimized Neon functions of:
vp9_variance32x64
vp9_variance64x32
vp9_variance64x64
On Nexus 7 speed -5 and -6 saw about a 4% increase in perf.
Speeds -7 and -8 saw about a 6% increase in perf.
Tested on Nexus 7, built with ndk r10d, gcc 4.9.
Change-Id: I5a81f13c9897eb927fa39662530f5524a0f768fa
Yaowu Xu [Tue, 13 Jan 2015 17:20:13 +0000 (09:20 -0800)]
Merge "Added plumbing for setting color space"
JackyChen [Tue, 13 Jan 2015 01:33:34 +0000 (17:33 -0800)]
Merge "Unit test for turning VP8 denoiser on/off periodically."
Marco [Sun, 11 Jan 2015 23:26:44 +0000 (15:26 -0800)]
vp8: Fix to crash in pick_inter.
Added unittest that triggers the crash without this fix.
Issue: https://code.google.com/p/webm/issues/detail?id=911
Change-Id: If5208ceb210c821891675fdf3d9951ab83d52ae6
Yaowu Xu [Sun, 11 Jan 2015 22:01:36 +0000 (14:01 -0800)]
Merge "Fix comments and color format"
JackyChen [Thu, 8 Jan 2015 21:10:50 +0000 (13:10 -0800)]
Unit test for turning VP8 denoiser on/off periodically.
Change-Id: Id537d1126f25c0218adcfb4d6ee641ee81a2169a
Yaowu Xu [Fri, 9 Jan 2015 18:52:33 +0000 (10:52 -0800)]
Added plumbing for setting color space
Change-Id: If64052cc6e404abc8a64a889f42930d14fad21d3
Yaowu Xu [Fri, 9 Jan 2015 18:36:43 +0000 (10:36 -0800)]
Fix comments and color format
Replaced "color space" with "color format" in comments where color
sampling format is concerned, so to differentiate from the concept
defined in COLOR_SPACE.
Change-Id: I8c935034c166b24307a99352dab1686531276bb8
Paul Wilkins [Fri, 9 Jan 2015 14:05:11 +0000 (06:05 -0800)]
Merge "Use 64 bit to accumulate frame sse."