Aℓex Converse [Fri, 7 Aug 2015 16:43:28 +0000 (16:43 +0000)]
Merge "Move VP9 SSIM metrics to vpx_dsp."
Yunqing Wang [Fri, 7 Aug 2015 16:05:59 +0000 (16:05 +0000)]
Merge "Improve the second-level sub-pixel motion search"
Alex Converse [Thu, 6 Aug 2015 19:53:59 +0000 (12:53 -0700)]
Move VP9 SSIM metrics to vpx_dsp.
Change-Id: I20c7b42631b579fade6cf7ebf6d4c69b2fcb5e5e
Jingning Han [Fri, 7 Aug 2015 00:03:05 +0000 (00:03 +0000)]
Merge "Cosmetic - align format in vp9"
Yunqing Wang [Wed, 5 Aug 2015 16:15:03 +0000 (09:15 -0700)]
Improve the second-level sub-pixel motion search
Re-investigated the second-level sub-pixel motion search. Improved the
way of choosing search points. Rewrote the second-level search code.
At speed 0, the borg tests showed:
1. for stdhd set, Avg PSNR gain: 0.216%; Overall PSNR gain: 0.196%;
SSIM gain: 0.206%. Only 1 out of 15 clips showed PSNR loss.
2. for derf set, Avg PSNR gain: 0.171%; Overall PSNR gain: 0.192%;
SSIM gain: 0.207%. Only 3 out of 30 clips showed PSNR losses.
Added the condition for third-point checking, namely, less points
were checked. Speed tests showed no speed loss(Avg 0.3% speedup at
speed 0).
Change-Id: I6284ebb3fa7ba63be8528184c49e06757211a7f1
Jingning Han [Thu, 6 Aug 2015 22:55:36 +0000 (15:55 -0700)]
Cosmetic - align format in vp9
Change-Id: I83ed3422f1f4009675ad2f5c4b7236bc7b83b30e
Alex Converse [Thu, 6 Aug 2015 21:34:27 +0000 (14:34 -0700)]
Fix a new[]/delete mismatch
Change-Id: I04c43ff71748d7a2e2ede462cb42b22116a1bfd6
James Zern [Thu, 6 Aug 2015 22:23:39 +0000 (22:23 +0000)]
Merge "endian_inl.h: fix mips32 android build"
Aℓex Converse [Thu, 6 Aug 2015 22:21:16 +0000 (22:21 +0000)]
Merge "Narrow a load in iwht4x4_16_add."
Jingning Han [Thu, 6 Aug 2015 19:50:23 +0000 (19:50 +0000)]
Merge "Fix compiler error in vp8/9 decoder test"
James Zern [Thu, 6 Aug 2015 19:28:49 +0000 (19:28 +0000)]
Merge "Revert "VP9_COPY_CONVOLVE_SSE2 optimization""
James Zern [Thu, 6 Aug 2015 01:31:50 +0000 (18:31 -0700)]
endian_inl.h: fix mips32 android build
when configuring with mips32-android-gcc HAVE_MIPS32 would be set, but the
ndk does not set -mips32r2 for APP_ABI=mips which results in BSwap32 failing
to build; refine the check in endian_inl.h
Change-Id: I22893fe61f29111eb902d961b500b2174596268d
Jingning Han [Thu, 6 Aug 2015 19:02:05 +0000 (12:02 -0700)]
Fix compiler error in vp8/9 decoder test
The test file compiler fails if one uses --disable-vp8-decoder
--enable-vp9-decoder. It effectively turns on CONFIG_VP8 and
CONFIG_DECODERS, but turns off CONFIG_VP8_DECODER, which causes
compiler error at test_vector_test.cc.
This commit fixes this issue by adding vp8/9 decoder flags to
the decoder behavior test, respectively.
Change-Id: I097ff8fd5e12715a94a565a82e54503885eb7187
Marco [Wed, 5 Aug 2015 22:09:16 +0000 (15:09 -0700)]
Rate control adjustment for temporal-svc 1pass.
-For ambient qp in active_worst setting: increase the initial
averaging time (from very first frame) to account for avg_qp of key_frame.
-In postencode on key frame: update the last_q/avg_q[key_frame] for
all temporal layers.
Change-Id: I5313153d350b1045b4835ce948dfffb7d2039b52
James Zern [Thu, 6 Aug 2015 00:10:40 +0000 (00:10 +0000)]
Merge "Support build with Visual Studio 14."
Marco Paniconi [Wed, 5 Aug 2015 21:53:19 +0000 (21:53 +0000)]
Merge "Bugfix for svc."
Ghislain MARY [Tue, 28 Jul 2015 14:37:09 +0000 (16:37 +0200)]
Support build with Visual Studio 14.
Change-Id: Id0d7c19857e29b66c652c8cc1ab56b64e4fc0fa3
Marco [Wed, 5 Aug 2015 20:53:26 +0000 (13:53 -0700)]
Bugfix for svc.
Condition usage of rc.frames_since_golden to non-svc mode.
rc.frames_since_golden, which is used in non-svc mode to add second reference,
was causing, under certain condiiton, the turning off of golden reference
for svc case.
Change-Id: Icec644d235d0471e56d8ff73d6c37278bd6ecd3b
James Zern [Wed, 5 Aug 2015 19:52:40 +0000 (12:52 -0700)]
third_party/libwebm: pull from upstream
Changes:
2dec094 mkvparser: normalize UnserializeInt signature
fixes a visual studio build warning
Change-Id: Ifb99c8a46957ee135f8a6a639f19f2515c7526c3
Alex Converse [Wed, 5 Aug 2015 19:16:12 +0000 (12:16 -0700)]
Narrow a load in iwht4x4_16_add.
The top half is unused.
Change-Id: I29b2f6a93e20ea43aff4ad0bd2d52257e1e752b6
James Zern [Wed, 5 Aug 2015 00:52:57 +0000 (17:52 -0700)]
Revert "VP9_COPY_CONVOLVE_SSE2 optimization"
This reverts commit
a5e97d874b16ae5826b68515f1e35ffb44361cf8.
Additionally:
Revert "vpx_convolve_copy_sse2: fix win64"
This reverts commit
22a8474fe7ec30d96f746dc6e4b23771758c071e.
This change performs poorly on various x86_64 devices affecting
performance by 1-3% at 1080P. Performance on chromebook like devices was
mixed neutral to slightly negative, so there should be minimal change
there.
Change-Id: I95831233b4b84ee96369baa192a2d4cc7639658c
James Zern [Wed, 5 Aug 2015 00:48:39 +0000 (00:48 +0000)]
Merge "third_party/libwebm: pull from upstream"
James Zern [Wed, 5 Aug 2015 00:42:36 +0000 (00:42 +0000)]
Merge "examples.mk: quiet vcproj script exec by default"
Jingning Han [Tue, 4 Aug 2015 16:24:52 +0000 (09:24 -0700)]
Change vp9_quantize to vpx_quantize
This commit clears all the vp9_ prefix use case in vpx_dsp. It gets
the vp9 folder ready to branch out vp10.
Change-Id: I2906eec179ee792b4af8c9b4161313653050e931
Jingning Han [Tue, 4 Aug 2015 22:30:36 +0000 (22:30 +0000)]
Merge "Replace vp9_ prefix with vpx_ prefix in vpx_dsp function names"
Yunqing Wang [Tue, 4 Aug 2015 21:00:41 +0000 (21:00 +0000)]
Merge "Minor adjustment in diagonal sub-pixel point checking"
Yunqing Wang [Tue, 4 Aug 2015 20:59:30 +0000 (20:59 +0000)]
Merge "Small improvement in sub-pixel motion search"
Jingning Han [Mon, 3 Aug 2015 21:51:10 +0000 (14:51 -0700)]
Replace vp9_ prefix with vpx_ prefix in vpx_dsp function names
This commit clears the function naming convention in vpx_dsp. It
replaces vp9_ prefix of global functions with vpx_ prefix. It also
removes the vp9_ prefix from static functions.
Change-Id: I6394359a63b71a51dda01342eec6a3cc08dfeedf
Yunqing Wang [Tue, 4 Aug 2015 19:16:47 +0000 (12:16 -0700)]
Minor adjustment in diagonal sub-pixel point checking
Choose a different diagonal point to check when the two costs are
the same, making it consistent with the way we choose the best mv.
This slightly changes the encoding result, and the derflr set borg
test at speed 0 shows 0.027% Overall PSNR gain, 0.024% Avg PSNR
gain, and 0.043% SSIM gain.
Change-Id: Ic8ee3a6767394866d159e4f9e1c777604dd73c17
Yunqing Wang [Tue, 4 Aug 2015 19:06:21 +0000 (12:06 -0700)]
Small improvement in sub-pixel motion search
If the current best mv(namely, the search center) is still the best mv
after the first level search, the second level checks is skipped. This
patch doesn't change the bitstream. At speed 0, it speeds up the encoder
by 1% - 2%.
Change-Id: I054c91b884d3f7aef157436c061744562bd6506d
Jingning Han [Tue, 4 Aug 2015 16:44:26 +0000 (09:44 -0700)]
Exclude inv_txfm dspr2 files from make file when highbd is on
Add a guard to exclud dspr2 inverse transform files from vpx_dsp
make file, when high bit-depth is turned on. This fixes the jenkins
nightly build.
Change-Id: Ibacd86563af1ec4810c550905b3fa0397baeeafc
Johann Koenig [Tue, 4 Aug 2015 15:55:48 +0000 (15:55 +0000)]
Merge "Rename vp8 loopfilter_mmx.asm"
Parag Salasakar [Tue, 4 Aug 2015 04:30:44 +0000 (04:30 +0000)]
Merge "mips msa vp8 denoising filter optimization"
Parag Salasakar [Tue, 4 Aug 2015 04:30:22 +0000 (04:30 +0000)]
Merge "mips msa vpx convolve optimzation"
Parag Salasakar [Tue, 4 Aug 2015 04:30:11 +0000 (04:30 +0000)]
Merge "mips msa vpx subpel variance optimization"
Parag Salasakar [Tue, 4 Aug 2015 04:29:45 +0000 (04:29 +0000)]
Merge "mips msa vpx subtract test added"
Jingning Han [Tue, 4 Aug 2015 04:16:22 +0000 (04:16 +0000)]
Merge "Move inverse transfrom dspr2 functions from vp9 to vpx_dsp"
James Zern [Tue, 4 Aug 2015 03:24:44 +0000 (20:24 -0700)]
third_party/libwebm: pull from upstream
Changes:
b6de61a Adds support for simple tags
75a6d2d sample_muxer: Don't write huge files.
cec1f85 mkvmuxer: remove unused timecode_scale variable
8a61b40 Merge "mkvparser: Tiny whitespace fix."
7affc5c clang-format re-run
d6d04ac mkvmuxer: use generic Cluster::AddFrame
4928b0b Merge "mkvmuxer: Write Block key frames correctly."
c2e4a46 Merge "sample_muxer: Use AddGenericFrame to add frames."
e97f296 mkvparser: Tiny whitespace fix.
d66ba44 Merge "Add support to parse DisplayUnit."
deb41c2 Add support to parse DisplayUnit.
42e5660 Fix issues on EBML lacing block parsing
fe1e9bb Fix block parsing to not allow frame_size = 0
2cb6a28 Change assertions to checks when parsing TrackPositions
d04580f Fixes issues on Block Group parsing
c3550fd mkvmuxer: Write Block key frames correctly.
5dd0e40 Merge "mkvmuxer: Set is_key to true for metadata blocks."
8e96863 mkvmuxer: Set is_key to true for metadata blocks.
a9e4819 sample_muxer: Use AddGenericFrame to add frames.
5a3be73 Change assertions to checks when load CuePoints
f99f3b2 mkvmuxerutil::EbmlDateElementSize: remove value param
ff572b5 Frame::IsValid: fix track_number check
b6311dc mkvmuxer: Refactor to remove a lot of duplicate code
256cd02 Merge "mkvmuxer: DiscardPadding should be signed integer."
16c8e78 mkvmuxer: s/frame/data in all AddFrame* functions.
c5e511c mkvmuxer: DiscardPadding should be signed integer.
4baaa2c Add framework build script: iosbuild.sh
3d06eb1 PATENTS: fix a typo: constitutes -> constitute
d3849c2 mkvparser: Dead code removal.
f439e52 Change assertions to checks when preloading Cues
d3a44cd Fix track transversal when listing Cues on sample
c6255af Tweak .gitignore so git status is clean after checkout and
build: - added missing underscore to sample_muxer - added cmake and make
related files
b5229c7 Makefile.unix: s/samplemuxer/sample_muxer/
e3616a6 Add support to parse stereo mode, display width and display
height in mkvparser
a4b68f8 parser: Fix bug in Chapters::Atom::Parse()
bab0a00 cmake: Set library and project name the proper way on Windows.
feeb9b1 Set library name to match Windows expectations.
b9a549b Fix CMakefile to generate libwebm.a
b386aa5 Add CMakeLists.txt and msvc_runtime.cmake.
b0f8a81 parser: Fix memory leak in Chapter parsing
f06e152 mkvmuxer: Fix MoveCuesBeforeClustersHelper recursive call.
27bb747 allow subtitle tracks with ContentEncodings
623d182 DoLoadCluster: tolerate empty clusters
1156da8 Update PATENTS to reflect s/VP8/WebM/g
0d4cb40 mkvmuxerutil: Use rand() in MSVC builds.
e12fff0 mkvmuxer: Overload WriteEbmlHeader for backward compatibility
a321704 mkvmuxer: write correct DocTypeVersion
574045e mkvmuxer: fix DiscardPadding
8be6397 Include crop elements when calculating size of Video element
8f2d1b3 mkvparser: fix DiscardPadding extraction
1c36c24 mkvmuxer: fix style guide violations
568504e Merge "UUIDs can have their high bit set"
acf788b Add support for CropLeft, CropRight, CropTop and CropBottom
elements.
418188b Merge "muxer: codec_id is a mandatory element"
07688c9 mkvmuxer: Reject frames if invalid track number is passed.
2a63e47 muxer: codec_id is a mandatory element
d13c017 UUIDs can have their high bit set
Change-Id: Iba28acb1ff774349d03e565f2641ddea132cf1e7
James Zern [Tue, 4 Aug 2015 02:34:32 +0000 (02:34 +0000)]
Merge "update libyuv to r1456"
James Zern [Mon, 3 Aug 2015 23:24:24 +0000 (16:24 -0700)]
examples.mk: quiet vcproj script exec by default
the full command line can be seen with V=1 as with the other gen*
scripts
Change-Id: Id045b57e0f9af17d82d79201bbc1241b25a2b821
James Zern [Tue, 4 Aug 2015 02:30:41 +0000 (02:30 +0000)]
Merge "add vp9_vector_var_neon"
James Zern [Mon, 3 Aug 2015 23:22:21 +0000 (16:22 -0700)]
gen_msvs_proj.sh: avoid asm object name collisions
fixes link under vs9; this is the same change as:
dbf6e3f gen_msvs_vcxproj.sh: Avoid object name collisions.
Change-Id: I2a188c9024d0605e60e5e03ddcef1a25e7e53585
Johann [Mon, 3 Aug 2015 21:27:03 +0000 (14:27 -0700)]
Rename vp8 loopfilter_mmx.asm
Chromium puts all the yasm output in the same directory. Looking at ways
to improve this but in the meantime get rid of collisions.
Change-Id: I923c5231d14e895ab96521eb89807ede868a0753
Jingning Han [Mon, 3 Aug 2015 17:50:32 +0000 (10:50 -0700)]
Move inverse transfrom dspr2 functions from vp9 to vpx_dsp
Change-Id: Ia9cf7c31cab4ba3dd6b9bb668c4b3e84bd55cf69
Jingning Han [Mon, 3 Aug 2015 18:58:37 +0000 (18:58 +0000)]
Merge "Add common_dspr2.c file to vpx_dsp/mips"
Yaowu Xu [Mon, 3 Aug 2015 18:43:55 +0000 (18:43 +0000)]
Merge "Correct the allocation size for ssim_vars"
Jingning Han [Mon, 3 Aug 2015 17:17:45 +0000 (10:17 -0700)]
Add common_dspr2.c file to vpx_dsp/mips
Move the declaration of commonly referenced variable to
vpx_dsp/mips/common_dspr2.c.
Change-Id: Ia51287b02e2ac5cfae0fba98c721f0810618f28e
Yaowu Xu [Mon, 3 Aug 2015 17:46:12 +0000 (10:46 -0700)]
Correct the allocation size for ssim_vars
Ssim_vars is used to accumulate stats based 4x4 pixel blocks, this
commit changes the allocations size to be based on mi_rows and mi_cols
to avoid out-of-bound memory access for larger size videos. The hard
coded 720x480 can only work for image size up to 2880x1920.
Change-Id: Id9d07f3f777385b448ac88a6034b7472e4cf3c79
Jingning Han [Mon, 3 Aug 2015 16:54:13 +0000 (09:54 -0700)]
Remove vpx_ prefix from the dspr2 file name in vpx_dsp/mips
Make it consistent with other formats.
Change-Id: I28f0d05ff7c5bf2b815989b3f1bd6c6b25608677
Jingning Han [Mon, 3 Aug 2015 16:03:09 +0000 (16:03 +0000)]
Merge "Add vpx_dsp_rtcd.h to inv_txfm_sse2.c"
Jingning Han [Mon, 3 Aug 2015 16:03:02 +0000 (16:03 +0000)]
Merge "Remove vp9_common.h from idct16x16_neon.c"
Parag Salasakar [Mon, 3 Aug 2015 08:33:40 +0000 (14:03 +0530)]
mips msa vpx convolve optimzation
Removed redundant clip/saturate code from 2tap filter functions
average improvement 10%-40%
Change-Id: I1dafb5f7d2ce7a021d883d8af30fb93cd9ace173
Parag Salasakar [Mon, 3 Aug 2015 07:30:55 +0000 (13:00 +0530)]
mips msa vpx subpel variance optimization
Removed redundant clip/saturate code from 2tap filter functions
average improvement 20%-40%
Change-Id: I362540b0c7d5d3d69932c39d61b7d2a44da533d2
Parag Salasakar [Mon, 3 Aug 2015 04:12:11 +0000 (09:42 +0530)]
mips msa vpx subtract test added
Change-Id: I0f0827a665c4d3039d3e5f09fa8c75c8f2bb2bab
Jingning Han [Fri, 31 Jul 2015 19:57:52 +0000 (12:57 -0700)]
Add _dspr2 to local function names
It avoids symbol conflicts between function names of various
implementation versions.
Change-Id: Iad79ebcb8e289457801812a7745c8380b5b06a46
Jingning Han [Mon, 3 Aug 2015 03:18:39 +0000 (03:18 +0000)]
Merge "Factor out mips/msa inverse transform implementations"
Jingning Han [Sun, 2 Aug 2015 21:56:09 +0000 (21:56 +0000)]
Merge "Add x86inc flag guard to inv_txfm_sse2.asm"
Jingning Han [Sun, 2 Aug 2015 15:22:06 +0000 (08:22 -0700)]
Remove vp9_common.h from idct16x16_neon.c
Change-Id: I3df35a99900ef8ce549d315866849a10db1a4c7b
Jingning Han [Sun, 2 Aug 2015 15:43:13 +0000 (08:43 -0700)]
Add x86inc flag guard to inv_txfm_sse2.asm
Fix the VS build failure.
Change-Id: I4fb9d1c83980c4b52d5a848a9cb02ec72493dccb
Jingning Han [Sun, 2 Aug 2015 15:24:56 +0000 (08:24 -0700)]
Add vpx_dsp_rtcd.h to inv_txfm_sse2.c
Change-Id: Ibab434fb4bd6da02dba087582ed74811f555c3ed
James Zern [Sat, 1 Aug 2015 18:45:49 +0000 (11:45 -0700)]
vpx_convolve_copy_sse2: fix win64
xmm6-7 need to be stored
Change-Id: I6c51559598d335946ec91be6246b49589c63b724
Jingning Han [Fri, 31 Jul 2015 18:15:55 +0000 (11:15 -0700)]
Factor out mips/msa inverse transform implementations
Move mips/msa inverse transform implementations from vp9 folder to
vpx_dsp.
Change-Id: Ic4cf3f05247c3c63db7b532a0e5000017a962391
Jingning Han [Sat, 1 Aug 2015 16:20:43 +0000 (16:20 +0000)]
Merge "Use precise header files in inverse transform msa implementations"
Jingning Han [Sat, 1 Aug 2015 16:20:24 +0000 (16:20 +0000)]
Merge "Factor inverse transform functions into vpx_dsp"
Parag Salasakar [Sat, 1 Aug 2015 02:35:25 +0000 (08:05 +0530)]
mips msa vp8 denoising filter optimization
average improvement ~2x-3x
Change-Id: I6c17012c731fa4d56e0343f8de0df47b2dde289b
Parag Salasakar [Sat, 1 Aug 2015 02:12:20 +0000 (02:12 +0000)]
Merge "mips msa vp8 temporal filter optimization"
James Zern [Fri, 24 Jul 2015 23:54:51 +0000 (16:54 -0700)]
update libyuv to r1456
picks up build warning fixes for visual studio 2015
Change-Id: Idea85fa70d1aeb2a46ea355b87fe41ec5b2b9520
Jingning Han [Sat, 1 Aug 2015 01:01:37 +0000 (01:01 +0000)]
Merge "Add dynamic range notes to vp9_vector_var_c"
James Zern [Fri, 31 Jul 2015 02:46:55 +0000 (19:46 -0700)]
add vp9_vector_var_neon
~50-60% faster depending on the width
Change-Id: I9d007cfa10b9aaa2169c8c009d95522df6123a92
Aℓex Converse [Fri, 31 Jul 2015 23:51:01 +0000 (23:51 +0000)]
Merge "Turn off simple_model_rd_from_var at speed 4."
Jingning Han [Fri, 31 Jul 2015 23:41:51 +0000 (16:41 -0700)]
Add dynamic range notes to vp9_vector_var_c
Change-Id: If536ad31046ecd9e2ecd9c21f52f8192c8153ad7
Jingning Han [Fri, 31 Jul 2015 17:53:25 +0000 (10:53 -0700)]
Use precise header files in inverse transform msa implementations
Change-Id: Ie8a79d9e2837842c3f60776b661cd42782b108d5
James Zern [Fri, 31 Jul 2015 23:22:34 +0000 (23:22 +0000)]
Merge "VP9_COPY_CONVOLVE_SSE2 optimization"
Jingning Han [Fri, 31 Jul 2015 01:53:18 +0000 (18:53 -0700)]
Factor inverse transform functions into vpx_dsp
This commit moves the module inverse transform functions from vp9
to vpx_dsp folder. The hybrid transform wrapper functions stay in
the vp9 folder, since it involves codec-specific data structures.
Change-Id: Ib066367c953d3d024c73ba65157bbd70a95c9ef8
Alex Converse [Fri, 31 Jul 2015 22:50:17 +0000 (15:50 -0700)]
Turn off simple_model_rd_from_var at speed 4.
This got erroneously changed during the refactor. This fixes
SvcTest.TwoPassEncode2TemporalLayersWithMultipleFrameContextsAndTiles.
Change-Id: Ifa5ab0e098396c5e2d10478db87df256eadfa4c7
James Zern [Fri, 31 Jul 2015 22:22:48 +0000 (22:22 +0000)]
Merge changes Iecdbbc34,I8b4db93f
* changes:
Android.mk: fix *_rtcd.h deps for armeabi-v7a
Android.mk: add a dep on vpx_config.asm for x86_64
Scott LaVarnway [Thu, 30 Jul 2015 12:02:04 +0000 (05:02 -0700)]
VP9_COPY_CONVOLVE_SSE2 optimization
This function suffers from a couple problems in small core(tablets):
-The load of the next iteration is blocked by the store of previous iteration
-4k aliasing (between future store and older loads)
-current small core machine are in-order machine and because of it the store will spin the rehabQ until the load is finished
fixed by:
- prefetching 2 lines ahead
- unroll copy of 2 rows of block
- pre-load all xmm regiters before the loop, final stores after the loop
The function is optimized by:
copy_convolve_sse2 64x64 - 16%
copy_convolve_sse2 32x32 - 52%
copy_convolve_sse2 16x16 - 6%
copy_convolve_sse2 8x8 - 2.5%
copy_convolve_sse2 4x4 - 2.7%
credit goes to Tom Craver(tom.r.craver@intel.com) and Ilya Albrekht(ilya.albrekht@intel.com)
Change-Id: I63d3428799c50b2bf7b5677c8268bacb9fc29671
Jingning Han [Fri, 31 Jul 2015 21:29:50 +0000 (21:29 +0000)]
Merge "Fix compiler warning in mips/dspr2"
Aℓex Converse [Fri, 31 Jul 2015 21:19:11 +0000 (21:19 +0000)]
Merge "Compute skippable inside the block_rd_txfm loop."
Jingning Han [Fri, 31 Jul 2015 19:33:35 +0000 (12:33 -0700)]
Fix compiler warning in mips/dspr2
This commit fixes the mix declaration and definition warning when
mips/dspr2 is turned on.
Change-Id: I633d6fe42368b9ac35b106786ebac6969ad53552
Aℓex Converse [Fri, 31 Jul 2015 19:05:54 +0000 (19:05 +0000)]
Merge changes Ic1ce346a,Ic0b4e92c
* changes:
Simplify model_rd_for_sb HBD ifdefs
Simplify dist_block HBD ifdefs
Alex Converse [Fri, 31 Jul 2015 00:39:23 +0000 (17:39 -0700)]
Compute skippable inside the block_rd_txfm loop.
Change-Id: Iaa43aeeb7a2074495e00cdb83bb551c3f13d3ed2
Zoe Liu [Fri, 31 Jul 2015 18:23:19 +0000 (18:23 +0000)]
Merge "Refactor mips/dspr2 on convolution."
Zoe Liu [Fri, 31 Jul 2015 18:20:14 +0000 (18:20 +0000)]
Merge "Code refactor on InterpKernel"
Alex Converse [Fri, 31 Jul 2015 17:56:11 +0000 (10:56 -0700)]
Simplify model_rd_for_sb HBD ifdefs
Change-Id: Ic1ce346a053800ae3b2d77178f46e6a388357f6d
Alex Converse [Fri, 31 Jul 2015 00:52:55 +0000 (17:52 -0700)]
Simplify dist_block HBD ifdefs
Change-Id: Ic0b4e92cbaf813bcca8a8e9052c936c2e025e114
Aℓex Converse [Fri, 31 Jul 2015 17:59:22 +0000 (17:59 +0000)]
Merge "Short circuit rate_block in block_rd_txfm."
Zoe Liu [Tue, 28 Jul 2015 17:52:24 +0000 (10:52 -0700)]
Refactor mips/dspr2 on convolution.
Change-Id: If59a39d5a92c261537342726f94bb7f7f26dfff3
Zoe Liu [Wed, 22 Jul 2015 17:40:42 +0000 (10:40 -0700)]
Code refactor on InterpKernel
It in essence refactors the code for both the interpolation
filtering and the convolution. This change includes the moving
of all the files as well as the changing of the code from vp9_
prefix to vpx_ prefix accordingly, for underneath architectures:
(1) x86;
(2) arm/neon; and
(3) mips/msa.
The work on mips/drsp2 will be done in a separate change list.
Change-Id: Ic3ce7fb7f81210db7628b373c73553db68793c46
Alex Converse [Thu, 30 Jul 2015 18:52:28 +0000 (11:52 -0700)]
Give skip_txfm constants names.
This is using a define instead of an enum to keep byte packing.
Change-Id: I3abb07c8bfe377e19be4531b624af7b7b4207792
Alex Converse [Thu, 30 Jul 2015 22:33:47 +0000 (15:33 -0700)]
Short circuit rate_block in block_rd_txfm.
Don't run rate_block (cost_coeffs) if distortion alone is enough to
surpass best_rd.
This decreases 2nd pass runtime on HD at speed 2 by about 2%. There is
zero effect on output if tx_cache is removed.
Change-Id: Ia3b1cc77bfbe6ee988c395fde06c0eb92940b784
Parag Salasakar [Fri, 31 Jul 2015 06:33:19 +0000 (12:03 +0530)]
mips msa vp8 temporal filter optimization
average improvement ~2x-3x
Change-Id: I05593bed583234dc7809aaec6cab82773a29505d
Parag Salasakar [Fri, 31 Jul 2015 03:59:10 +0000 (09:29 +0530)]
mips msa vp8 block subtract optimization
average improvement ~2x-3x
Change-Id: I30abf4c92cddcc9e87b7a40d4106076e1ec701c2
Parag Salasakar [Fri, 31 Jul 2015 03:44:03 +0000 (03:44 +0000)]
Merge "mips msa vp8 quantize optimization"
Yunqing Wang [Wed, 29 Jul 2015 20:37:41 +0000 (13:37 -0700)]
Remove tx cache and speed up tx size selection
1. The RD scores obtained during the tx size selection were stored in the
tx cache, and used to help make the tx decision for the following frames.
This wasn't used anymore in VP9 encoder. Recovered the related decision
making code from 1.5+ years ago, and borg tests didn't show any quality
gain. This patch removed it to lower the complexity.
2. An optimization was done after the above refactoring. If the tx_mode
is not TX_MODE_SELECT, we only need to test the chosen tx size instead
of all posible tx sizes. This gave a 1.5% average speed gain at speed 2,
and a 1% average speed gain at speed 3.
Change-Id: Id8cd650e066a8cef33829d8c15388a8138adc78c
Aℓex Converse [Thu, 30 Jul 2015 23:04:28 +0000 (23:04 +0000)]
Merge "Convert simple_model_rd_from_var from a speed check to a speed feature."
Hui Su [Thu, 30 Jul 2015 22:29:35 +0000 (22:29 +0000)]
Merge "Exclude vpx intra prediction functions in vp8-only build"
Alex Converse [Thu, 30 Jul 2015 20:52:02 +0000 (13:52 -0700)]
Convert simple_model_rd_from_var from a speed check to a speed feature.
Change-Id: I8877025e172fff29bc4e270790211463b676b4d7
hui su [Thu, 30 Jul 2015 02:43:29 +0000 (19:43 -0700)]
Exclude vpx intra prediction functions in vp8-only build
Currently vp8 is not using the intra prediction functions in vpx_dsp.
Change-Id: I1522b5f5cb12a81999fb126cf7c62c70259e7a52
James Zern [Wed, 29 Jul 2015 23:07:05 +0000 (16:07 -0700)]
Android.mk: fix *_rtcd.h deps for armeabi-v7a
strip '.neon' so *_rtcd.h depends on the correct file
Change-Id: Iecdbbc34c9ce5c6d0a4b466332d52f4e6a0cb128