- 24 Aug, 2013 1 commit
-
-
James Zern authored
Change-Id: I481d9bb2fa3ec72b6a83d5f04d545ad8013f295c
-
- 23 Aug, 2013 1 commit
-
-
Dmitry Kovalev authored
Making code more compact, adding consts, removing redundant arguments, adding do/while(0) for macros. Change-Id: Ic9ec0bc58cee0910a5450b7fb8cfbf35fa9d0d16
-
- 22 Aug, 2013 1 commit
-
-
Dmitry Kovalev authored
Change-Id: Ieb7077ca3586b9491912027eed450a4f6fd38d30
-
- 21 Aug, 2013 2 commits
-
-
Dmitry Kovalev authored
We can determine plane_type for another function arguments. Change-Id: I85331877aedb357632ae916a37b5b15f22c0bb1f
-
Adrian Grange authored
Change-Id: I32e43474e8651ef2eb181d24860a8f118cfea7bf
-
- 20 Aug, 2013 2 commits
-
-
Jingning Han authored
Check the minimum rate-distortion cost of regular quantization and all zero coeffs cases in the sub8x8 inter prediction rd loop for luma components. Use this as the cumulative rdcost sent to UV rd estimation. Change-Id: Ia4bc7700437d5e13d7cdad4cf9ae57ab036d3e97
-
Deb Mukherjee authored
Cleans up the switchable filter search logic. Also adds a speed feature - a variance threshold - to disable filter search if source variance is lower than this value. Results: derfraw300 threshold = 16, psnr -0.238%, 4-5% speedup (tested on football) threshold = 32, psnr -0.381%, 8-9% speedup (tested on football) threshold = 64, psnr -0.611%, 12-13% speedup (tested on football) threshold = 96, psnr -0.804%, 16-17% speedup (tested on football) Based on these results, the threshold is chosen as 16 for speed 1, 32 for speed 2, 64 for speed 3 and 96 for speed 4. Change-Id: Ib630d39192773b1983d3d349b97973768e170c04
-
- 19 Aug, 2013 4 commits
-
-
Jingning Han authored
This commit enables early termination in the rate-distortion optimization search loop for chroma components. When the cumulative rd cost is above the current best value, skip the rest per-block transform/quantization/coeff_cost and continue to the next prediction mode. For bus_cif at 2000 kbps, the average run-time goes down from 168546ms -> 164678ms, (2% speed-up) at speed 0 36197ms -> 34465ms, (4% speed-up) at speed 1 Change-Id: I9d3043864126e62bd0166250d66b3170d520b3c0
-
Dmitry Kovalev authored
Updating all foreach_transformed_block_visitor functions to work with plane block size instead of general block. Removing a lot of duplicated code. Change-Id: I6a9069e27528c611f5a648e1da0c5a5fd17f1bb4
-
Dmitry Kovalev authored
This change set is intermediate. The next one will remove all repetitive plane_bsize calculations, because it will be passed as argument to foreach_transformed_block_visitor. Change-Id: Ifc12e0b330e017c6851a28746b3a5460b9bf7f0b
-
Jingning Han authored
Initialize the best mode and tx_size values in the rate-distortion optimization search loop. Change-Id: Ibfb5c0895691f172abcd4265c23aef4cb99fa8af
-
- 17 Aug, 2013 1 commit
-
-
Jingning Han authored
Return the distortion value in vp9_rd_pick_intra_mode_sb as sum of dist_y and dist_uv. Remove the right shift operation on dist_uv, and make it consistent with that of vp9_rd_pick_inter_mode_sb. Change-Id: I9d564e242d9add38e32595d33b0e0dddb1d55e5b
-
- 16 Aug, 2013 3 commits
-
-
Dmitry Kovalev authored
Redundant dst, pre[2] from build_inter_predictors_args, unused cm from encode_b_args. Change-Id: I2c476cd328c5c0cca4c78ba451ca6ba2a2c37e2d
-
Adrian Grange authored
Change-Id: I3814984a624bc64147c57efa74fbdda8eda47262
-
Dmitry Kovalev authored
Updating foreach_transformed_block_visitor and corresponding functions to accept tx_size instead of ss_txfrm_size. List of functions per file: vp9_decodframe.c decode_block decode_block_intra vp9_detokenize.c decode_block vp9_encodemb.c optimize_block vp9_xform_quant vp9_encode_block_intra vp9_rdopt.c dist_block rate_block block_yrd_txfm vp9_tokenize.c set_entropy_context_b tokenize_b is_skippable Change-Id: I351bf563eb36cf34db71c3f06b9bbc9a61b55b73
-
- 15 Aug, 2013 5 commits
-
-
Jingning Han authored
This commit makes the rate-distortion optimization search of chroma components consistent across all block sizes. It removes redundant codes. Change-Id: I7e76f54d045e8efdd41d84a164c71f55b484471b
-
Dmitry Kovalev authored
Updated function signatures: txfrm_block_to_raster_block txfrm_block_to_raster_xy extend_for_intra vp9_optimize_b Change-Id: I7213f4c4b1b9ec802f90621d5ba61d5e4dac5e0a
-
Dmitry Kovalev authored
Change-Id: I4fad357465022d14bfc7e13b348c6da267587314
-
Dmitry Kovalev authored
VP9_COMMON is the right place to segmentatation struct because it has global segmentation parameters, not something specific to macroblock processing. Change-Id: Ib9ada0c06c253996eb3b5f6cccf6a323fbbba708
-
Jingning Han authored
This commit unifies the rate-distortion cost calculation process of luma and chroma components. It allows early termination to be enabled later in the rd search loop of chroma components, in consistent with luma pixels. Change-Id: I2e52a7c6496176bf2a5e3ef338d34ceb8aad9b3d
-
- 14 Aug, 2013 1 commit
-
-
Paul Wilkins authored
The macro block mode info context originally contained an entry for each 16x16 macroblock. In VP9 each entry refers to an 8x8 region not a macro block, so the naming is misleading. This first stage clean up changes the names of 3 entries in the structure to remove the mb_ prefix. TODO clean up the nomenclature more widely in respect of mbmi and bmi. Change-Id: Ia7305c6d0cb805dfe8cdc98dad21338f502e49c6
-
- 13 Aug, 2013 1 commit
-
-
Jingning Han authored
Refactor choose_largest_txfm_size_ and make it find the largest transform size via lookup table. Change-Id: I685e0396d71111b599d5367ab1b9c934bd5490c8
-
- 12 Aug, 2013 3 commits
-
-
Jingning Han authored
Enable SSE2 implementation of high precision 32x32 forward DCT. The intermediate stacks are of 32-bits. The run-time goes down from 32126 cycles to 13442 cycles. Change-Id: Ib5ccafe3176c65bd6f2dbdef790bd47bbc880e56
-
Jingning Han authored
Remove unnecessary conditional branches in model-based transform size search. Change-Id: Ic862dc33ed6710a186f6248239dd5f09b5c19981
-
Dmitry Kovalev authored
Change-Id: I3c45916a9059f11b41e9d798e34ffee052969a44
-
- 10 Aug, 2013 1 commit
-
-
Dmitry Kovalev authored
There will be another change set to rename BLOCK_SIZE_TYPE enum to BLOCK_SIZE. Change-Id: I8d1dfc873d6186fa5e554262f5169e929978085e
-
- 09 Aug, 2013 2 commits
-
-
Dmitry Kovalev authored
Change-Id: I7f23d174eb089e5500f268a10db09648634c1b82
-
James Zern authored
'skippable' can remain unset and negatively affect later decisions address one aspect of issue #599 Change-Id: Iffdf0ac2e49ac481c27dc27c87fa546d4167bb28
-
- 08 Aug, 2013 1 commit
-
-
Deb Mukherjee authored
Adds a new subpel motion estimation function that uses a 2-level tree-structured decision tree to eliminate redundant computations. It searches fewer points than iterative search (which can search the same point multiple times) but has the same quality roughly. This is made the default setting at speeds 0 and 1, while at speed 2 and above only a 1-level search is used. Also includes various cleanups for consistency and redundancy removal. Results: derf: +0.012% psnr stdhd: +0.09% psnr Speedup of about 2-3% Change-Id: Iedde4866f5475586dea0f0ba4cb7428fba24eee9
-
- 07 Aug, 2013 2 commits
-
-
Dmitry Kovalev authored
Removing the old one bsize_from_dim_lookup. Now we have a way to determine block size for plane using its subsampling values (ss_size_lookup). And then we can find the number of pixels in the block (num_pels_log2_lookup). Change-Id: I6fc981da2ae093de81741d3d78eaefed11015db9
-
Deb Mukherjee authored
Removes some unused code and speed features, and organizes the interfaces for fractional mv step functions for use in new speed features to come. In the process a new speed feature - number of iterations per step during the subpel search - is exposed. No change when this parameter is set as the original value of 3. Results: subpel_iters_per_step = 3: baseline subpel_iters_per_step = 2: psnr -0.067%, 1% speedup subpel_iters_per_step = 1: psnr -0.331%, 3-4% speedup Change-Id: I2eba8a21f6461be8caf56af04a5337257a5693a8
-
- 06 Aug, 2013 2 commits
-
-
Deb Mukherjee authored
Adds a few pattern searches to achieve various tradeoffs between motion estimation complexity and performance. The search framework is unified across these searches so that a common pattern search function is used for all. Besides it will be easier to experiment with various patterns or combinations thereof at different scales in the future. The new pattern search is multi-scale and is capable of using different patterns at different scales. The new hex search uses 8 points at the smallest scale and 6 points at other scales. Two other pattern searches - big-diamond and square are also added. Big diamond uses 4 points at the smallest scale and 8 points in diamond shape at the larger scales. Square is very similar conceptually to the default n-step search but is somewhat faster since it keeps only one survivor across all scales. Psnr/speed-up results on derf300: hex: -1.6% psnr%, 6-8% speed-up big-diamond: -0.96% psnr, 4-5% speedup square: -0.93% psnr, 4-5% speedup Change-Id: I02a7ef5193f762601e0994e2c99399a3535a43d2
-
Dmitry Kovalev authored
There was no benefit having this function. For example, inside read_switchable_filter_type switchable filter context was calculated twice. Change-Id: I79cd5bf95cbc0f6d8bf91a2e32289e01b18dcff1
-
- 05 Aug, 2013 5 commits
-
-
Dmitry Kovalev authored
Change-Id: I3aae21e88b876d53ecc955260479980ffe04ad8d
-
Deb Mukherjee authored
Adds a speed feature to skip all intra modes other than DC_PRED if the source variance is small. This feature is made part of speed 1 and up. Results on derf300: psnr -0.07%, speedup about 1-2% Also uses the source variance to fine-tune the early termination criteria when FLAG_EARLY_TERMINATE is on. This feature is made part of speed 2 and up. Results on derf300: psnr -0.52%, speedup about 5-7% Change-Id: I59e38aa836557cfa5405ae706fc64815cbfe4232
-
Dmitry Kovalev authored
This changeset allows to remove vp9_switchable_interp and vp9_switchable_interp_map arrays and make code much clear. Actually we still have to use these mapping but only inside read_interp_filter_type and write_interp_filter_type functions. Change-Id: I4026c6f8c4acefba6c81421b7bacbaa52cc45f50
-
Jim Bankoski authored
Cons bw/bh parms that should have been const. Additional formatting. Change-Id: Icd36a5c9dc17dadd7284315ac0d6fef1a565ca16
-
Dmitry Kovalev authored
Change-Id: I428c4d42212b757112e3acfe5b81314cfbb5fd6b
-
- 03 Aug, 2013 1 commit
-
-
Dmitry Kovalev authored
Consistent names with TX_SIZE, TX_MODE, and TX_MODE. Change-Id: I79592218bf5a40ace89197a34a06ee7de581ed8d
-
- 02 Aug, 2013 1 commit
-
-
Dmitry Kovalev authored
Removed functions: model_rd_for_sb_y, block_error_sby, get_sb_variance Change-Id: Iec458df180caf6f8eac3605773841a4121dd3a8f
-