Dmitry Kovalev
be647f7b83
Merge "Adding get_tx_type() instead of get_tx_type_{8x8, 16x16}."
2014-03-03 14:24:28 -08:00
Dmitry Kovalev
594677a76b
Merge "Moving FRAME_CONTEXT & FRAME_COUNTS to vp9_entropymode.h."
2014-03-03 14:24:04 -08:00
Dmitry Kovalev
46af01d719
Adding get_tx_type() instead of get_tx_type_{8x8, 16x16}.
...
Change-Id: I4a54b12e5229705222c5a101258b9d1f81e2948d
2014-03-03 12:20:51 -08:00
Dmitry Kovalev
c288367678
Adding consts and cleaning up vp9_rdopt.
...
Change-Id: I9423b543e1be414e5c9e10480b813f06e6b88f8a
2014-03-03 12:19:51 -08:00
Yunqing Wang
d4648d93f4
Merge "AVX2 SubPixel AVG Variance Optimization"
2014-03-03 09:01:36 -08:00
Yaowu Xu
9650b9d72a
Remove dec_build_inter_predictors() parameters
...
There were two parameters not in use, this commit removed them.
Change-Id: Ia03a73b9a2521400bed539df45574e34214ed93a
2014-03-01 11:14:00 -08:00
Yaowu Xu
2f4eb5f096
Remove vp9_create_common()
...
The function has evolved over time, now only calls vp9_rtcd(), so this
commit removes the function and changes to call vp9_rtcd() directly.
Change-Id: I8cfa6190daa4b28f6f3d1e11bb3a07f9c95322bf
2014-03-01 10:59:24 -08:00
levytamar82
ea14909687
AVX2 SubPixel AVG Variance Optimization
...
Optimizing 2 functions to process 32 elements in parallel instead of 16:
1. vp9_sub_pixel_avg_variance64x64
2. vp9_sub_pixel_avg_variance32x32
both of those function were calling vp9_sub_pixel_avg_variance16xh_ssse3
instead of calling that function, it calls vp9_sub_pixel_avg_variance32xh_avx2
that is written in avx2 and process 32 elements in parallel.
This Optimization gave 80% function level gain and 2% user level gain
Change-Id: Iea694654e1b7612dc6ed11e2626208c2179502c8
2014-02-28 22:51:04 -07:00
Dmitry Kovalev
e68cc30bb5
Moving FRAME_CONTEXT & FRAME_COUNTS to vp9_entropymode.h.
...
Change-Id: I1fe71e35b1e44da693b43d26607abb33efd56820
2014-02-28 13:56:43 -08:00
Dmitry Kovalev
e4159100bc
Merge "Adding get_y_mode() function."
2014-02-28 11:12:22 -08:00
Dmitry Kovalev
28bd1dd15e
Merge "Adding consts to arguments of vp9_block_error()."
2014-02-28 10:51:43 -08:00
Dmitry Kovalev
3a83d08a08
Merge "Moving get_tx_eob() from common to encoder."
2014-02-28 10:49:47 -08:00
hkuang
edcbbf2ee3
Merge "Fix a bug in neon that has not save and restore q4-q7 registers."
2014-02-28 09:48:26 -08:00
Dmitry Kovalev
3b2cd9137a
Moving get_tx_eob() from common to encoder.
...
Change-Id: I7d11c6ae259aff6560710d16fea3032c661e5b02
2014-02-27 18:26:44 -08:00
Dmitry Kovalev
791e9bdac9
Adding consts to arguments of vp9_block_error().
...
Change-Id: Id145da99259866109cfee8b47a1d8f309944b937
2014-02-27 18:17:08 -08:00
Dmitry Kovalev
1ae91f7784
Adding get_y_mode() function.
...
Change-Id: Iaac57b24f79cd205a8c62bc1177412d22f5787a8
2014-02-27 16:05:50 -08:00
hkuang
f3d8e315ac
Fix a bug in neon that has not save and restore q4-q7 registers.
...
Change-Id: Ie21b5ae89100389b80f919710839084f935a8545
2014-02-27 14:06:52 -08:00
Minghai Shang
3a8deeb8b6
Merge "[svc] Add target bitrate settings for each layers."
2014-02-27 10:51:26 -08:00
Dmitry Kovalev
2c594a5275
Removing vp9_systemdependent.c.
...
Change-Id: I7b9738a7113c0c4687e5d320581ff69d98a8b271
2014-02-26 18:07:23 -08:00
Minghai Shang
8c196b27b3
[svc] Add target bitrate settings for each layers.
...
Change-Id: Ia7677fb436667bc4f76db71f65e4784f433f7826
2014-02-26 13:30:50 -08:00
hkuang
08f250f565
Merge "Fix a bug in intra prediction due to change in 25e55526301eba7d6e5c68e25402e9b2102976d8."
2014-02-26 11:56:45 -08:00
hkuang
1c4e449133
Fix a bug in intra prediction due to change in
...
25e5552630
.
Change-Id: I17ac67c3ced91ad4f057b296f7e8dc86a3389f26
2014-02-25 17:54:33 -08:00
Dmitry Kovalev
7bca32a6a3
Merge "Changing vp9_full_search_sad{, x3, x8} signatures."
2014-02-25 10:51:17 -08:00
Yaowu Xu
05e850cb9e
added clamp of segment loop filter level
...
for ABSDATA mode, so segment loop filter level always fall in valid
range for both Absolute and delta modes.
Change-Id: If90df3411479533dbdab63f8ae088d2f5dd174a9
2014-02-24 09:56:48 -08:00
Yaowu Xu
bfaf415ea7
Merge "Added clamp of qindex to valid range"
2014-02-24 08:28:07 -08:00
Dmitry Kovalev
2aacc66b66
Merge "Cleaning up vp9_mvref_common.{h, c}."
2014-02-23 08:25:40 -08:00
Yaowu Xu
e22b12e304
Added clamp of qindex to valid range
...
The qindex for a segment was not clamped in ABSDATA mode, which may
cause invalid memory access if an ill-formed stream has a negative
value in ABSDATA mode. This commit added clamp to make sure qindex
for a segment always fall into valid range.
Change-Id: I0a74d00f4ef40aec7edaeca1d03c8645e23ab08c
2014-02-22 12:30:18 -08:00
Yaowu Xu
f1633e5844
Merge "Remove an unused variable"
2014-02-21 22:44:05 -08:00
Alex Converse
6e3cf6ec1d
Stop gating non420 features with a configure flag.
...
Change-Id: I8cc38fdef6a2a0968af8dfe15e7c2b3c46c531ea
2014-02-21 12:05:29 -08:00
James Zern
e2f614be53
Merge "vp9_subpixel_8t_intrin_ssse3.c: make some tables static"
2014-02-20 16:02:16 -08:00
James Zern
3240db7407
Merge "vp9_subpixel_8t_intrin_avx2.c: make some tables static"
2014-02-20 16:01:50 -08:00
Yaowu Xu
c58e1c7be9
Remove an unused variable
...
Change-Id: I8eeec70a7d4403243762f14d0b560792801645e8
2014-02-20 14:49:44 -08:00
James Zern
10f2db2b1f
Merge "vp9: normalize DECLARE_ALIGNED use on global tables"
2014-02-19 11:38:47 -08:00
Dmitry Kovalev
d43c5cc5ea
Cleaning up vp9_mvref_common.{h, c}.
...
Hiding vp9_find_mv_refs_idx() inside vp9_mvref_common.c, moving definition
of vp9_find_mv_refs() to vp9_mvref_common.c.
Change-Id: I0c9f34b03648785a7d18edf6d4fddd34e55dfcc5
2014-02-19 14:23:51 +01:00
Dmitry Kovalev
35bd886864
Merge "Cleaning up pack_inter_mode_mvs() function."
2014-02-19 01:04:36 -08:00
James Zern
b78c219c80
vp9: normalize DECLARE_ALIGNED use on global tables
...
- place extern within the macro
- use in the header only
Change-Id: I4274b345d8af9ef329c0eb9553a3ddaad70d1d26
2014-02-18 22:57:43 -08:00
James Zern
d73d621e5d
vp9_subpixel_8t_intrin_ssse3.c: make some tables static
...
+ fix formatting
Change-Id: I344d4de089d03e403f0c7b3e64aeb7086cce86ac
2014-02-18 20:42:00 -08:00
James Zern
a96af49bab
vp9_subpixel_8t_intrin_avx2.c: make some tables static
...
+ fix formatting
Change-Id: Ia62610bff3d63855104366d7860749b6a3cf4577
2014-02-18 20:40:40 -08:00
James Zern
26c8e720ca
Merge "vp9_filter: move table alignment decl's to header"
2014-02-18 20:15:33 -08:00
Yunqing Wang
0cc71c9c9f
Merge "SSSE3 convolution optimization"
2014-02-18 12:55:34 -08:00
Yunqing Wang
ad8d4454f0
Merge "AVX2 SubPixel Variance Optimization"
2014-02-18 12:18:13 -08:00
Dmitry Kovalev
36420009ea
Changing vp9_full_search_sad{, x3, x8} signatures.
...
Passing block MV pointer instead of block index into
vp9_full_search_sad{, x3, x8} functions.
Change-Id: Ica07356633471c2c8f81b583a7aeba85a436bafb
2014-02-17 14:24:57 +01:00
James Zern
8092080216
vp9_filter: move table alignment decl's to header
...
avoids mismatched alignment warnings in visual studio builds
Change-Id: I2cedb8042fd47e708bde3f7168a6fb4bd9aaa569
2014-02-15 10:18:24 -08:00
James Yu
e486488ce8
Replace vqshrun by vqmovun if shift #0 bit
...
Change-Id: Ifabb8c7ec0c327fea9d6739cab10addb060ff435
Signed-off-by: James Yu <james.yu@linaro.org>
2014-02-14 21:03:40 -08:00
Johann
4378503665
Merge "Remove redundant arm neon instructions."
2014-02-14 20:02:51 -08:00
levytamar82
52dac5d1cb
AVX2 SubPixel Variance Optimization
...
Optimizing 2 functions to process 32 elements in parallel instead of 16:
1. vp9_sub_pixel_variance64x64
2. vp9_sub_pixel_variance32x32
both of those function were calling vp9_sub_pixel_variance16xh_ssse3
instead of calling that function, it calls vp9_sub_pixel_variance32xh_avx2
that is written in avx2 and process 32 elements in parallel.
This Optimization gave 70% function level gain and 2% user level gain
Change-Id: I4f5cb386b346ff6c878a094e1c3b37e418e50bde
2014-02-14 16:59:11 -07:00
Adrian Grange
b7be30eb36
Cleanup some comments.
...
Change-Id: I568861ba1d43620865ad9a98a97eef37a51fd856
2014-02-14 15:05:30 -08:00
Yaowu Xu
ecf392a155
Merge "minor spelling cleanup in comments"
2014-02-14 14:29:35 -08:00
levytamar82
3068d7d944
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 is done only for 64 bit
Change-Id: Ic07fce2f9360329b4f2d956efda1480ae958766b
2014-02-14 15:08:42 -07:00
Dmitry Kovalev
19a8eee1f0
Cleaning up pack_inter_mode_mvs() function.
...
Change-Id: I48ad06e3e1ae9720a0683022621f4504e3bebce6
2014-02-13 19:21:10 -08:00