Jim Bankoski
6903efa93d
Merge "mips dsp-ase r2 vp9 decoder extend module optimizations"
2013-09-29 10:31:09 -07:00
Jim Bankoski
b6c5dbe9ef
mips dsp-ase r2 vp9 decoder extend module optimizations
...
Adopted again to shepherd through system.
Change-Id: If1b742618a95a2198ae2e30eec4b53ad1f7353e5
2013-09-29 10:27:11 -07:00
Dmitry Kovalev
b10e6b2943
Removing unnecessary function calls.
...
Both vp9_init_mbmode_probs() and vp9_zero(cm->ref_frame_sign_bias) are
called inside vp9_setup_past_independence() which called in any case for
encoder/decoder after VP9_COMMON struct creation.
Change-Id: I3724d1a4fb8060101ff0290dd6a158f0b5c57bb4
2013-09-27 17:42:05 -07:00
Dmitry Kovalev
bd9c057433
Reusing FRAME_CONTEXT struct to simplify the code.
...
Change-Id: Ia455c1900d84a3221e3681e31e15ca86bd03f89d
2013-09-27 16:41:20 -07:00
Guillaume Martres
ceaa3c37a9
Merge "Simplify RDMULT and RDDIV derivation"
2013-09-27 16:32:54 -07:00
Dmitry Kovalev
3fab2125ff
Renaming vp9_short_idct10_8x8_add to vp9_short_idct8x8_10_add.
...
Making name consistent with vp9_short_idct8x8 and vp9_short_idct8x8_1.
Change-Id: I99e0be040ec893f9571dcf090e18f98dc58339f5
2013-09-27 15:26:27 -07:00
Christian Duvivier
b1b4ba1bdd
Properly save neon registers.
...
Replace current code which corrupts the stack by
duplicate of vp8 code to save and restore neon
registers.
Change-Id: Ibb0220b9aa985d10533befa0a455ebce57a2891a
2013-09-27 14:25:33 -07:00
Dmitry Kovalev
209c6cbf8f
Removing vp9_get_coef_neighbors_handle function.
...
Change-Id: I6be72c8b048d1ccc7ef43764cf84c32360098970
2013-09-27 14:11:13 -07:00
Deb Mukherjee
80d582239e
Some minor changes/cleanups in rate control
...
Some small changes to the quantizer mapping functions.
Also includes some cleanups.
Change-Id: I9dea29b24015f6e6697012a0e4d8983049d8e5c7
Results:
derfraw300: +0.106%
stdhdraw250: +0.139%
2013-09-27 13:57:42 -07:00
Dmitry Kovalev
db60c02c9e
Merge "Renaming vp9_short_idct10_16x16 to vp9_short_idct16x16_10."
2013-09-27 13:08:52 -07:00
Dmitry Kovalev
36d2794369
Merge "New way of updating last frame segmentation map."
2013-09-27 13:08:44 -07:00
Scott LaVarnway
35830879db
Merge "d63 intra prediction ssse3 using bytes"
2013-09-27 07:21:08 -07:00
Dmitry Kovalev
398ddafb62
New way of updating last frame segmentation map.
...
Implementing more natural (and faster) way of updating last frame
segmentation map.
Change-Id: I9fefa8f78e77bd7948133b04173da45edc15a17e
2013-09-26 18:44:48 -07:00
Erik Niemeyer
931c34e955
Merge "intel compiler build no longer supports -axSSE2 or -no-prec-div"
2013-09-26 16:11:12 -07:00
Christian Duvivier
3c465af2ab
Merge "Fix a bunch of TODO from vp9_short_idct32x32_add_neon."
2013-09-26 14:15:18 -07:00
Dmitry Kovalev
15a36a0a0d
Renaming vp9_short_idct10_16x16 to vp9_short_idct16x16_10.
...
Making function name consistent with vp9_short_idct16x16 and
vp9_short_idct16x16_1.
Change-Id: I70e54be9e6b9a1dddab0de470686591e96d05517
2013-09-26 14:01:25 -07:00
Guillaume Martres
2b426969c3
Simplify RDMULT and RDDIV derivation
...
Don't divide RDMULT and RDDIV by 100 when RDMULT > 1000. This was
probably done to avoid overflow when the rd cost was stored in a 32 bits
integer but this is not the case anymore. This change will make it easier
to support multiple quantizers per frame.
derf compression gain at speed 0: 0.037%
Change-Id: Ibeeb9b7cfa1a132a7af41bc90fc07a3bba0857f6
2013-09-26 13:55:16 -07:00
Yaowu Xu
b55170ce95
Merge "fixed integer overflow warnings"
2013-09-26 13:52:54 -07:00
Jim Bankoski
437f63144a
intel compiler build no longer supports -axSSE2 or -no-prec-div
...
Change-Id: Id129cf4021903c554ffdc57bf13df9fbb98f800e
2013-09-26 11:54:57 -07:00
Yaowu Xu
253fd256bf
Align structs used unit test to 32 bytes
...
Change-Id: Id36309d405bf7b7e8805a8320f5a95eeb5d240f5
2013-09-26 10:38:59 -07:00
Dmitry Kovalev
794a7ccd78
Fixing warning generated by gcc.
...
vp9/vp9_cx_iface.c:92: warning: type qualifiers ignored on function
return type
Change-Id: I6f130e280e2db261506a4af8ce11fc788ad13198
2013-09-26 10:33:21 -07:00
Yaowu Xu
da0ce28fe3
fixed integer overflow warnings
...
Jenkins warns on left shift of negative numbers and non-aligned read
of int. This commit fixed the two issues.
Change-Id: I389a7fb6a572c643902e40a4c10fefef94500d2c
2013-09-26 09:20:15 -07:00
Yaowu Xu
831d72ac5f
Merge "Revert "Align struct to 32 bytes""
2013-09-26 09:19:36 -07:00
Yaowu Xu
e45f4a4a4c
Revert "Align struct to 32 bytes"
...
This reverts commit b5242368f3
Change-Id: I73c7a8bd23bb67f278f86b3fd2ecdc25a39b12b9
2013-09-26 08:34:12 -07:00
Christian Duvivier
5b1dc1515f
Fix a bunch of TODO from vp9_short_idct32x32_add_neon.
...
- full ASM version, no more C gateway file.
- integrate combine-add with last step of 2nd pass.
- remove a few push/pop pairs.
- some instruction reordering to hide latency.
Change-Id: Ic9d9933c908b65d1bf7ba8fd47b524cda808c9c6
2013-09-25 21:15:19 -07:00
Dmitry Kovalev
eda4e24c0d
Using is_inter_block and has_second_ref functions.
...
Change-Id: I60dee58a4fd24d3c4f3c101a49d30e217309f43a
2013-09-25 19:03:04 -07:00
Guillaume Martres
7755b9dada
Merge "Correctly set the segment_id prediction flag and context"
2013-09-25 18:04:21 -07:00
Yaowu Xu
6b5490cf68
Merge "Align struct to 32 bytes"
2013-09-25 17:55:05 -07:00
Yaowu Xu
0c02bfcc2a
Merge "Limit mv search range for first pass and mbgraph"
2013-09-25 17:21:13 -07:00
Yaowu Xu
b5242368f3
Align struct to 32 bytes
...
Change-Id: I32fd813af7dd2a7d451f5fda278ea888b181fa8e
2013-09-25 17:20:25 -07:00
Dmitry Kovalev
8266da1cd1
Moving from int_mv* to MV* (3).
...
Change-Id: I9795d0937bc07793c13d067281995e0750f694d9
2013-09-25 16:44:19 -07:00
Dmitry Kovalev
f9e2140cab
Merge "Moving from int_mv* to MV* (2)."
2013-09-25 16:12:13 -07:00
Dmitry Kovalev
64eff7f360
Removing vp9_subpelvar.h from common.
...
Moving all code from that file to vp9_variace_c.c in the encoder.
Change-Id: Ic803d5b4c78d5191e4d25541b3df97337878fc3e
2013-09-25 16:10:43 -07:00
Dmitry Kovalev
2b5670238b
Merge "Replacing txfm with tx."
2013-09-25 15:57:56 -07:00
Dmitry Kovalev
e2c92d1510
Merge "Removing unused SUBMVREF_COUNT constant."
2013-09-25 15:57:49 -07:00
Dmitry Kovalev
87a214c277
Merge "Adding vp9_get_entropy_contexts function."
2013-09-25 15:43:55 -07:00
Dmitry Kovalev
9cd14ea6ed
Merge "Removing redundant 'extern' keyword."
2013-09-25 15:42:48 -07:00
Dmitry Kovalev
49f5efa8d8
Removing unused SUBMVREF_COUNT constant.
...
Change-Id: I302ab4603553352a84b57bc89bc9e3d037978d29
2013-09-25 15:33:05 -07:00
Scott LaVarnway
208658490c
d63 intra prediction ssse3 using bytes
...
byte version of ronalds d63 ssse3 optimizations
(commit: c5a1c8cf3541cf3665fee981b36d22c9fbd4191e)
Change-Id: Ifd3e6d454a2246085f23eabb38518a930321e807
2013-09-25 16:16:44 -04:00
Dmitry Kovalev
d445945a84
Adding vp9_get_entropy_contexts function.
...
Change-Id: Ife0dd29fb4ad65c7e12ac5f1db8cea4ed81de488
2013-09-24 17:26:05 -07:00
Dmitry Kovalev
d0365c4a2c
Replacing txfm with tx.
...
Renaming txfm_stepdown_count to tx_stepdown_count and max_txfm_size to
max_tx_size.
Change-Id: Ifc173e22c78240e561a57c4c741b64b1b8fc6fef
2013-09-24 17:24:35 -07:00
Dmitry Kovalev
c7b7b1da86
Using size_t for memory buffer size.
...
Change-Id: Ibf1642525731c66c99fa25f95c7b5834ae88c688
2013-09-24 16:38:30 -07:00
Dmitry Kovalev
682c27239f
Merge "Cleaning up vp9_update_nmv_count function."
2013-09-24 16:27:18 -07:00
Dmitry Kovalev
450cbfe53a
Cleaning up vp9_update_nmv_count function.
...
Using best_mv[2] array instead of two separate variables.
Change-Id: Iefa0a41f5c42c42f2c66cef26750da68405f0f25
2013-09-24 15:55:49 -07:00
Dmitry Kovalev
12d57a9409
Removing redundant 'extern' keyword.
...
Change-Id: Ie51306689c0dc527a8aa12d3984389dd8f360dea
2013-09-24 15:13:09 -07:00
Dmitry Kovalev
d571e4e785
Replacing unsigned char* with uint8_t*.
...
Change-Id: I99a1880aee015ae16311ba05a31aa307df89bef2
2013-09-24 14:57:42 -07:00
Guillaume Martres
57272e41dd
Correctly set the segment_id prediction flag and context
...
This fix a bug introduced by ac6093d179
Change-Id: I0700a4daf7a6a2471074f81a4596352287fb2ac9
2013-09-24 14:18:27 -07:00
Yaowu Xu
35c5d79e6b
Limit mv search range for first pass and mbgraph
...
Both first pass and mbgraph search use block size 16x16 for motion
estimation. This commit put a limit of motion vector range. The
effective range allows the entire 16x16 with required subpel
interpolation input to be completely outside image border, but
not any further away from image border.
Change-Id: Id70a5ed08be49e70959f064859d72adc7d775d08
2013-09-24 13:47:29 -07:00
Dmitry Kovalev
b87696ac37
Moving from int_mv* to MV* (2).
...
Updating fractional_mv_step_fp and fractional_mv_step_comp_fp function
types.
Change-Id: I601c4378bc39ac3ffd4e295d9cbd8e1f74829d46
2013-09-24 12:48:12 -07:00
Jingning Han
b1c58f57a7
Merge "Remove redundant mode update in sub8x8 decoding"
2013-09-24 12:35:58 -07:00