13852 Commits

Author SHA1 Message Date
levytamar82
3c5256d572 VP9_LPF_VERTICAL_16_DUAL_SSE2 optimization
The vp9_lpf_vertical_16_dual function optimized for x86 32bit target. The hot code in that function was caused by the call to the transpose8x16.
The gcc generated assembly created uneeded fills and spills to the stack. By interleaving 2 loads and unpack instructions, in addition to hoisting the consumer
instruction closer to the producer instructions, we eliminated most of the fills and spills and improve the function-level performance by 17%.
credit for writing the function as well as finding the root cause goes to Erik Niemeyer (erik.a.niemeyer@intel.com)

Change-Id: I6173cf53956d52918a047d1c53d9a673f952ec46
2015-07-02 11:56:11 -07:00
Jingning Han
d1b30ceaa3 Rename vpx_thread to vpx_util
Change the dir name to include more util tools.

Change-Id: Id5b16062803ce5eed872fe2edb36d7e56b32eed8
2015-07-02 10:02:37 -07:00
paulwilkins
99f8bd72cb Alter partition search at image edge.
Added code to reduce the minimum partition size searched
for super blocks at or straddling the edge of the image.

If the first pass has detected formatting bars the "active" edge
may not be the real edge.

Change-Id: I9c4bdd1477e60f162a75fac95ba6be7c3521e05c
2015-07-02 16:25:25 +01:00
paulwilkins
dc19f352af Error score recalibration for inactive regions.
Apply a correction to the frame error scores for frames
with inactive regions.

Change-Id: I217840f2efe7eafed3f5b8ddc7c468f1ca3d923c
2015-07-02 15:13:01 +01:00
paulwilkins
e4702deeec ARF Boost correction for inactive regions.
Correct the ARF boost calculations to partly discount
inactive or very low energy regions of the image.

Examples (formatting bars and 0 energy areas of animated clips).

Change-Id: I241af058d10aba8c67a4deca36deb913047d4561
2015-07-02 14:15:46 +01:00
Jingning Han
8565a1c99a Merge "Use vpx prefix for codec independent threading functions" 2015-07-02 04:24:54 +00:00
Jingning Han
66cf8098e6 Merge "Move multi-threading module functions into vpx_thread folder" 2015-07-02 04:24:37 +00:00
Parag Salasakar
6abf1aea63 mips msa vpx_dsp sadx3 sadx8 optimization
average improvement ~3x-5x

Change-Id: Ifdb4670d31ae83c4e22a4238293d1377b16c90db
2015-07-02 08:02:19 +05:30
James Zern
1e0aa9497f inline vp9_reader_has_error()
this is tested for each block

Change-Id: I229c6f0e9513fb206bdbce8be9699a4bf4008ca4
2015-07-01 19:10:43 -07:00
James Zern
e757808429 Merge "vp9_pred_common: inline vp9_get_tx_size_context" 2015-07-02 01:52:40 +00:00
James Zern
0ea304620c Merge "vp9_pred_common: inline vp9_get_segment_id" 2015-07-02 01:52:21 +00:00
James Zern
95dc082168 Merge "vp9_dsubexp: replace some divides with shifts" 2015-07-02 01:51:25 +00:00
James Zern
b49de21d74 Merge "vp9/inv_remap_prob: simplify inv_map_table[]" 2015-07-02 01:51:06 +00:00
James Zern
f0b3b08fb4 Merge "vp9_dsubexp: remove clamp in inv_remap_prob()" 2015-07-02 01:50:46 +00:00
Jingning Han
04d2e57425 Use vpx prefix for codec independent threading functions
Replace vp9_ prefix with vpx_ for common multi-threading functions.

Change-Id: I941a5ead9bfe8213fdad345511d2061b07797b55
2015-07-02 00:47:54 +00:00
Jingning Han
3a3b0be09a Move multi-threading module functions into vpx_thread folder
This commit moves the primitive multi-threading files from vp9
folder to vpx_thread, which will be accessible by all vpx codec.

Change-Id: Ib51e66e9c69801c10631fab56d35a0c0aaed5883
2015-07-01 17:45:49 -07:00
Johann
79fcc56781 Merge "Fix --disable-use-x86inc when used with --enable-vp9-highbitdepth" 2015-07-01 21:14:41 +00:00
Johann
8d5389171f Merge "Fix --disable-use-x86inc" 2015-07-01 21:14:17 +00:00
Johann
1c967f17bd Fix --disable-use-x86inc when used with --enable-vp9-highbitdepth
Change-Id: I0ed6de72dc0bb99fc9c5b1f6500399b16754ffb3
2015-07-01 13:17:01 -07:00
Johann
ff8505a54d Fix --disable-use-x86inc
Change-Id: I374fcd8fb45a6893dcdeac6896671be142a99f06
2015-07-01 13:15:51 -07:00
James Zern
4f7e7c4d49 Merge "mips msa vp9 avg subpel variance optimization" 2015-07-01 20:05:50 +00:00
Scott LaVarnway
dc6d954bd2 Merge "Move inter_predictor to vp9_reconinter.h" 2015-07-01 20:01:53 +00:00
Parag Salasakar
29a17db913 Merge "mips msa vpx_dsp sad sad4d avgsad optimization" 2015-07-01 18:23:10 +00:00
James Zern
440995cabb Merge "loopfiltersimpleverticaledge_neon: quiet uninit var warnings" 2015-07-01 17:57:54 +00:00
Scott LaVarnway
d157742788 Merge "VP9: Move ref_mvs[][] and mode_context[] from MB_MODE_INFO" 2015-07-01 12:52:21 +00:00
Parag Salasakar
61774ad1c4 mips msa vp9 avg subpel variance optimization
average improvement ~3x-5x

