James Zern
a0fd7a9831
Merge "add vp9_vector_var_neon"
2015-08-04 02:30:41 +00:00
James Zern
d011808777
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
2015-08-03 16:22:21 -07:00
Johann
749c393c8d
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
2015-08-03 14:27:03 -07:00
Jingning Han
bfad9d2fe6
Move inverse transfrom dspr2 functions from vp9 to vpx_dsp
...
Change-Id: Ia9cf7c31cab4ba3dd6b9bb668c4b3e84bd55cf69
2015-08-03 11:59:50 -07:00
Jingning Han
7723b8df6a
Merge "Add common_dspr2.c file to vpx_dsp/mips"
2015-08-03 18:58:37 +00:00
Yaowu Xu
9d9273726b
Merge "Correct the allocation size for ssim_vars"
2015-08-03 18:43:55 +00:00
Jingning Han
92b08f516a
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
2015-08-03 10:53:47 -07:00
Yaowu Xu
8f089cbd2e
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
2015-08-03 10:46:12 -07:00
Jingning Han
a68356202d
Remove vpx_ prefix from the dspr2 file name in vpx_dsp/mips
...
Make it consistent with other formats.
Change-Id: I28f0d05ff7c5bf2b815989b3f1bd6c6b25608677
2015-08-03 09:59:14 -07:00
Scott LaVarnway
8f6b943100
VPX: Add rtcd support for scaling.
...
Change-Id: If34bfb0d918967445aea7dc30cd7b55ebfedb1f2
2015-08-03 09:43:34 -07:00
Jingning Han
d10fc5af8f
Merge "Add vpx_dsp_rtcd.h to inv_txfm_sse2.c"
2015-08-03 16:03:09 +00:00
Jingning Han
b096db5ad4
Merge "Remove vp9_common.h from idct16x16_neon.c"
2015-08-03 16:03:02 +00:00
Parag Salasakar
1579bb88c5
mips msa vpx convolve optimzation
...
Removed redundant clip/saturate code from 2tap filter functions
average improvement 10%-40%
Change-Id: I1dafb5f7d2ce7a021d883d8af30fb93cd9ace173
2015-08-03 14:03:40 +05:30
Parag Salasakar
9b375871db
mips msa vpx subpel variance optimization
...
Removed redundant clip/saturate code from 2tap filter functions
average improvement 20%-40%
Change-Id: I362540b0c7d5d3d69932c39d61b7d2a44da533d2
2015-08-03 13:00:55 +05:30
Parag Salasakar
4bfe3bdf27
mips msa vpx subtract test added
...
Change-Id: I0f0827a665c4d3039d3e5f09fa8c75c8f2bb2bab
2015-08-03 09:42:11 +05:30
Jingning Han
0b0eba728d
Add _dspr2 to local function names
...
It avoids symbol conflicts between function names of various
implementation versions.
Change-Id: Iad79ebcb8e289457801812a7745c8380b5b06a46
2015-08-02 20:21:59 -07:00
Jingning Han
da7dc59837
Merge "Factor out mips/msa inverse transform implementations"
2015-08-03 03:18:39 +00:00
Jingning Han
0fcfc613c6
Merge "Add x86inc flag guard to inv_txfm_sse2.asm"
2015-08-02 21:56:09 +00:00
Jingning Han
6eabf229e2
Remove vp9_common.h from idct16x16_neon.c
...
Change-Id: I3df35a99900ef8ce549d315866849a10db1a4c7b
2015-08-02 09:57:25 -07:00
Jingning Han
4f7a7d29fa
Add x86inc flag guard to inv_txfm_sse2.asm
...
Fix the VS build failure.
Change-Id: I4fb9d1c83980c4b52d5a848a9cb02ec72493dccb
2015-08-02 08:43:51 -07:00
Jingning Han
80ae856c8b
Add vpx_dsp_rtcd.h to inv_txfm_sse2.c
...
Change-Id: Ibab434fb4bd6da02dba087582ed74811f555c3ed
2015-08-02 08:25:13 -07:00
James Zern
22a8474fe7
vpx_convolve_copy_sse2: fix win64
...
xmm6-7 need to be stored
Change-Id: I6c51559598d335946ec91be6246b49589c63b724
2015-08-01 11:45:49 -07:00
Jingning Han
44849516d4
Factor out mips/msa inverse transform implementations
...
Move mips/msa inverse transform implementations from vp9 folder to
vpx_dsp.
Change-Id: Ic4cf3f05247c3c63db7b532a0e5000017a962391
2015-08-01 09:25:12 -07:00
Jingning Han
b37494cfb5
Merge "Use precise header files in inverse transform msa implementations"
2015-08-01 16:20:43 +00:00
Jingning Han
b4c7d0523a
Merge "Factor inverse transform functions into vpx_dsp"
2015-08-01 16:20:24 +00:00
Parag Salasakar
d35f992599
mips msa vp8 denoising filter optimization
...
average improvement ~2x-3x
Change-Id: I6c17012c731fa4d56e0343f8de0df47b2dde289b
2015-08-01 08:05:25 +05:30
Parag Salasakar
c1b233dd43
Merge "mips msa vp8 temporal filter optimization"
2015-08-01 02:12:20 +00:00
James Zern
fcb4253c9c
update libyuv to r1456
...
picks up build warning fixes for visual studio 2015
Change-Id: Idea85fa70d1aeb2a46ea355b87fe41ec5b2b9520
2015-07-31 18:34:20 -07:00
Jingning Han
4dc390b15d
Merge "Add dynamic range notes to vp9_vector_var_c"
2015-08-01 01:01:37 +00:00
James Zern
7dc5a689b4
add vp9_vector_var_neon
...
~50-60% faster depending on the width
Change-Id: I9d007cfa10b9aaa2169c8c009d95522df6123a92
2015-07-31 17:31:58 -07:00
Aℓex Converse
fd22c492f7
Merge "Turn off simple_model_rd_from_var at speed 4."
2015-07-31 23:51:01 +00:00
Jingning Han
36a9a33b90
Add dynamic range notes to vp9_vector_var_c
...
Change-Id: If536ad31046ecd9e2ecd9c21f52f8192c8153ad7
2015-07-31 16:42:09 -07:00
Jingning Han
56c2cb7553
Use precise header files in inverse transform msa implementations
...
Change-Id: Ie8a79d9e2837842c3f60776b661cd42782b108d5
2015-07-31 23:24:54 +00:00
James Zern
d8642d831f
Merge "VP9_COPY_CONVOLVE_SSE2 optimization"
2015-07-31 23:22:34 +00:00
Jingning Han
e8b133c79c
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
2015-07-31 16:21:00 -07:00
Alex Converse
af6d2c7d42
Turn off simple_model_rd_from_var at speed 4.
...
This got erroneously changed during the refactor. This fixes
SvcTest.TwoPassEncode2TemporalLayersWithMultipleFrameContextsAndTiles.
Change-Id: Ifa5ab0e098396c5e2d10478db87df256eadfa4c7
2015-07-31 15:50:17 -07:00
James Zern
e184b613b9
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
2015-07-31 22:22:48 +00:00
Scott LaVarnway
a5e97d874b
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
2015-07-31 14:51:51 -07:00
Jingning Han
6025c6d65b
Merge "Fix compiler warning in mips/dspr2"
2015-07-31 21:29:50 +00:00
Aℓex Converse
dd4b416412
Merge "Compute skippable inside the block_rd_txfm loop."
2015-07-31 21:19:11 +00:00
Jingning Han
135b43ccf3
Fix compiler warning in mips/dspr2
...
This commit fixes the mix declaration and definition warning when
mips/dspr2 is turned on.
Change-Id: I633d6fe42368b9ac35b106786ebac6969ad53552
2015-07-31 12:34:34 -07:00
Aℓex Converse
90e563d91f
Merge changes Ic1ce346a,Ic0b4e92c
...
* changes:
Simplify model_rd_for_sb HBD ifdefs
Simplify dist_block HBD ifdefs
2015-07-31 19:05:54 +00:00
Alex Converse
ab20c98e84
Compute skippable inside the block_rd_txfm loop.
...
Change-Id: Iaa43aeeb7a2074495e00cdb83bb551c3f13d3ed2
2015-07-31 11:45:59 -07:00
Zoe Liu
7f8dd35329
Merge "Refactor mips/dspr2 on convolution."
2015-07-31 18:23:19 +00:00
Zoe Liu
873a158f14
Merge "Code refactor on InterpKernel"
2015-07-31 18:20:14 +00:00
Alex Converse
c62228f273
Simplify model_rd_for_sb HBD ifdefs
...
Change-Id: Ic1ce346a053800ae3b2d77178f46e6a388357f6d
2015-07-31 11:16:59 -07:00
Alex Converse
da9c73c293
Simplify dist_block HBD ifdefs
...
Change-Id: Ic0b4e92cbaf813bcca8a8e9052c936c2e025e114
2015-07-31 11:04:01 -07:00
Aℓex Converse
8abd0c2a12
Merge "Short circuit rate_block in block_rd_txfm."
2015-07-31 17:59:22 +00:00
Zoe Liu
7cfdc00337
Refactor mips/dspr2 on convolution.
...
Change-Id: If59a39d5a92c261537342726f94bb7f7f26dfff3
2015-07-31 10:27:42 -07:00
Zoe Liu
7186a2dd86
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
2015-07-31 10:27:33 -07:00