hkuang
1f7e4856f8
Fix the md5 mismatch for some scale cases.
...
Fixes issue #731
Change-Id: Id313e84b8fb4ff20f6a4e1ed11cb601927888318
2014-03-17 11:21:43 -07:00
Jingning Han
6affef728b
Add bit-stream write flag to nonrd_use_partition
...
This is for the purpose to test variable partition choices for the
same 64x64 block.
Change-Id: I0fab7351a62e7d3dfccd667e908bccb996ee677e
2014-03-14 17:13:02 -07:00
Yunqing Wang
587cca4505
Calculate rate_mv after sub-pixel search in non-rd mode
...
Modified the non-rd rate_mv calculation and moved it after sub-pixel
motion search is done.
Change-Id: I6a5cbd3d67ff0a86b3693e25ecf1fd77b16d708c
2014-03-14 15:55:02 -07:00
Yaowu Xu
04b7f14ad5
Remove unused functions
...
Change-Id: Iec885af58c95e65814fcb6ab528ce4e0874eb573
2014-03-14 15:47:41 -07:00
Jingning Han
5aa56f7c48
Merge "Properly reset the block coding skip flag array in non-RD mode"
2014-03-14 14:31:25 -07:00
Yaowu Xu
e6058ea061
Merge "change to save rdmult value correctly"
2014-03-14 13:27:32 -07:00
Jingning Han
a2e711ce38
Properly reset the block coding skip flag array in non-RD mode
...
The block coding skip flags are assigned in the normal RD mode
decision loop. They are then used in the final encoding stage.
In the non-RD mode decision, the forward transform and quantization
stages are replaced by modeling based on SSE and variance of
prediction residues. This commit applies reset to this array in
the non-RD coding mode.
Change-Id: I66584669b035e9c8ac23e95047849ff277472742
2014-03-14 12:14:06 -07:00
Yaowu Xu
28f947359d
Merge "Use of inline instead of INLINE."
2014-03-14 11:48:09 -07:00
Yaowu Xu
2a03d0d22b
change to save rdmult value correctly
...
This commit moves the position where rdmult is saved to make sure it
is the correct value. Prior, an uninitialized value may be saved and
restored.
This addresses issue:
https://code.google.com/p/webm/issues/detail?id=733
Change-Id: I436407f289169bc63da3c5a6bf609bed16cb71b5
2014-03-14 11:18:27 -07:00
Jingning Han
5806e70ee3
Merge "Remove deprecated function nonrd_use_fixed_partition"
2014-03-14 09:06:11 -07:00
Jingning Han
0428f349d4
Merge "Remove unused comment"
2014-03-14 09:06:03 -07:00
Jingning Han
6be7120ecf
Merge "Refactor the non-RD partition decision process"
2014-03-14 09:05:54 -07:00
Jingning Han
47460af1aa
Merge "Unify non-RD partition use cases"
2014-03-14 09:05:41 -07:00
Jingning Han
a66b68c7b2
Merge "Return rate and distortion cost values from non-RD mode decision"
2014-03-14 09:05:32 -07:00
Paul Wilkins
0fa768704b
Use of inline instead of INLINE.
...
This causes a build failure in VS 2008.
Change-Id: I03b0c0c006589b56d92a238d7b794711eb62575e
2014-03-14 11:36:06 +00:00
Dmitry Kovalev
7c6337ba9e
Merge "Adding vp9_swap_mi_and_prev_mi() function."
2014-03-13 17:47:27 -07:00
Dmitry Kovalev
6ffa05901d
Merge "Using MB_PREDICTION_MODE enum instead of int."
2014-03-13 17:47:14 -07:00
Jingning Han
9efe0b25c5
Remove deprecated function nonrd_use_fixed_partition
...
This function was subsumed by nonrd_use_partition, hence removed.
Change-Id: Id36757bc600ce6cf6ca03ad5df80268c4786d386
2014-03-13 16:15:14 -07:00
Jingning Han
73df20e97d
Remove unused comment
...
Change-Id: I12ce22c036b12073a45b762d4dd38f6ec4960e56
2014-03-13 16:04:16 -07:00
Jingning Han
0d39429914
Refactor the non-RD partition decision process
...
Combine the common variables and functions used by different
speed features.
Change-Id: Ifd1fa86200edbcc9e50b3fc3b1ba8a275bc3c17f
2014-03-13 15:53:40 -07:00
Jingning Han
3d6286c73d
Unify non-RD partition use cases
...
This commit unifies the non-RD partition use cases for both fixed
and variable block sizes. Deprecate and remove the separate function
for fixed partition type only.
Change-Id: I2b6cb945e90c1566f985adcebc4d0757480a8004
2014-03-13 15:41:15 -07:00
Dmitry Kovalev
d8e5564129
Using MB_PREDICTION_MODE enum instead of int.
...
Change-Id: I652d17f7bff84f75d015f4f39652472e14eb3134
2014-03-13 15:03:00 -07:00
Marco Paniconi
07fbd70e38
Merge "Move svc layer_context to separate file."
2014-03-13 14:49:15 -07:00
Marco Paniconi
78664081d1
Move svc layer_context to separate file.
...
Change-Id: Ie47c139d48cb18409d71f98f6a5b9eeb9f9437a9
2014-03-13 14:39:45 -07:00
Dmitry Kovalev
e65c564c78
Adding vp9_swap_mi_and_prev_mi() function.
...
Change-Id: I18b3939f0b51085cdd25c9182c3a9c7536ca7e3e
2014-03-13 13:55:33 -07:00
Dmitry Kovalev
069e2458a6
Merge "Removing unused select_cq_level() function."
2014-03-13 13:45:45 -07:00
Dmitry Kovalev
aa7ec14c9a
Merge "Speeding up reading of intra block modes."
2014-03-13 13:45:32 -07:00
Dmitry Kovalev
bae36d67fa
Merge "Renaming decode_modes_{b, sb}."
2014-03-13 13:45:26 -07:00
Dmitry Kovalev
a91467a0dd
Merge "Cleaning up vp9_cx_iface.c file."
2014-03-13 13:45:19 -07:00
Jingning Han
ca0625ff31
Return rate and distortion cost values from non-RD mode decision
...
This commit allows the non-RD mode decision process to return the
rate and distortion costs associated with the selected mode.
Change-Id: Ibe0f67d323f65839fd9cb0a726c1219bf7b55da9
2014-03-13 12:52:59 -07:00
Jingning Han
1ff4a5b3a2
Merge "Tune rate-distortion modeling for non-RD mode decision"
2014-03-13 09:14:13 -07:00
Jingning Han
b25e4061e8
Merge "Explicitly assign interp_kernel value in non-RD coding mode"
2014-03-13 09:14:00 -07:00
Deb Mukherjee
954dbb282b
Merge "Preliminary code for variance based paritioning"
2014-03-13 04:09:13 -07:00
Dmitry Kovalev
9d8703d5f9
Merge "Renaming vp8_cfg to extra_cfg + cleanup."
2014-03-12 23:30:14 -07:00
Dmitry Kovalev
3dca8ca7af
Merge "Renaming mode2txfm_map to intra_mode_to_tx_type_lookup."
2014-03-12 23:29:29 -07:00
Dmitry Kovalev
16c4d96103
Merge "Moving declaration of vp9_encode_frame() to vp9_encodeframe.h."
2014-03-12 23:29:19 -07:00
Yaowu Xu
17256ad763
Revert "With on demand border extension, clamping the MV"
...
This reverts commit b0fec6ab4a
.
Change-Id: I9acd8ee0423f22d92138f11579611ff959331013
2014-03-12 19:40:15 -07:00
Yaowu Xu
acf2eb73e7
Revert "Remove dec_build_inter_predictors() parameters"
...
This reverts commit 9650b9d72a
.
Change-Id: I841c4a4734170fda63469e32adc10703aa4bf0fa
2014-03-12 19:39:59 -07:00
Dmitry Kovalev
06b7b575c1
Moving declaration of vp9_encode_frame() to vp9_encodeframe.h.
...
Change-Id: I14adfd32622152abdc22c16429db38f6724628a4
2014-03-12 17:29:37 -07:00
Dmitry Kovalev
95aed4a3fa
Renaming mode2txfm_map to intra_mode_to_tx_type_lookup.
...
Change-Id: I9a19eb96907f674e3ce1e573f5dd49f0fbf2ae4f
2014-03-12 17:23:26 -07:00
Dmitry Kovalev
286669d50d
Cleaning up vp9_cx_iface.c file.
...
Change-Id: I491fc2330734517c466f62c99b82e46d46b98875
2014-03-12 16:57:15 -07:00
Dmitry Kovalev
a518632cd6
Renaming vp8_cfg to extra_cfg + cleanup.
...
Change-Id: I9a67dec9c198ce1dca90c086be55ad050c5c6f6c
2014-03-12 15:49:49 -07:00
Dmitry Kovalev
90fed85ce0
Renaming decode_modes_{b, sb}.
...
decode_modes_b => decode_block
decode_modes_sb => decode_partition
Change-Id: I2a208f5f7bcaa1105f6a2244e37c53b8958c5d76
2014-03-12 15:11:07 -07:00
Deb Mukherjee
e39ecfaa98
Preliminary code for variance based paritioning
...
Brings back most of Jim's previous patch for choosing
partitioning based on variance while making it compatible
with the current state of the code. Also adds a
nonrd_use_partition() function to recursively encode for any
arbitrary sb_type decisions within a 64x64 block; and
includes some refactoring.
Currently, when the VAR_BASED_PARTITIONING mode is turned on
for speed 7, there is a 10+% speed-up observed.
Experiments/improvements with this new partitioning method
will be conducted subsequently.
Change-Id: Ie6f43bfbde30583e941f450bf07c3b48828c9571
2014-03-12 15:06:20 -07:00
Jingning Han
7686c950b5
Tune rate-distortion modeling for non-RD mode decision
...
This commit adjusts the rate-distortion modeling for non-RD mode
decision. It puts more weights on energy from AC coefficients when
estimating the cost. The coding performance for rtc testset is
improved by 0.72%.
Change-Id: Ifa6ff11311a513ec2b10586589e82a9a21f6c61c
2014-03-12 14:31:59 -07:00
Jingning Han
4e9b0d6cef
Explicitly assign interp_kernel value in non-RD coding mode
...
Assign interp_kernel value in MACROBLOCKD. This will be used to
select prediction filter coefficient sets and generate motion
compensated prediction.
Change-Id: I28c8dfb2dae6566f6939bb328aca5875c94bee65
2014-03-12 14:30:54 -07:00
Dmitry Kovalev
ba54a886c3
Speeding up reading of intra block modes.
...
Reimplementing sub8x8-reading of intra block modes in
read_intra_frame_mode_info() and read_intra_block_mode_info(). Code looks
more readable as well.
Change-Id: Ia42fc7d0dad708bc0c7a8bff1f8b37809b843f40
2014-03-12 12:32:09 -07:00
Dmitry Kovalev
c909b43e3c
Merge "Moving mi_streams from VP9Decompressor to VP9Common."
2014-03-12 12:20:18 -07:00
Dmitry Kovalev
fec0d4bc7d
Merge "Removing last_mi from MACROBLOCKD struct."
2014-03-12 12:19:43 -07:00
Dmitry Kovalev
c1486f0efa
Merge "Removing unused last_skip_{probs_q, false_probs} arrays."
2014-03-12 10:33:36 -07:00
Jim Bankoski
0ce2d6577c
Merge "cut down calls to get_block_context"
2014-03-12 10:30:20 -07:00
Dmitry Kovalev
572ce05405
Merge "Adding type casts to remove C++ compiler errors."
2014-03-12 00:22:34 -07:00
Dmitry Kovalev
4435c1e240
Merge "Cleaning up vp9_firstpass.c."
2014-03-12 00:21:06 -07:00
Dmitry Kovalev
189b4315ca
Removing unused last_skip_{probs_q, false_probs} arrays.
...
Change-Id: Id84a43583af57889e87462ce8b76e5a552f44826
2014-03-12 00:20:25 -07:00
Yaowu Xu
1a935e69ea
Merge "Increase redo_frequency to 4 and cleanups"
2014-03-11 20:13:35 -07:00
Yaowu Xu
6f5a1e033f
Increase redo_frequency to 4 and cleanups
...
Clean-ups include
a. redundant code in rt -5 speed feature settings
b. code that guarantees square block availability in
rd_auto_partition_range()
Change-Id: Ic7b04d45b6dc15c461e0edbbb4e78aec20348291
2014-03-11 17:33:24 -07:00
Alex Converse
59853f8fdf
Fix some active_map corner cases.
...
These were discovered by ActiveMapTest.
Change-Id: Ifcd305ae2d954b6ec7edcaed0f80baf18c769e01
2014-03-11 16:39:42 -07:00
Alex Converse
75272c97cb
Merge "Add a conservative RD based active map in vp9."
2014-03-11 13:39:33 -07:00
Jim Bankoski
8bdc1f25e5
cut down calls to get_block_context
...
Change-Id: I894977e6655630823145c60c8258551bd3c8c76b
2014-03-11 11:18:43 -07:00
Dmitry Kovalev
1f08824d6d
Merge "Using enums instead of integers."
2014-03-10 20:50:58 -07:00
Dmitry Kovalev
e3e1b49331
Merge "Moving static_scene_max_gf_interval to RATE_CONTROL struct."
2014-03-10 20:50:09 -07:00
Dmitry Kovalev
a0ed5541e6
Merge "Using MAX_REF_FRAMES constant instead of number 4."
2014-03-10 20:49:31 -07:00
Jingning Han
486db59cb1
Merge "Fix use of uninitialized bsize in non-RD mode"
2014-03-10 19:03:09 -07:00
Dmitry Kovalev
2b9c581393
Using MAX_REF_FRAMES constant instead of number 4.
...
Change-Id: I6e2fec2814fd366a1ce1321208d3b0e8aa0d98b0
2014-03-10 18:50:28 -07:00
Dmitry Kovalev
b2c34d5539
Using enums instead of integers.
...
Change-Id: Ic0d74ab3a4c0c854fbcf59d9df5212c218bc68f9
2014-03-10 18:33:08 -07:00
Dmitry Kovalev
c2d7f5e3c5
Cleaning up vp9_firstpass.c.
...
Change-Id: Ie68eefddf9b0120021668cf21dc2c6fc837c50ac
2014-03-10 18:03:05 -07:00
Dmitry Kovalev
d6b8709eb0
Moving static_scene_max_gf_interval to RATE_CONTROL struct.
...
Change-Id: Id63e114a8f0615dbafd6a816019cdebffb983d2c
2014-03-10 17:29:15 -07:00
Dmitry Kovalev
d548de69cb
Removing unused select_cq_level() function.
...
Change-Id: I612a5d2b3ab1f9202d5b0421a82a80849603c40d
2014-03-10 16:24:38 -07:00
Dmitry Kovalev
dff81e6c7a
Moving mi_streams from VP9Decompressor to VP9Common.
...
Change-Id: I7ad79c061ad4efbc4914ac49723b48183fdbdd47
2014-03-10 16:12:45 -07:00
Dmitry Kovalev
ff935ff781
Removing last_mi from MACROBLOCKD struct.
...
Change-Id: Ied12b39c55667b26fd3bf90eb331e601c53a10f6
2014-03-10 16:02:03 -07:00
Jingning Han
29af074fb5
Fix use of uninitialized bsize in non-RD mode
...
The block size used for non-RD mode decision in FIXED_PARTITION
setting was uninitialized. This commit fixes it by setting block
size to be BLOCK_16X16.
Change-Id: Ief04c9f1ab668de69297d9ab3dc15e2fa0bc4e95
2014-03-10 15:50:13 -07:00
Alex Converse
29a487c77f
Add a conservative RD based active map in vp9.
...
Change-Id: I47b3c38aadfd8f3ea08515a18a5948aa1375c650
2014-03-10 15:48:43 -07:00
Dmitry Kovalev
bbfa9f6959
Cleaning up vp9_rdopt.c.
...
Change-Id: I8f06d03689ee90a19c9067840b24748bfe2d741f
2014-03-10 15:21:30 -07:00
Dmitry Kovalev
6281a9abbb
Adding type casts to remove C++ compiler errors.
...
Change-Id: I224e49955ad6c833d204feb8efc4056e37d206be
2014-03-10 14:53:30 -07:00
Dmitry Kovalev
29beeff11d
Merge "Cleaning up select_tx_mode() function."
2014-03-10 12:29:28 -07:00
Dmitry Kovalev
32866fd80a
Merge "Renaming vp9_onyxd.h and vp9_onyxd_if.c to vp9_decoder.{h, c}."
2014-03-10 12:11:09 -07:00
Dmitry Kovalev
cb13d0f3e4
Merge "Cleaning up rd_pick_sb_modes() function."
2014-03-10 12:07:26 -07:00
Dmitry Kovalev
d8c9288465
Cleaning up select_tx_mode() function.
...
Change-Id: Ib105db0f3deeedf6a8402a292db3df1d77a3d7c1
2014-03-10 11:35:40 -07:00
Dmitry Kovalev
ab1f905438
Cleaning up rd_pick_sb_modes() function.
...
Changing aq_mode type from int to AQ_MODE enum.
Change-Id: Ib7b5f0b70d02ded58a31dfade9c05a347f73beca
2014-03-10 10:58:32 -07:00
Dmitry Kovalev
f8f8c6d44c
Adding reusable get_y_mode_prob() function.
...
Change-Id: Iebd182d7aeebc0f8964b6fd35057449bb25b00c1
2014-03-10 10:50:16 -07:00
Dmitry Kovalev
924dc81e74
Merge "General cleanup in vp9_encodeframe.c."
2014-03-10 10:43:47 -07:00
Dmitry Kovalev
99ef2f75e9
Merge "Cleaning up optimize_b() function."
2014-03-10 10:40:44 -07:00
Deb Mukherjee
44a203f5cd
Merge "Support for a fast diamond search"
2014-03-10 09:53:21 -07:00
Jim Bankoski
04e7607bd0
Merge "vp9_read_bit_buffer.h convert header statics to global functions"
2014-03-10 07:36:24 -07:00
Jim Bankoski
622f06eb59
Merge "vp9_reconinter.h static functions in header converted to global"
2014-03-10 07:36:05 -07:00
Jim Bankoski
ffda0cde7b
Merge "vp9_onyxc_int.h static -> static inline in header"
2014-03-10 07:35:54 -07:00
Dmitry Kovalev
eece45fe23
Merge "Cleaning up vp9_get_mvpred_var()."
2014-03-09 10:26:39 -07:00
Dmitry Kovalev
62e1d37eb4
Merge "Adding const to FIRSTPASS_STATS pointers."
2014-03-09 10:25:48 -07:00
Dmitry Kovalev
3facd6c392
Merge "Cleaning up pack_inter_mode_mvs() function."
2014-03-08 10:57:14 -08:00
Jingning Han
4712be97fe
Merge "Skip mode check when mv has been tested"
2014-03-08 07:57:17 -08:00
Jingning Han
a58d0e85d7
Merge "Clearn up model_rd in non-RD coding mode"
2014-03-08 07:57:11 -08:00
Deb Mukherjee
bead2e8fb4
Support for a fast diamond search
...
Adds a fast diamond search which is about 5% faster than FAST_HEX
with only a 0.1% drop in psnr when turned on for both speeds 5 and 7.
This search is turned on for speed 7.
Change-Id: I497630aa88a5148926086bb3038e7975e5f4eb98
2014-03-07 17:15:09 -08:00
Dmitry Kovalev
ba4bcee616
Cleaning up pack_inter_mode_mvs() function.
...
Change-Id: Ia60352c7173b59f3f08920ba86096864d4e8250b
2014-03-07 16:00:23 -08:00
Jingning Han
d2059b0d2d
Skip mode check when mv has been tested
...
This commit allows the non-RD mode decision to skip mode RD modelling
check, if the motion vector associated with the current mode is
same as that of NEARESTMV mode. This makes speed -7 about 2% faster.
Previous change that converts cost metric from SAD to model based RD
value makes the codec 6% slower at speed -7.
Change-Id: I30cfec5452f606a671b8432a2f7f0c94fbb49fc8
2014-03-07 14:06:20 -08:00
Dmitry Kovalev
72ba322060
Removing unused active_section global variable.
...
Change-Id: Ib8c41829a4b5a618b6bda24d9b7df2d491d0fca0
2014-03-07 14:05:51 -08:00
Dmitry Kovalev
51a0e9825b
General cleanup in vp9_encodeframe.c.
...
Change-Id: I446fca8aa11a4d4fc2b23d4b32348b74d74d0202
2014-03-07 10:56:20 -08:00
Jingning Han
0250902475
Clearn up model_rd in non-RD coding mode
...
The rate-distortion model in non-RD coding mode is only applied to
luma component. This commit removed a few redundant addition steps.
Change-Id: Id8edc0a47c2dbef8deba43debe2c95db39454de3
2014-03-07 10:34:34 -08:00
Jingning Han
6849cde893
Merge "Use modeled rate distortion costs for non-RD mode"
2014-03-07 09:06:24 -08:00
Jingning Han
539c961ed4
Use modeled rate distortion costs for non-RD mode
...
This commit replaces SAD cost with modeled rate-distortion cost
for non-RD mode decision. It translates the prediction residual
SSE into estimate rate and reconstruction distorion costs, hence
capturing the quantization setting effect. The compression
performance of speed -7 for rtc set is improved by 14.79%.
Change-Id: Ifda014eb0501d13109fe7f92680bf1410b463632
2014-03-06 23:00:48 -08:00
Dmitry Kovalev
cca347ed4e
Adding const to FIRSTPASS_STATS pointers.
...
Change-Id: Ia94d757de1d1b24609128cd40e68558078f50a38
2014-03-06 18:58:17 -08:00
Dmitry Kovalev
ee7d26d50c
Cleaning up vp9_get_mvpred_var().
...
Change-Id: Ic535f0a1c2501c1af143237af3b2b51b4b4980f4
2014-03-06 16:27:15 -08:00
Dmitry Kovalev
a2d846cac4
Cleaning up vp9_diamond_search_sad_c & vp9_diamond_search_sadx4.
...
Change-Id: I4639cdc29d17ef13cabb774b455295454f1d02ae
2014-03-06 15:00:01 -08:00
Dmitry Kovalev
6e328037c7
Merge "Cleaning up labels2mode() function."
2014-03-06 13:15:32 -08:00
Dmitry Kovalev
b07ae88ec4
Cleaning up optimize_b() function.
...
Change-Id: Id4c5b73ad747a8851969e9daf5bac40b4b9beefc
2014-03-06 12:47:55 -08:00
Dmitry Kovalev
1b47977b7e
Merge "Removing unused mv_ref_stats[] array."
2014-03-06 12:33:38 -08:00
Dmitry Kovalev
5233e10a84
Renaming vp9_onyxd.h and vp9_onyxd_if.c to vp9_decoder.{h, c}.
...
Change-Id: Ibd0892be1ddadd93b8a22fa2c2e2053001f2948f
2014-03-06 12:08:20 -08:00
Deb Mukherjee
b28727e693
Merge "Fixes static analysis issues"
2014-03-06 12:07:53 -08:00
Dmitry Kovalev
0ac2139d02
Merge "Removing vp9_onyx.h and moving its content to the encoder."
2014-03-06 11:49:41 -08:00
Dmitry Kovalev
daf18d6d6c
Cleaning up labels2mode() function.
...
Change-Id: I76e39f7c5545ba4e0cd537f530c574531356e94a
2014-03-06 11:43:53 -08:00
James Zern
e7fe1543f6
Merge "vp9_systemdependent: reorder includes avoid proto mismatch"
2014-03-06 11:42:50 -08:00
James Zern
fe49c05214
Merge "vp9_subpixel_8t_intrin_avx2: fix build w/clang 3.4+"
2014-03-06 11:41:44 -08:00
Deb Mukherjee
26fa8cad01
Fixes static analysis issues
...
Removes some unused variables and assignments
Change-Id: I228f43d658ce50237d65ce8dc8ab2ccf0a0b21ca
2014-03-06 11:07:06 -08:00
James Zern
caecedc92f
vp9_subpixel_8t_intrin_avx2: fix build w/clang 3.4+
...
clang reports gcc-4.2.1 in e.g., 3.3, 3.4; add a specific clang version
check for _mm256_broadcastsi128_si256
fixes issue #720
Change-Id: I5c8e3c27fdea05d8a5b050e8cb74894b595f4709
2014-03-06 10:55:44 -08:00
Dmitry Kovalev
3f1ab25812
Removing vp9_onyx.h and moving its content to the encoder.
...
Change-Id: I03451c88536bc498edddbe0cd9773ff79da085c2
2014-03-05 23:33:22 -08:00
Dmitry Kovalev
7a7db0f060
Merge "Combining mode_mv[] and second_mode_mv[]."
2014-03-05 22:29:56 -08:00
Dmitry Kovalev
eb63569d5e
Merge "Cleaning up mode cost manipulations."
2014-03-05 22:28:05 -08:00
Dmitry Kovalev
bd1d7c9c81
Merge "Adding vp9_cost.{h, c} files."
2014-03-05 22:26:28 -08:00
James Zern
e9680bef22
vp9_systemdependent: reorder includes avoid proto mismatch
...
fixes a warning in vs9/x64 related to ceil()
Change-Id: Ic4bde9d0b7e961546dbe304de74aa37fc02fcf94
2014-03-05 22:02:29 -08:00
Dmitry Kovalev
89c3da568f
Merge "Inlining and removing vp9_set_mbmode_and_mvs()."
2014-03-05 21:45:48 -08:00
Dmitry Kovalev
191e2e8455
Merge "Replacing int_mv with MV in full_pixel_motion_search()."
2014-03-05 21:44:54 -08:00
Dmitry Kovalev
8c2d3c6ee7
Merge "Removing vp9_onyxd_int.h file."
2014-03-05 21:40:31 -08:00
Dmitry Kovalev
08a7d7e405
Merge "Renaming NMV_UPDATE_PROB to MV_UPDATE_PROB."
2014-03-05 21:39:09 -08:00
Yaowu Xu
4fd6ba9da0
Adjust some speed features for --rt (-5)
...
Change-Id: Ibabd8440ff5c9dd7f300f317e2c9d50e8e84aab9
2014-03-05 16:08:58 -08:00
Jingning Han
99cd4c7679
Merge "Fix set_mode_info settings"
2014-03-05 16:01:06 -08:00
Jingning Han
97ffad507a
Merge "Remove repeated tx_mode_select calls"
2014-03-05 16:00:58 -08:00
Jingning Han
3dfa93b058
Merge "Move set_speed_feature out of frame encoding"
2014-03-05 16:00:50 -08:00
Yaowu Xu
bdb1e7e05f
Merge "vp9_picklpf.c: remove unused functions and params"
2014-03-05 15:39:44 -08:00
Andrew Russell
e337322e63
Merge "improved speed of 4x4 sse2 fdct."
2014-03-05 14:35:44 -08:00
Dmitry Kovalev
c9f79ca85c
Inlining and removing vp9_set_mbmode_and_mvs().
...
Change-Id: I9717ef611ef9c39b109b2358c9771bf7fae2dd50
2014-03-05 14:22:31 -08:00
Yaowu Xu
023d2a21aa
vp9_picklpf.c: remove unused functions and params
...
Change-Id: Ib4d850227cef35694c663feb157765a2cbf84699
2014-03-05 14:07:36 -08:00
Dmitry Kovalev
413da97bb6
Merge "Cleaning up vp9_refining_search_sadx4()."
2014-03-05 13:57:23 -08:00
Dmitry Kovalev
627720fa81
Cleaning up mode cost manipulations.
...
Change-Id: If175d97990454b171b6abeddb76d142497484487
2014-03-05 12:29:44 -08:00
Dmitry Kovalev
021073fd5f
Adding vp9_cost.{h, c} files.
...
Change-Id: If90c1bc822873156d4e38fca1938e4907f6c95f0
2014-03-05 11:57:57 -08:00
Alex Converse
e609ab46a1
Merge "Prune RT mode decisions for BLOCK_32x32 and up"
2014-03-05 11:57:04 -08:00
Dmitry Kovalev
a16f1a9bb4
Combining mode_mv[] and second_mode_mv[].
...
Change-Id: Ie5f69d39b49a4169cc731d4487e4668fb5af4b4f
2014-03-05 11:12:00 -08:00
Dmitry Kovalev
bb9b6a9568
Merge "Cleaning up vp9_mvref_common.c."
2014-03-05 10:57:37 -08:00
Dmitry Kovalev
791751015f
Merge "Removing VP9_PTR."
2014-03-05 10:57:10 -08:00
Dmitry Kovalev
0b6440ce02
Cleaning up vp9_refining_search_sadx4().
...
Change-Id: I3ed0a95645a66be069ce92a1fad8083a87d01001
2014-03-05 10:46:46 -08:00
Dmitry Kovalev
ea88da7492
Removing vp9_onyxd_int.h file.
...
Moving VP9Decompressor struct from vp9_onyxd_int.h to vp9_onyxd.h.
Change-Id: Ic86c15e44130541a7f692db43ef9109293f99ae8
2014-03-05 10:39:29 -08:00
Dmitry Kovalev
d31fc628a7
Renaming NMV_UPDATE_PROB to MV_UPDATE_PROB.
...
Change-Id: I7f3bcca103f0b1f6b3c064b61472543de9a8288a
2014-03-05 10:37:52 -08:00
Jingning Han
90a8dad162
Fix set_mode_info settings
...
Properly set intra mode information entries.
Change-Id: Ie3a8992e415dcdd9087a55993bbca06087a0107a
2014-03-05 09:13:36 -08:00
Jingning Han
2702e3c8cf
Remove repeated tx_mode_select calls
...
The frame level transform size selection is done inside
encode_frame_internal().
Change-Id: Id7e5e417a3a3f88f875bf12b21bb8029bc6d0d82
2014-03-05 09:12:18 -08:00
James Zern
d73c4ac84d
Merge changes Idfb71188,Ibe1e72db
...
* changes:
build: convert rtcd.sh to perl
configure: check for perl
2014-03-05 00:44:42 -08:00
Jingning Han
a57cff2132
Move set_speed_feature out of frame encoding
...
Set speed features before running frame encoding. This avoids
redundant RD threshold calculation in key frame coding.
Change-Id: If8e3cf2c02976baa59b310c1c23af9eea0c46e36
2014-03-04 18:49:56 -08:00
Alex Converse
bbc8c9d29a
Prune RT mode decisions for BLOCK_32x32 and up
...
* Remove all non-DC intra modes for BLOCK_32x32 and up
* Remove all intra modes for blocks bigger than BLOCK_32x32
* Remove ZEROMV for BLOCK_32x32 and up
* Only consider NEARESTMV for blocks bigger than BLOCK_32x32
Change-Id: Ia18351a238213e2f072f9e481d622949346a245f
2014-03-04 09:48:31 -08:00
Marco Paniconi
02b8baf35e
Avoid gf/altref boost in pick_q under svc cbr mode.
...
Change-Id: Ib719a9f74924718715592e0238bc391ae239d026
2014-03-03 19:11:02 -08:00
Dmitry Kovalev
91e5e5a680
Merge "Cleaning up vp9_init_dsmotion_compensation()."
2014-03-03 17:27:51 -08:00
Dmitry Kovalev
fe7b1d0a8d
Removing VP9_PTR.
...
Change-Id: Ib49d8dbc67c590f22a1a70251ff607c9f38febd7
2014-03-03 16:50:16 -08:00
Jim Bankoski
a1fbe1e15f
vp9_read_bit_buffer.h convert header statics to global functions
...
Change-Id: Ibea71b22de898832320d9e49a711a0cb0092901b
2014-03-03 15:21:22 -08:00
Deb Mukherjee
b80020d4db
Refactoring motion search libs
...
The core motion estimation fucntions all return sad now consistently.
The only exception is vp9_full_pixel_diamond(), however the core diamond
and refining search routines called from vp9_full_pixel_diamond() also
return SAD. If variance of pred error + mv cost is desired it must be
calculated explicitly outside these functions. For very fast encoding,
hopefully this will eliminate some redundant computations.
Also suggests reimplementing FAST_HEX with the vp9_pattern_search
framework. It is not exactly the same as the existing FAST_HEX, but
performance is slightly better and speed is very similar. Enables
removing a lot of duplicate code.
Change-Id: I152736393438c25bdf7e96b37cbb8ce330f4f94a
2014-03-03 15:13:59 -08:00
Jim Bankoski
e5e9b05d68
vp9_reconinter.h static functions in header converted to global
...
Change-Id: I916944950deb22f4c2301d83a803b732bf3ecd77
2014-03-03 14:58:43 -08:00
Jim Bankoski
3d12e65483
vp9_onyxc_int.h static -> static inline in header
...
Change-Id: Ib65fb0679156960305b10fbf590254ff6bf1bfe1
2014-03-03 14:50:07 -08:00
James Zern
805078a1bf
build: convert rtcd.sh to perl
...
significantly speeds up file generation.
the goal of this change is to convert rtcd.sh to perl as directly as
possible to allow for simple comparison. future changes can make it more
perl-like.
---
Linux
[CREATE] vpx_scale_rtcd.h
real 0m0.485s -> 0m0.022s
[CREATE] vp8_rtcd.h
real 0m4.619s -> 0m0.060s
[CREATE] vp9_rtcd.h
real 0m10.102s -> 0m0.087s
Windows
[CREATE] vpx_scale_rtcd.h
real 0m8.360s -> 0m0.080s
[CREATE] vp8_rtcd.h
real 1m8.083s -> 0m0.160s
[CREATE] vp9_rtcd.h
real 2m6.489s -> 0m0.233s
Change-Id: Idfb71188206c91237d6a3c3a81dfe00d103f11ee
2014-03-03 14:47:11 -08:00
Dmitry Kovalev
686b480ad1
Replacing int_mv with MV in full_pixel_motion_search().
...
Change-Id: I16dd4d4aaae8ce6a482da3c9d142f41fe9155e82
2014-03-03 14:43:06 -08:00
Andrew Russell
a46f5459c3
improved speed of 4x4 sse2 fdct.
...
* speed improvment of 30 percent achieved
* multiplies and adds remain the same
* non-arithmetic instructions minimized by hand, by:
-expanding 2 pass loop
-removing irrelivant "shuffles"
-combining last two rounding steps
* further improvments may be possible
Change-Id: Idec2c3f52910c48e6a0e0f9aefed5cae31b0b8c0
2014-03-03 14:25:42 -08:00
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
f084af5ca7
Merge "Adding consts and cleaning up vp9_rdopt."
2014-03-03 14:17:31 -08:00
Jim Bankoski
b247c14c07
Merge "cost_coefs approximation speed up"
2014-03-03 14:08:24 -08:00
Alex Converse
0873dc3ab4
Merge "Enforce intra_y_mode_mask for inter rd."
2014-03-03 12:55:25 -08:00
Alex Converse
9e99e10642
Merge "Refactor ZEROMV equivalence"
2014-03-03 12:30:22 -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
Jim Bankoski
9c63e887e6
cost_coefs approximation speed up
...
This patch adds a new speed feature which doesn't do the rather
expensive entropy context lookup or save to the table, while
doing costing.
The speed up on desktop36p.y4m is around 10% other clips much less.
On the RTC test set this was + 1% in overall datarate.
Change-Id: Ia5144bbf45270671e7be9c8e4055369909e2f738
2014-03-03 11:49:13 -08:00
Alex Converse
f466fc8bfa
Refactor ZEROMV equivalence
...
This gets more accurate mode hit stats. It's also the first step to
handling ZEROMV not being allowed more intelligently.
Change-Id: I5de6734507b5177bf73e9ddbad923f218c39f3e4
2014-03-03 11:32:24 -08:00
Yunqing Wang
5b2190b2bf
Reset search_method for non-rd pick mode
...
Reset FAST_HEX search_method, which was lost because of code merging.
Change-Id: Ic2b2cb9ec2f1751e96f7db0f9226310f605fcc83
2014-03-03 11:12:11 -08:00
Alex Converse
0fa1e7ee09
Enforce intra_y_mode_mask for inter rd.
...
intra_y_mode_mask is already enforced for the sub8x8 case.
intra_uv_mode_mask is already enforced for all sizes.
Change-Id: Ia9dd14701cb49873c2e8f24eb5f8b255eaf76a1f
2014-03-03 10:50:17 -08:00
Alex Converse
07c4d2252b
Merge "Cleanup conditions in vp9_rd_pick_inter_mode_sb()."
2014-03-03 10:23:51 -08:00
Paul Wilkins
34ad6d00d2
Merge "Clear implied conversion to int64_t warning."
2014-03-03 09:28:12 -08:00
Dmitry Kovalev
cf123f40ee
Merge "Removing VP9D_PTR."
2014-03-03 09:18:28 -08:00
Yunqing Wang
d4648d93f4
Merge "AVX2 SubPixel AVG Variance Optimization"
2014-03-03 09:01:36 -08:00
Yaowu Xu
a9288e297f
Merge "vp9_lookahead_push(): remove unused parameters"
2014-03-03 08:36:06 -08:00
Yaowu Xu
32705df409
Merge "vp9_decodeframe.c: remove unused params"
2014-03-03 08:36:00 -08:00
Paul Wilkins
b9419f02a4
Merge "Silence int64 to int warning"
2014-03-03 08:29:27 -08:00
Yaowu Xu
e2f663c37f
Merge "vp9_mbgraph.c: remove unused parameters"
2014-03-03 08:24:49 -08:00
Yaowu Xu
386265fd2b
Merge "temporal_filter_find_matching_mb_c(): remove a param"
2014-03-03 08:24:39 -08:00
Yaowu Xu
c703400bd4
Merge "vp9_prob_diff_update_savings_search_model(): remove params"
2014-03-03 08:24:30 -08:00
Paul Wilkins
74558bc582
Clear implied conversion to int64_t warning.
...
Clear warning caused by implied conversion from int32 to int64.
Change-Id: I473b37a54984cbfb22702eb3f712465881ff86e8
2014-03-03 15:41:21 +00:00
Paul Wilkins
fdc73955f0
Silence int64 to int warning
...
Change-Id: Ic97ddd5143425a7b63fac4e40d9740a10a0491ad
2014-03-03 15:30:13 +00:00
Yaowu Xu
5ee16cc075
Merge "vp9_firstpass.c: remove unused functions & params"
2014-03-03 06:53:35 -08:00
Dmitry Kovalev
9f17ff452b
Merge "Sorting includes in vp9_firstpass.c."
2014-03-03 01:03:21 -08:00
Yaowu Xu
b791c6006b
vp9_mbgraph.c: remove unused parameters
...
Change-Id: I5a01d0dccc9afc87e2adbb5ddc7d44379fe1f125
2014-03-02 20:48:54 -08:00
Yaowu Xu
c0205ebfb4
temporal_filter_find_matching_mb_c(): remove a param
...
There is one parameter that is never used, therefore is removed.
Change-Id: I595722e7c5731534c72831315359e4dce9c21763
2014-03-02 20:43:42 -08:00
Yaowu Xu
b9d28e715f
vp9_prob_diff_update_savings_search_model(): remove params
...
Two paramemters are not in use, therefore are removed.
Change-Id: I41eb601b7b4bf2feedb13b3f240315656d8694f9
2014-03-02 20:36:32 -08:00
Yaowu Xu
dac3d0cebd
vp9_lookahead_push(): remove unused parameters
...
Change-Id: Ia319bd924401677b5c30b0f46d1ab2be6a1f446e
2014-03-02 14:34:59 -08:00
Yaowu Xu
501fce7270
vp9_decodeframe.c: remove unused params
...
Change-Id: Ie83e18802234199491dbb6e90886739814558f96
2014-03-02 14:34:50 -08:00
Yaowu Xu
673621c8ba
vp9_firstpass.c: remove unused functions & params
...
Change-Id: I111c5bd0dd47db7b1f6952c18056bee548bb42e9
2014-03-02 13:46:03 -08:00
Yaowu Xu
b12f5fc748
vp9_encodeframe.c: remove unused function params
...
Change-Id: I6d47618e8aee6e6c2fe1cf0b8bb4da0b2a0bab66
2014-03-01 14:58:42 -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
9bcd361617
Remove unused parameters from update_state_rt()
...
In addition, a local variable was renamed to avoid confusion.
Change-Id: Id4c497f9cfa219e8a414aa9fee9a85af5f147249
2014-03-01 11:08:52 -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
Yaowu Xu
3678ed36b9
Remove a parameter from write_selected_tx_size()
...
The parameter was never used.
Change-Id: I99fd9aad697917ddbe3d10c71cae344228fafc31
2014-03-01 10:40:39 -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
Yaowu Xu
a257058aa3
Merge "Fix unused parameters in vp9_extend_frame_borders"
2014-02-28 17:34:38 -08:00
Dmitry Kovalev
4aacfb0f85
Merge "Replacing int_mv with MV."
2014-02-28 16:09:17 -08:00
Dmitry Kovalev
37bb11f5cb
Merge "Removing unnecessary casts from quantization code."
2014-02-28 16:08:24 -08:00
Dmitry Kovalev
f97afbc8ea
Merge "Using ref_mv[2] instead of two separate variables."
2014-02-28 16:07:45 -08:00
Yaowu Xu
0fa4d89042
Fix unused parameters in vp9_extend_frame_borders
...
Change-Id: I7255b3bc47d760333f58ac4878becbcc8ad30967
2014-02-28 15:50:32 -08:00
Dmitry Kovalev
3557dfc20f
Merge "Sorting includes in vp9_rdopt.c."
2014-02-28 15:37:51 -08:00
Dmitry Kovalev
d689f2ad33
Cleaning up vp9_mvref_common.c.
...
different_ref_found is always equal to one (if calculated) because
ref_frame[0] != ref_frame[1] for each mi-block.
Change-Id: Ibd7625b7b29dec2fd3c40edbc3de1169abb78585
2014-02-28 15:12:33 -08:00
Deb Mukherjee
dc8a2c07b3
Merge "Adds speed 8 to vp9 as reference"
2014-02-28 14:17:24 -08:00
Dmitry Kovalev
aed826b065
Using ref_mv[2] instead of two separate variables.
...
Change-Id: I909a81991aa0cc18afe6526542c7513837445213
2014-02-28 14:10:51 -08:00
Dmitry Kovalev
d89bdd3674
Sorting includes in vp9_rdopt.c.
...
Change-Id: I7e2591b4b54e0eac8521e128c7d97f62d2057ed8
2014-02-28 14:00:15 -08:00
Dmitry Kovalev
dac630bb22
Merge "Sorting and eliminating includes in vp9_pickmode.c."
2014-02-28 13:57:31 -08: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
3c4a57bb4f
Merge "Fixing include order in vp9_quantize.c"
2014-02-28 13:18:38 -08:00
Jingning Han
fa9e6e8890
Merge "Fix potential invalid partition size use"
2014-02-28 13:02:58 -08:00
Deb Mukherjee
f872a98b1b
Adds speed 8 to vp9 as reference
...
Adds a speed 8 to VP9 where only the nearestmv (0 mv) is searched.
This seems to be about the same speed as vp8 speed 5.
Adds a new speed feature to disable inter modes based on a mask for
each blocksize.
Adds code for having lower complexity motion search methods
in nonrd pick mode function, even though speed 7 still uses DIAMOND
search for now.
Also uses HEX search for speed 6 rather than FAST_HEX which improves
psnr by 0.56% without any noticeable speed drop (tested on gipsmotion).
Change-Id: Ic13176572dbd3aed5884a26786940a4b1bbd8a75
2014-02-28 12:29:23 -08:00
Jingning Han
da798043c5
Merge "Skip some mode SAD calculation in non-RD mode"
2014-02-28 12:14:10 -08:00
Dmitry Kovalev
ce404e898c
Replacing int_mv with MV.
...
Change-Id: Ib68d4a2de838254a66272324b909292048cbe60d
2014-02-28 12:11:46 -08:00
Dmitry Kovalev
e869869d22
Removing unnecessary casts from quantization code.
...
Change-Id: I64172710654e95a90ee754d14d7104337d28010f
2014-02-28 11:59:50 -08:00
Dmitry Kovalev
c9513e1dfb
Fixing include order in vp9_quantize.c
...
Change-Id: Ic32eb103d0d7f98c0a16c4e7bdec117faf05df02
2014-02-28 11:30:51 -08:00
Dmitry Kovalev
fc179b3eda
Merge "Cleaning up vp9_quantize.c."
2014-02-28 11:29:39 -08:00
Dmitry Kovalev
b68e0a0c38
Sorting and eliminating includes in vp9_pickmode.c.
...
Change-Id: Icc057b819d80c608a6003fd7ef58aefed7a15824
2014-02-28 11:28:34 -08:00
Dmitry Kovalev
1cd34d3f3b
Sorting includes in vp9_firstpass.c.
...
Change-Id: Iee4f8443971fe2b21762d87f0be5751329768b5a
2014-02-28 11:15:32 -08:00
Dmitry Kovalev
e4159100bc
Merge "Adding get_y_mode() function."
2014-02-28 11:12:22 -08:00
Dmitry Kovalev
65e2e78602
Removing unused mv_ref_stats[] array.
...
Change-Id: Icd4d495ed32dec215d2157cd8fbebd0648ec5954
2014-02-28 11:07:08 -08:00
Dmitry Kovalev
d5e6f09585
Merge "Cleaning up vp9_bitstream.{c, h} files."
2014-02-28 11:01:55 -08:00
Dmitry Kovalev
28bd1dd15e
Merge "Adding consts to arguments of vp9_block_error()."
2014-02-28 10:51:43 -08:00
Dmitry Kovalev
51e0e0c0a7
Merge "Cleaning up encode_ref_frame() to match read_ref_frames()."
2014-02-28 10:51:21 -08:00
Jingning Han
bf5e9221d6
Fix potential invalid partition size use
...
For blocks at frame boundary, the selected block size sometimes needs
to be smaller than that was first given. This commit forces such block
size change only between square blocks, so as to avoid the potential
use case containing 32x16 + 16x8 + 16x8, for 1080p sequences.
Local test suggested no visible coding speed difference. Borg test
reveals no difference in terms of compression performance.
Change-Id: Ie8de87f3c6febc3acf11b4cbfdf2077f9f6def52
2014-02-28 10:50:34 -08:00
Dmitry Kovalev
3a83d08a08
Merge "Moving get_tx_eob() from common to encoder."
2014-02-28 10:49:47 -08:00
Dmitry Kovalev
0429c08823
Merge "Removing unnecessary clamp() call."
2014-02-28 10:49:35 -08:00
Dmitry Kovalev
9d0d6d1945
Merge "Explicit lossless handling in rd_pick_intra4x4block()."
2014-02-28 10:49:11 -08:00
Dmitry Kovalev
f1a6cdbf8d
Cleaning up vp9_init_dsmotion_compensation().
...
Change-Id: Id5b56c7bc5671859f54ae69693064804d3fadd98
2014-02-28 10:39:31 -08:00
Dmitry Kovalev
761eef0310
Merge "Replacing int_mv with MV and adding const qualifiers."
2014-02-28 10:38:42 -08:00
Dmitry Kovalev
f527c46f20
Cleaning up vp9_quantize.c.
...
Change-Id: I9a38af32f16f196b83dd69755eafb9543edf5691
2014-02-28 10:11:31 -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
Jingning Han
24c7ee78c5
Skip some mode SAD calculation in non-RD mode
...
This commit checks if the motion vector associated with the current
mode has been computed in previous mode tests. If possible, skip the
redundant reference block generation and SAD calculation in the
non-RD mode decision process.
For test sequence pedestrian_area 1080p, the runtime goes from
24261 ms to 23770 ms. This does not change compression performance.
The speed-up is mostly around places with consistent motion.
Change-Id: I97be63c6a2d07c57be26b3c600fbda3803adddda
2014-02-28 09:44:53 -08:00
Yunqing Wang
17b1e92d6c
Merge "Enable using fast HEX search in non-rd pick mode"
2014-02-28 08:29:02 -08:00
Alex Converse
4c8d70d771
Cleanup conditions in vp9_rd_pick_inter_mode_sb().
...
Change-Id: I4e5ca10f7aef2d37fda835b369828d0bbff7c8a0
2014-02-27 19:16:50 -08:00
Alex Converse
d54b316f54
Merge "Precompute vp9_rd_pick_inter_mode_sb loop escape conditions."
2014-02-27 19:12:49 -08:00
Dmitry Kovalev
1643b2d250
Merge "Reusing existing mem_{get, put}_be32() functions."
2014-02-27 19:10:21 -08:00
Dmitry Kovalev
af62e09684
Removing VP9D_PTR.
...
Change-Id: I17276e25db4592ffeff0961dd9eeaabe4bde110c
2014-02-27 19:08:10 -08:00
Dmitry Kovalev
9004091e8c
Removing unnecessary clamp() call.
...
Change-Id: Iaaa16b4b2c581eaeb9e4ecfcfe60f98b8a0fa40b
2014-02-27 18:48:29 -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
92a8beab1f
Cleaning up encode_ref_frame() to match read_ref_frames().
...
Change-Id: Ie9c66a93d45271e54b84bea6a38f07db6c4fd1ca
2014-02-27 18:24:16 -08:00
Dmitry Kovalev
e4e25ac965
Merge "Inlining optimize_init_b() function."
2014-02-27 18:23:18 -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
bb65be98bb
Reusing existing mem_{get, put}_be32() functions.
...
Change-Id: Iba128039534e16a6e0a8cfe7e58306c4655e9f0d
2014-02-27 17:40:30 -08:00
Alex Converse
a70ae5d9ed
Precompute vp9_rd_pick_inter_mode_sb loop escape conditions.
...
All escape conditions that remain require knowledge of best_rd or
best_mode_index.
Change-Id: I6f77e4e629cacd54c8149ad0a98d54c8ee4ae249
2014-02-27 17:05:52 -08:00
Dmitry Kovalev
1ae91f7784
Adding get_y_mode() function.
...
Change-Id: Iaac57b24f79cd205a8c62bc1177412d22f5787a8
2014-02-27 16:05:50 -08:00
Dmitry Kovalev
6c7b5e38a9
Inlining optimize_init_b() function.
...
Change-Id: If41459f8ba186bb47d977b76e2f4bab97078462d
2014-02-27 15:48:22 -08:00
Dmitry Kovalev
4b7addcc10
Fixing include order in vp9_ratectrl.c.
...
Change-Id: Id1ec41275cc35565e522a1b2ac252ea3ec05638f
2014-02-27 15:35:38 -08:00
Dmitry Kovalev
c63e27b6d8
Cleaning up vp9_bitstream.{c, h} files.
...
Change-Id: Ida712a91694e89e318181f93afee2d0ee4f4ad94
2014-02-27 15:32:11 -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
Deb Mukherjee
746538c2c0
Merge "Turns variance based partitioning on in Speed 7"
2014-02-27 14:02:53 -08:00
Dmitry Kovalev
c57fc4f38c
Merge "Removing redefinition of ROUND_POWER_OF_TWO."
2014-02-27 13:43:31 -08:00
Dmitry Kovalev
5295c2a78c
Merge "Cleaning up vp9_xform_quant() function."
2014-02-27 13:43:09 -08:00
Deb Mukherjee
ed5755445c
Turns variance based partitioning on in Speed 7
...
Improves coding efficiency by about 1%, increases speed by
about 15-20% over exsiting speed 7.
Change-Id: Ibf5b9b5a5c8548e863ce19047c42b579aac21d19
2014-02-27 12:09:12 -08:00