Dmitry Kovalev
4264c93844
Renaming INTERPOLATION_TYPE to INTERP_FILTER.
...
Corresponding renames:
subpel_kernel => interp_kernel
vp9_get_filter_kernel() => vp9_get_interp_kernel()
pred_filter_type => pred_interp_filter
adaptive_pred_filter_type => adaptive_pred_interp_filter
mcomp_filter_type => interp_filter
read_interp_filter_type() => read_interp_filter()
write_interp_filter_type() => write_interp_filter()
fix_mcomp_filter_type() => fix_interp_filter()
Change-Id: I1fa61fa1dc81ebbf043457c3ee2d8d4515bee6d3
2014-01-24 15:57:28 -08:00
Dmitry Kovalev
03eb63c114
Merge "Removing MODE_STATS."
2014-01-24 15:53:12 -08:00
Frank Galligan
c6d537155c
Merge "Revert external frame buffer code."
2014-01-24 11:31:23 -08:00
hkuang
92ab96a7ae
Merge "Add vp9_tm_predictor_16x16 neon implementation which is 3.5 times faster than C."
2014-01-24 10:48:44 -08:00
James Zern
26c88ec14e
Merge changes I826655a7,I5164df72,Iba9b198c,Ide9a6846,I4f51ce85,I0e6aa00f,Ic334da9a,I252f5f8a,I7865db2d,I13b434b1
...
* changes:
test/: remove unnecessary extern "C"s
top-level: add extern "C" to headers
vpx_ports: add extern "C" to headers
vpx: add extern "C" to headers
vp9/encoder: add extern "C" to headers
vp9/decoder: add extern "C" to headers
vp9/common: add extern "C" to headers
vp8/encoder: add extern "C" to headers
vp8/decoder: add extern "C" to headers
vp8/common: add extern "C" to headers
2014-01-24 10:47:00 -08:00
hkuang
3633ffcbf7
Add vp9_tm_predictor_16x16 neon implementation
...
which is 3.5 times faster than C.
Change-Id: I24439ba7a2971829c11620f34848facf2c916678
2014-01-24 10:22:58 -08:00
Frank Galligan
b1c72b633e
Revert external frame buffer code.
...
A future CL will add external frame buffers
differently.
Squash commit of four revert commits:
Revert "Increase required number of external frame buffers"
This reverts commit 9e41d569d7
.
Revert "Add external constants."
This reverts commit bbf53047b0
.
Revert "Add frame buffer lru cache."
This reverts commit fbada948fa
.
Conflicts:
vpxdec.c
Change-Id: I76fe42419923a6ea6c75d9997cbbf941d73d3005
Revert "Add support to pass in external frame buffers."
This reverts commit 10f891696b
.
Conflicts:
test/external_frame_buffer_test.cc
vp9/common/vp9_alloccommon.c
vp9/common/vp9_reconinter.c
vp9/decoder/vp9_decodeframe.c
vp9/encoder/vp9_onyx_if.c
vp9/vp9_dx_iface.c
vpx/vpx_decoder.h
vpx/vpx_external_frame_buffer.h
vpx_scale/generic/yv12config.c
vpxdec.c
Change-Id: I7434cf590f1c852b38569980e4247fad0d939c2e
2014-01-24 10:10:20 -08:00
Adrian Grange
8b0537f631
Merge changes I24ad1f0f,I33be1366
...
* changes:
Reorder functions to avoid forward declaration
Rename set_scale_factors as set_ref_ptrs
2014-01-24 08:38:52 -08:00
James Zern
0940c9cfde
vp9/common: add extern "C" to headers
...
Change-Id: Ic334da9aee968e33762c2b25d9fbad24c844b411
2014-01-23 16:21:24 -08:00
Dmitry Kovalev
5f75fda9e9
Merge "Cleaning up vp9_refining_search_sad() function."
2014-01-22 17:15:22 -08:00
hkuang
97826df96b
Add tm_predictor_8x8 neon implementation.
...
Change-Id: I76c2720546b737cb63018a8ab6a3ff62a291786d
2014-01-22 13:43:20 -08:00
Adrian Grange
e37eb0ade7
Rename set_scale_factors as set_ref_ptrs
...
New name better describes what the function does.
Change-Id: I33be1366a81f058a9854b804bcde211061187dc7
2014-01-22 13:04:30 -08:00
Johann
4e9dc6d45d
Merge "Match vp9_coefband_trans_* declarations"
2014-01-22 11:10:51 -08:00
Johann
6c492fc2f9
Match vp9_coefband_trans_* declarations
...
VS2013 Chromium builds failed with:
warning C4742: 'vp9_coefband_trans_8x8plus' has different alignment in
https://code.google.com/p/chromium/issues/detail?id=336620
Change-Id: I865f72bc23ae958531eeb5f497002c12e9a36fcd
2014-01-21 17:07:23 -08:00
hkuang
437004c710
Seperate the border size for encoder and decoder.
...
Encoder's boarder is still 160, while decoder's boarder will be 32.
With on demand and separate boarder buffer for boarder extension.
The decoder's boarder does not need to to 160 anymore.
Change-Id: I93d5aaff15a33a2213e9761eaa37c5f2870747db
2014-01-21 15:28:41 -08:00
Dmitry Kovalev
a001016996
Removing MODE_STATS.
...
Change-Id: I7520e1cc82b749187c9445356dd7b54f3f3826cc
2014-01-17 17:30:22 -08:00
Jingning Han
b461c0884e
Deprecate best_mv from encoder
...
This commit deprecates the use of best_mv from encoding and bit-stream
writing stages. It hence removes the definition from MACROBLOCKD.
Change-Id: I8e5302775a2aa4a18900726df407bff881f2dfb1
2014-01-17 17:15:34 -08:00
hkuang
671df8486d
Merge "Use a temp buffer for reconstruction when reference buffer is out of boarder."
2014-01-17 16:17:36 -08:00
hkuang
7459fee8c6
Use a temp buffer for reconstruction when
...
reference buffer is out of boarder.
Change-Id: Ic7ad136e54a4d68abe0fd4345146a86b0ba824e1
2014-01-17 16:15:54 -08:00
Dmitry Kovalev
d8bfe9e24c
Cleaning up vp9_refining_search_sad() function.
...
Change-Id: I660b53da8ebf3049832ce8a10721051c4e0ebb00
2014-01-17 15:20:28 -08:00
Dmitry Kovalev
ac40c87f68
Removing unused vp9_yv12_copy_partial_frame() function.
...
Change-Id: I3149e562fe9500914f67b6f908283edcdc381ac6
2014-01-16 18:16:34 -08:00
Yunqing Wang
d2bb0c51d3
Revert "Revert "Revert "SSSE3 convolution optimization"""
...
This reverts commit f9404f2406
.
This patch caused some ASAN error.
Change-Id: If15b7e581310e19061d111c69f2931809662ed19
2014-01-16 16:11:46 -08:00
hkuang
2a2d8c140f
Merge "Add vp9_tm_predictor_4x4 neon implementation"
2014-01-16 10:18:12 -08:00
Dmitry Kovalev
67e4ca2a1a
Merge "Cleaning up postproc code."
2014-01-15 16:23:54 -08:00
Yaowu Xu
056db03d17
Merge "Revert "Revert "SSSE3 convolution optimization"""
2014-01-15 15:03:25 -08:00
Deb Mukherjee
8ce5f68fe4
Merge "Rearranges the END_USAGE typedef"
2014-01-15 14:01:30 -08:00
hkuang
f2ef389256
Add vp9_tm_predictor_4x4 neon implementation
...
Change-Id: I10c423bde7ea5a3bac9f14f35c73b6bc31c8f3e3
2014-01-15 11:51:36 -08:00
Deb Mukherjee
f32106951a
Rearranges the END_USAGE typedef
...
Rearranges the END_USAGE typedef to make it compatible with the
vpx user input.
Change-Id: Ic9fa9e9edbee7c0ad01e12e685b219582fcecd16
2014-01-15 10:10:23 -08:00
Adrian Grange
c3011e6f90
Delete outdated comment & tidy-up others
...
Change-Id: I83031180723ee59270ec8fb66b2f73c0796bee25
2014-01-15 09:53:03 -08:00
Dmitry Kovalev
a540f8a0b0
Cleaning up postproc code.
...
Change-Id: I7e53f6345a4cf89309262f50850c9ad08ed3c527
2014-01-14 15:49:19 -08:00
Yunqing Wang
f9404f2406
Revert "Revert "SSSE3 convolution optimization""
...
This reverts commit b645257121
.
Change-Id: I60d1bf57ae8e9eb6127f42f2d5a780124ac51b45
2014-01-13 12:29:55 -08:00
James Zern
f83c12b540
Merge "cosmetics: vp9_reconinter.h: make some variables const"
2014-01-11 12:39:32 -08:00
Dmitry Kovalev
96be0a50ab
Removing mi_height_log2_lookup table.
...
Change-Id: I1f0ae2edc3a96b33c0494d165ae756a8feba6184
2014-01-10 13:29:47 -08:00
Paul Wilkins
b645257121
Revert "SSSE3 convolution optimization"
...
This reverts commit 511d218c60
.
In current form intrinsics break borg build.
Change-Id: Ied37936af841250ecff449802e69a3d3761c91b9
2014-01-10 13:38:26 +00:00
Jingning Han
a4c94a94cc
Merge "Optimze inv 16x16 DCT with 10 non-zero coeffs - P2"
2014-01-09 18:17:25 -08:00
Jingning Han
faa2ba86cc
Merge "Optimze inv 16x16 DCT with 10 non-zero coeffs - P1"
2014-01-09 18:17:12 -08:00
Dmitry Kovalev
c8e8d3a461
Merge "Renaming 'Sharpness' to 'sharpness'."
2014-01-09 13:42:55 -08:00
Jingning Han
af31b27aae
Optimze inv 16x16 DCT with 10 non-zero coeffs - P2
...
This commit further optimizes SSE2 operations in the second 1-D
inverse 16x16 DCT, with (<10) non-zero coefficients. The average
runtime of this module goes down from 779 cycles -> 725 cycles.
Change-Id: Iac31b123640d9b1e8f906e770702936b71f0ba7f
2014-01-09 12:46:09 -08:00
Yunqing Wang
f3b9b97c0e
Merge "SSSE3 convolution optimization"
2014-01-09 12:39:47 -08:00
levytamar82
511d218c60
SSSE3 convolution optimization
...
Optimizing all SSSE3 assembly for convolution:
1. vp9_filter_block1d4_h8_sse2
2. vp9_filter_block1d8_h8_sse2
3. vp9_filter_block1d16_h8_sse2
4. vp9_filter_block1d4_v8_sse2
5. vp9_filter_block1d8_v8_sse2
6. vp9_filter_block1d16_v8_sse2
my optimization include:
-processing 2x8 elements in one 128 bit register instead of processing
8 elements in one 128 bit register.
-removing unecessary loads.
This optimization gives between 2.4% user level gain for 480p input
and 1.6% user level gain for 720p.
This Optimization done only for 64bit.
Change-Id: Icb586dc0c938b56699864fcee6c52fd43b36b969
2014-01-09 12:27:51 -07:00
Dmitry Kovalev
4fbe54d201
Merge "Renaming 'Mode' to 'mode'."
2014-01-08 16:29:29 -08:00
Jingning Han
ba6ab46cdc
Optimze inv 16x16 DCT with 10 non-zero coeffs - P1
...
This commit is the first patch optimizing SSE2 implementation of inverse
16x16 DCT with <10 non-zero coefficients. It focused on the first 1-D (row)
transformation. It exploits the fact that only top-left 4x4 block contains
non-zero coefficients, in a 2-D inverse 16x16 DCT with <10 coeffients.
The average runtime of idct16x16_10 unit is reduced from
883 cycles -> 779 cycles (12% faster).
For pedestrian_area_1080p 300 frames at 4000 kbps, the speed 2 runtime goes
down from 310651 ms -> 305910 ms. The decoding speed goes up from
80.37 fps -> 80.87 fps.
Change-Id: Ic6f3ac5a637a76c07ba73ddaafe318a699fea645
2014-01-08 15:36:45 -08:00
Alex Converse
8fcb74e6bb
Merge "Add a C fallback for get_msb() and change inline to INLINE."
2014-01-08 14:43:46 -08:00
hkuang
5be0ed30dc
Merge "Add initial intra frame neon optimization. 1~2% gain."
2014-01-08 14:41:43 -08:00
Dmitry Kovalev
962c8b241e
Renaming 'Mode' to 'mode'.
...
Change-Id: I6cdd670d66288dbd66228f38bba6b30502d25362
2014-01-08 14:33:59 -08:00
Dmitry Kovalev
57be81369a
Renaming 'Sharpness' to 'sharpness'.
...
Change-Id: I54513dc3b3321e0c0bb6b15ea5c34085ed80b4a4
2014-01-08 14:19:14 -08:00
Alex Converse
ce7ff3b63d
Add a C fallback for get_msb() and change inline to INLINE.
...
For systems without __builtin_clz() or _BitScanReverse(), taken from libwep
Change-Id: Iead257efc1772c466c79e1dc0356ed571d38d43e
2014-01-08 12:25:47 -08:00
hkuang
691111aacf
Add initial intra frame neon optimization. 1~2% gain.
...
More intra optimizations will be added.
Change-Id: I33ae8d93f6002bf7b64cc2669602d9e6bfa5a6e8
2014-01-08 11:58:42 -08:00
Yunqing Wang
a84029ad9c
Merge "AVX2 Variance Optimization"
2014-01-08 11:33:42 -08:00
levytamar82
357b65369f
AVX2 Variance Optimization
...
Optimizing the variance functions: vp9_variance16x16, vp9_variance32x32,
vp9_variance64x64, vp9_variance32x16, vp9_variance64x32,
vp9_mse16x16 by migrating to AVX2
some of the functions were optimized by processing 32 elements instead of 16.
some of the functions were optimized by processing 2 loop strides of 16
elements in a single 256 bit register
This optimization gives between 2.4% - 2.7% user level performance gain
and 42% function level gain.
Change-Id: I265ae08a2b0196057a224a86450153ef3aebd85d
2014-01-08 12:05:53 -07:00