summaryrefslogtreecommitdiff
path: root/vp9/encoder/vp9_rdopt.c
AgeCommit message (Collapse)Author
2014-04-11Merge "Adding RD_OPT struct."Dmitry Kovalev
2014-04-11Adding RD_OPT struct.Dmitry Kovalev
Change-Id: I2d1b5c1481aefe226082e1f096ca9edd340d4d31
2014-04-11Removing unused cost arguments from mcomp functions.Dmitry Kovalev
Change-Id: Id81a76d18be6b2de69f81bb563d74c3bb356d434
2014-04-10Replacing int_mv with MV.Dmitry Kovalev
Change-Id: I1020dec1ac2e9404a8efcc04681a050417b8b065
2014-04-10Merge "Remove vestiges of large tx sizes in sub8x8 code."Alex Converse
2014-04-10Merge "Cleanup table declarations in vp9_rdopt."Alex Converse
2014-04-10Merge "Prevent the usage of invalid best_mode_index"Yaowu Xu
2014-04-09Remove vestiges of large tx sizes in sub8x8 code.Alex Converse
Change-Id: I27015ed57b4c4390cfde3d0eecd82c3e76fd3786
2014-04-09Prevent the usage of invalid best_mode_indexYaowu Xu
This commit changed the initialization of best_mode_index to -1 to make sure it is not mistakenly used for mode masking. Change-Id: I75b05db51466070dd23c4ee57a4d4b40764dc019
2014-04-09Merge "Remove unused tile arguments from vp_rdopt."Alex Converse
2014-04-09Merge "Cleanup vp9_rd_pick_inter_mode_sub8x8()."Alex Converse
2014-04-09Merge "Fix the setting of mode_skip_mask"Yaowu Xu
2014-04-09Cleanup table declarations in vp9_rdopt.Alex Converse
Change-Id: Ia4bef41a6b0252593ad84612a2a143c724fd03ea
2014-04-09Remove unused tile arguments from vp_rdopt.Alex Converse
Change-Id: I721ff26e3d5dbef80b8cd2dd562adae3748f6687
2014-04-09Cleanup vp9_rd_pick_inter_mode_sub8x8().Alex Converse
Change-Id: I9be2e4e9aeda0fae6dc946deae2999be51daebe0
2014-04-09Fix the setting of mode_skip_maskYaowu Xu
In mode selection loop, once mode_index pass mode_skip_start, all modes with a different reference frame from current best mode are masked out using mode_skip_mask. However, the setting of mode_skip_mask may use an invalid mode if there is no mode tested yet. This commit fixes the issue by making sure a mode has been tested and selected. Otherwise, no mode will be masked out because of their reference frame. Change-Id: Ib0009e8a96836a65cf5347440fff8a2e1a67f29f
2014-04-08Select prediction filter type in non-RD mode decisionJingning Han
This commit allows the non-RD mode decision flow to select prediction filter type in NEWMV mode. It provides 8.14% compression performance gains in both settings of AQ=0 and 3. The current speed impact is about 5% to 10% slower. Change-Id: Id66ecebf77abd8f90fb3f6a066c0e8dfb4bf1c42
2014-04-03Removing interp_kernel from MACROBLOCKD.Dmitry Kovalev
Now interp_kernel is obtained when it is really required (based on mbmi->interp_filter value). Change-Id: I4c7a93c179d1045eba16e7526c293d02c9b8b47e
2014-04-01Renaming two members in MACROBLOCKD struct.Dmitry Kovalev
Renames: mi_8x8 -> mi mode_info_stride -> mi_stride Change-Id: I66f3e5fd1e7b7f46f108af5bb711c5fd9493c1be
2014-03-27Remove a duplicate block_size variable.Alex Converse
Change-Id: Ia6b1e3c5a8ac21219bbfe9eecdb4801f3eaa10e5
2014-03-26Moving thresh_mult{,_sub8x8} from SPEED_FEATURES to VP9_COMP.Dmitry Kovalev
SPEED_FEATURES should contain only configuration parameters. Change-Id: I7d6d0636879c3e87dad09bc9455c1cf1dc039da8
2014-03-25Refactor out zero motion vector equivalence.Alex Converse
Change-Id: I6b20248b6f76545356f910ca6386f5466e287b6e
2014-03-25Add consts to cost_mv_ref.Alex Converse
Change-Id: Ie5dadb5c2bcfe80a703edb58a71dc453644c9ade
2014-03-21Using local variable for token_cache.Dmitry Kovalev
We use local variable for token_cache in the decoder. Change-Id: I032763fa7894313cffe73e3f14863ae1d0527665
2014-03-20Remove unused mode_sadYunqing Wang
Removed mode_sad. Change-Id: I230b42ac9b617ae2c375e297057aa0756bd355fe
2014-03-18Rearranging and removing unused defines.Dmitry Kovalev
Change-Id: I03049f89565ce19a297e65e2d53db127dc6f77d9
2014-03-12Merge "Removing last_mi from MACROBLOCKD struct."Dmitry Kovalev
2014-03-11Fix some active_map corner cases.Alex Converse
These were discovered by ActiveMapTest. Change-Id: Ifcd305ae2d954b6ec7edcaed0f80baf18c769e01
2014-03-11Merge "Add a conservative RD based active map in vp9."Alex Converse
2014-03-10Removing last_mi from MACROBLOCKD struct.Dmitry Kovalev
Change-Id: Ied12b39c55667b26fd3bf90eb331e601c53a10f6
2014-03-10Add a conservative RD based active map in vp9.Alex Converse
Change-Id: I47b3c38aadfd8f3ea08515a18a5948aa1375c650
2014-03-10Cleaning up vp9_rdopt.c.Dmitry Kovalev
Change-Id: I8f06d03689ee90a19c9067840b24748bfe2d741f
2014-03-10Merge "Support for a fast diamond search"Deb Mukherjee
2014-03-10Merge "vp9_reconinter.h static functions in header converted to global"Jim Bankoski
2014-03-07Support for a fast diamond searchDeb Mukherjee
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-07Merge "Use modeled rate distortion costs for non-RD mode"Jingning Han
2014-03-06Use modeled rate distortion costs for non-RD modeJingning Han
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-06Cleaning up labels2mode() function.Dmitry Kovalev
Change-Id: I76e39f7c5545ba4e0cd537f530c574531356e94a
2014-03-05Merge "Combining mode_mv[] and second_mode_mv[]."Dmitry Kovalev
2014-03-05Merge "Cleaning up mode cost manipulations."Dmitry Kovalev
2014-03-05Merge "Adding vp9_cost.{h, c} files."Dmitry Kovalev
2014-03-05Merge "Inlining and removing vp9_set_mbmode_and_mvs()."Dmitry Kovalev
2014-03-05Merge "Move set_speed_feature out of frame encoding"Jingning Han
2014-03-05Inlining and removing vp9_set_mbmode_and_mvs().Dmitry Kovalev
Change-Id: I9717ef611ef9c39b109b2358c9771bf7fae2dd50
2014-03-05Cleaning up mode cost manipulations.Dmitry Kovalev
Change-Id: If175d97990454b171b6abeddb76d142497484487
2014-03-05Adding vp9_cost.{h, c} files.Dmitry Kovalev
Change-Id: If90c1bc822873156d4e38fca1938e4907f6c95f0
2014-03-05Combining mode_mv[] and second_mode_mv[].Dmitry Kovalev
Change-Id: Ie5f69d39b49a4169cc731d4487e4668fb5af4b4f
2014-03-04Move set_speed_feature out of frame encodingJingning Han
Set speed features before running frame encoding. This avoids redundant RD threshold calculation in key frame coding. Change-Id: If8e3cf2c02976baa59b310c1c23af9eea0c46e36
2014-03-04Prune RT mode decisions for BLOCK_32x32 and upAlex Converse
* 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-03Refactoring motion search libsDeb Mukherjee
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