hkuang
6debc446e0
Remove unnecessary eob checking.
...
Change-Id: Ia568f70bddc1a2b62141a0197459119ca74c22b5
2013-11-20 11:58:11 -08:00
Jingning Han
46ce6ddec4
Merge "Constrain encoder motion search range"
2013-11-18 12:35:34 -08:00
Jingning Han
bbe68fbd2a
Constrain encoder motion search range
...
Explicitly constrain the upper limit of motion search range (in the
unit of full pixel) to be [-1023, +1023]. It is intended to control
the effective motion search range for 4K sequences.
Change-Id: I645539c70885eec0f155781f439d97d333336e88
2013-11-18 11:19:45 -08:00
Yunqing Wang
e3168b0c54
Merge "Do horizontal loopfiltering in parallel"
2013-11-18 10:03:41 -08:00
Jim Bankoski
83eb1975df
partition context update speedup
...
This removes a lot of operations in setting partition context...
Change-Id: I365e6f5607ece85190cb21443988816dfa510ce3
2013-11-17 06:58:08 -08:00
Yunqing Wang
64f728caef
Do horizontal loopfiltering in parallel
...
This patch followed "Rewrite filter_selectively_horiz for parallel
loopfiltering" commit, and added x86 SSE2 optimization to do
16-pixel filtering in parallel. Also, corrected the declaration
of aligned arrays. For 8-pixel-in-parallel case, improved the
calculation of the masks and filters. Updated the threshold loading
since the thresholds were already duplicated. Updated neon C functions
to call neon loopfilters twice.
Using tulip clip, tests showed it gave a ~1.5% decoder speed gain.
Change-Id: Id02638626ac27a4b0e0b09d71792a24c0499bd35
2013-11-15 16:18:43 -08:00
hkuang
7fb5e73897
Merge "Let the idct vp9_idct32x32_34_add = vp9_idct32x32_1024_add on arm until we implenment real vp9_idct32x32_34_add_neon."
2013-11-15 15:45:49 -08:00
Yaowu Xu
dc90541563
Merge "Renamed two files"
2013-11-15 15:20:23 -08:00
hkuang
7424492a0b
Let the idct vp9_idct32x32_34_add = vp9_idct32x32_1024_add
...
on arm until we implenment real vp9_idct32x32_34_add_neon.
This issue is due to commit 47665452f0
Merge "Add 32x32 idct function for eob<=34 case".
Change-Id: I56b5f0abc20e7dd1bba521f78a995e85d65ea296
2013-11-15 14:59:16 -08:00
Yaowu Xu
49cbe4580d
Renamed two files
...
from vp9_decodframe.{c,h} to vp9_decodeframe.{c,h}
Change-Id: I21ac4b14fc90246e3f16bd90c52c12d126d791f8
2013-11-15 12:48:43 -08:00
Dmitry Kovalev
5380739a87
Removing vp9_encodeintra.{h, c} files.
...
There was only one function in *.c file, so moving it to vp9_encodemb.c.
Change-Id: I728859d08b3d6c05c33c1c5b21f0ea1d0e0f83af
2013-11-15 12:17:16 -08:00
Dmitry Kovalev
8d7bd4d126
Merge "Cleaning up vp9_loopfilter.c file."
2013-11-15 10:10:59 -08:00
Jingning Han
a9b9f22bcd
Merge "Fix coding format in vp9_idct"
2013-11-15 08:59:14 -08:00
Jim Bankoski
e1b6c42eed
partition plane context speed up
...
Removes silly operations inside loop.
Change-Id: I9eeab1e914e715a887f86cf1089de508e2364165
2013-11-15 08:00:43 -08:00
Jim Bankoski
ffb17e2c09
Merge "loop filter assert cleanout"
2013-11-15 07:48:36 -08:00
Dmitry Kovalev
38e6cb8c7b
Merge "Cleaning up vp9_tile_common.{h, c} files."
2013-11-14 20:55:01 -08:00
Jingning Han
7637387cf1
Fix coding format in vp9_idct
...
Change-Id: If97ae16a4478717933345b6b9d5bc1b417b8dd84
2013-11-14 16:05:22 -08:00
Adrian Grange
38144ed8b2
fix scalling bug by buffer auto-reallocation
...
Change-Id: Ib748eb287520c794631697204da6ebe19523ce95
2013-11-14 15:53:09 -08:00
Dmitry Kovalev
3f9fc6f6f8
Cleaning up vp9_loopfilter.c file.
...
Change-Id: Ic6770072f80dfb54d2725ed96370d4f243a9f474
2013-11-14 15:04:14 -08:00
Dmitry Kovalev
f91ac9b436
Cleaning up vp9_tile_common.{h, c} files.
...
Change-Id: I9d18f351abe7614107f34f47eeb38a234a9937c9
2013-11-14 13:40:56 -08:00
Dmitry Kovalev
e6b72d0119
Removing unused coefband_trans_8x8plus array from VP9Decompressor.
...
Change-Id: Ic1367d767705377402ebfec0705f9f553a834400
2013-11-14 13:37:18 -08:00
Jim Bankoski
ef99b7b884
loop filter assert cleanout
...
Change-Id: I4e2ad4b7342681e6ac236356ef3a4927a54f105b
2013-11-14 12:25:32 -08:00
Dmitry Kovalev
58f754374d
Merge "Eliminating usage of txfrm_block_to_raster_block() from encode_block()."
2013-11-14 10:12:54 -08:00
Marco Paniconi
b6ca9d917d
Merge "For CBR, keep rate-correction damping factor to 2."
2013-11-14 08:11:43 -08:00
Deb Mukherjee
cfcd5c4f61
Simplifies band-getting with a static array
...
Simplifies the code by implementing band mapping with static arrays.
A lot of the code complexity introduced in a previous patch
disappears.
Change-Id: Ia3fac36e594fb5ad2d55ae141c58bba4c55c2d28
2013-11-13 22:15:16 -08:00
Dmitry Kovalev
7bfc20ac7a
Eliminating usage of txfrm_block_to_raster_block() from encode_block().
...
Change-Id: I7d11f1b6075a1115cdc2dcd605225b9c9c9b39c7
2013-11-13 19:33:12 -08:00
Dmitry Kovalev
8282c1a68d
Merge "Cleaning up decode_coefs() function."
2013-11-13 18:39:14 -08:00
Dmitry Kovalev
11631fec16
Cleaning up decode_coefs() function.
...
Removing vp9_read_and_apply_sign macro which was used only once.
Change-Id: I6a1625b720d89fc1291c99deccd6638b705f9b06
2013-11-13 16:46:21 -08:00
Marco Paniconi
9977332615
For CBR, keep rate-correction damping factor to 2.
...
The switch to the rate-correction damping factor
in https://gerrit.chromium.org/gerrit/#/c/67536/ was not conditioned on CBR mode.
Change-Id: I2326704e8ac030a4f7b592dd3fedb94c7dd0644d
2013-11-13 16:14:31 -08:00
Jingning Han
697846d76e
Merge "Dual buffer encoding for intra modes"
2013-11-13 15:43:00 -08:00
Jingning Han
fabc783695
Fix an overflow issue in SSE2 forward ADST
...
The step that sums three input samples could potentially cause the
intermediate result go beyond 16 bit limit, when operating as the
second 1-D transform. This commit fixes the issue.
Change-Id: Iaf512449ac2d25ddd8a806d760afab362c62a516
2013-11-13 15:15:59 -08:00
Dmitry Kovalev
b3c75a2d6c
Merge "Replacing raster_block with block in the encoder."
2013-11-13 14:14:27 -08:00
Dmitry Kovalev
26a1ad604f
Merge "Removing function pointers from inter prediction."
2013-11-13 13:54:15 -08:00
Jingning Han
b6b9143218
Dual buffer encoding for intra modes
...
Overall change (using dual buffer scheme for superblocks of both inter
and intra modes) reduces speed 2 runtime:
bluesky_1080p at 6000kbps: 263553ms -> 257441ms
riverbed_1080p at 8000kbps: 233230ms -> 225308ms.
Change-Id: Idf8d70f768a4b0d97b2a8506372c57b7b4022119
2013-11-13 12:57:03 -08:00
Dmitry Kovalev
d1899557eb
Merge "Syncing write_modes_{b, sb} implementation with decode_modes_{b, sb}."
2013-11-13 10:47:46 -08:00
Dmitry Kovalev
60d1a52995
Merge "Optimizing set_contexts() function."
2013-11-13 10:01:05 -08:00
Yunqing Wang
8ce0967df8
Merge "Use 1D array to store super block filter levels"
2013-11-13 09:40:14 -08:00
Johann
4da2a8b718
Merge "mips dsp-ase r2 vp9 decoder intra module optimizations (rebase)"
2013-11-13 09:00:09 -08:00
Parag Salasakar
1530a6b77f
mips dsp-ase r2 vp9 decoder intra module optimizations (rebase)
...
Change-Id: Ib27fc4f3dbe01fe8adfa04a61aaba21b3480e75c
2013-11-13 11:17:14 +05:30
Parag Salasakar
248cf6f69f
mips dsp-ase r2 vp9 decoder loopfilter module optimizations (rebase)
...
Change-Id: Ia7f640ca395e8deaac5986f19d11ab18d85eec2d
2013-11-13 10:53:16 +05:30
Dmitry Kovalev
3f3d14e1d3
Moving q_index from MACROBLOCKD to MACROBLOCK.
...
Moving because q_index is used only by encoder.
Change-Id: I0b96175614ed4fd3d76ee56a0ba36258e1e896f6
2013-11-12 18:13:19 -08:00
Jingning Han
e69461593d
Merge "Enable dual buffer rd search and encoding scheme"
2013-11-12 18:11:41 -08:00
Dmitry Kovalev
919eeef5c8
Merge "Calculating transform block offsets (x and y) only once."
2013-11-12 16:57:30 -08:00
Dmitry Kovalev
73a5cbeba4
Merge "Using max_tx_size instead of bsize when possible."
2013-11-12 16:54:30 -08:00
Dmitry Kovalev
3a2ea76469
Merge "Moving {sb, mb, b, ab}_index from MACROBLOCKD to MACROBLOCK."
2013-11-12 15:59:28 -08:00
Dmitry Kovalev
58b004ff64
Merge "Adding const to tree pointer inside vp9_extra_bit struct."
2013-11-12 15:48:07 -08:00
Johann
8dd3905163
Merge "Added optimized vp9_idct32x32_34_add_dspr2"
2013-11-12 15:30:00 -08:00
Dmitry Kovalev
20f34ff0db
Adding const to tree pointer inside vp9_extra_bit struct.
...
Change-Id: I60e02fa3de930ff1f969687ab5af93dee40d86ad
2013-11-12 14:21:15 -08:00
Dmitry Kovalev
ed5a993a97
Calculating transform block offsets (x and y) only once.
...
Change-Id: I4b5106bdc08fd4551339b968c13428a8f43122e2
2013-11-12 13:55:13 -08:00
Yunqing Wang
ce89309b45
Use 1D array to store super block filter levels
...
As Jim suggested, 1D array was used to store filter levels instead
of 2D array. This used shift_y in setup_mask directly, and saved
few cycles.
Change-Id: If61ab298784861f1806b1cd396d4e4e2e0f097b9
2013-11-12 12:07:57 -08:00