Change-Id: Iefbcafc05daab77b38a4e63b551e427867a501a4
2015-07-01 13:46:41 +05:30
James Zern
dcf5b7cfdd loopfiltersimpleverticaledge_neon: quiet uninit var warnings
take 2. localize the function parameter to actually remove the warning

Change-Id: I23c02061b5e21b0b75bd33c26062d1e531df7b92
2015-06-30 23:23:59 -07:00
Parag Salasakar
bc3ec8ef07 mips msa vpx_dsp sad sad4d avgsad optimization
average improvement ~3x-5x

Change-Id: Ie30748cfbedebbd544b7ef4f286055ccb7f60306
2015-07-01 11:39:43 +05:30
James Zern
bd7162269f vp9_dsubexp: replace some divides with shifts
Change-Id: I24e10c37ea8f06600cd04b43512efa6170e23e5c
2015-06-30 20:09:00 -07:00
James Zern
5609858785 vp9/inv_remap_prob: simplify inv_map_table[]
add one to each entry to remove the universal 'value + 1'.

Change-Id: I8919b1d7fde8155d1728196c4d577db3064e2c1e
2015-06-30 19:58:08 -07:00
Parag Salasakar
a42df86c03 mips msa vp9 subpel variance optimization
average improvement ~3x-5x

Change-Id: I4cbba2711467b0e205904769ebbb4a1fcbb1a311
2015-07-01 07:51:34 +05:30
Parag Salasakar
c96bb8004e Merge "mips msa vpx_dsp variance optimization" 2015-07-01 01:40:27 +00:00
James Zern
8aaf5ec4c7 vp9_dsubexp: remove clamp in inv_remap_prob()
the max value of the lookup in expanded form is:
(((1 << 7) - 1) << 1) - 65 + 1 + 64 = 254

remove the clamp [0, 253] and add one table entry

Change-Id: I0b5d0c66702fdb0b8f1cc9ab9b0dac66326e85a6
2015-06-30 15:49:29 -07:00
James Zern
fc5f3b8f4f Merge "vp9_common_data: right-size tables" 2015-06-30 21:12:54 +00:00
Yaowu Xu
e943db045a Merge "Fixed a variance calculation" 2015-06-30 19:48:33 +00:00
Parag Salasakar
2d730a289a mips msa vpx_dsp variance optimization
average improvement ~2x-4x

Change-Id: Ia3eef3f390148c2eb5cdc580a94cb26369737f82
2015-06-30 12:22:18 +05:30
Parag Salasakar
fc3c456053 Merge "mips msa vp9 common macro comments updated" 2015-06-30 06:25:31 +00:00
James Zern
1e77058b7b Merge changes Idce95354,I6b791088
* changes:
  loopfiltersimpleverticaledge_neon: quiet uninit var warnings
  idct_dequant_0_2x_neon: quiet uninit var warnings
2015-06-30 06:21:59 +00:00
Scott LaVarnway
c06d56cc7d VP9: Move ref_mvs[][] and mode_context[] from MB_MODE_INFO
to MB_MODE_INFO_EXT.  This saves 36 bytes per 8x8 area for
both the decoder and encoder. (encoder has two MODE_INFO
buffers)

Change-Id: If006abb2224acaf326df3c2be09e77e967662107
2015-06-29 12:46:47 -07:00
Scott LaVarnway
437d033dbb Merge "Remove tile param" 2015-06-29 18:04:56 +00:00
Parag Salasakar
3c353e58c0 mips msa vp9 common macro comments updated
Cosmetic/Grammatical corrections in vp9 macro comments

Change-Id: I774b983aff854feb69c7e4442e8731ce4c995645
2015-06-29 11:52:28 +05:30
Parag Salasakar
f3a1295cff Merge "mips msa vp9 temporal filter optimization" 2015-06-27 01:29:04 +00:00
Yaowu Xu
9f14bbfd80 Fixed a variance calculation
This commit fixed a mistake in variance calculation.

Thanks to Xintong for spotting the error.

Change-Id: Ia285fc0128c00f0234a73b0a7eba6adc88b8a7de
2015-06-26 15:54:43 -07:00
Tom Finegan
8fdfeb3f40 Merge "vpxenc.sh: Add basic multithreaded frame parallel encode test." 2015-06-26 16:12:34 +00:00
Parag Salasakar
b92cc27b76 mips msa vp9 temporal filter optimization
average improvement ~4x-5x

Change-Id: Iad9c0a296dbc2ea96d000bd009077999ed58a3c5
2015-06-26 12:00:24 +05:30
Parag Salasakar
c040f96e4b mips msa vp9 subtract block optimization
average improvement ~3x-4x

Change-Id: Idbe4d13a00d05ff8be6559b116f416e42c3b4097
2015-06-26 09:23:56 +05:30
Parag Salasakar
d017f5ba38 Merge "mips msa vp9 block error optimization" 2015-06-26 03:42:31 +00:00
James Zern
69c153c4e6 loopfiltersimpleverticaledge_neon: quiet uninit var warnings
the vector used in vld*_lane_* should be initialized before use

Change-Id: Idce95354737915f6fb4e6b5e8980a050e953036d
2015-06-25 20:39:21 -07:00
Parag Salasakar
1543f2b60e mips msa vp9 block error optimization
average improvement ~3x-4x

Change-Id: If0fdcc34b17437a7e3e7fb4caaf1067bc175f291
2015-06-26 09:04:00 +05:30
James Zern
f4d746a3c1 idct_dequant_0_2x_neon: quiet uninit var warnings
the vector used in vld*_lane_* should be initialized before use

Change-Id: I6b791088479fec3bc021ca75cc2af5adcc39d954
2015-06-25 20:29:35 -07:00