- 21 Aug, 2013 - 1 commit
-
-
Adrian Grange authored
Change-Id: I32e43474e8651ef2eb181d24860a8f118cfea7bf
-
- 20 Aug, 2013 - 9 commits
-
-
Dmitry Kovalev authored
Change-Id: Ib394ea23f464591dad50b5c65c316701378d06d7
-
hkuang authored
vp9_short_idct10_8x8_add is used to handle the block that only have valid data at top left 4x4 block. All the other datas are 0. So we could cut several unnecessary calculations in order to save instructions. Change-Id: I34fda95e29082b789aded97c2df193991c2d9195
-
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
-
Jim Bankoski authored
The following issue was reported : https://code.google.com/p/webm/issues/detail?id=601&q=jimbankoski&sort=-id&colspec=ID%20Pri%20mstone%20ReleaseBlock%20Type%20Component%20Status%20Owner%20Summary This code makes the choice and code cleaner and removes any question about whether the border needs to be checked. Change-Id: Ia7aecfb3168e340618805bd318499176c2989597
-
Paul Wilkins authored
Changes to code to auto select a partition size range based on data from spatial neighbors. Now looks at the sb_type in each 8x8 block of above and left SB64. The effect on speed 1 is now weaker giving better quality but less speed gain. Now also used in speed 2. Change-Id: Iace33a97d5c3498dd2a9a8a4067351941abcbabc
-
Dmitry Kovalev authored
Removing VP9_FILTER_WEIGHT, VP9_FILTER_SHIFT, BLOCK_WIDTH_HEIGHT constants. Using ROUND_POWER_OF_TWO for rounding. Change-Id: I2e8d6858dcd600a87096138209731137d7decc24
-
Dmitry Kovalev authored
Updating implementation of vp9_get_pred_context_single_ref_p1 using has_second_ref function to make code easier to read. Change-Id: Ie8f60403a7195117ceb2c6c43176ca9a9e70b909
-
Yaowu Xu authored
As the pixel values beyond image border are duplicates of pixels on edge, the change limits the mv search range, any mv beyond the limits no longer produce new/different prediction values as entire block with pixels used for subpel interpolation are outside image border. Change-Id: I4c6fdf06e33c1cef1489f5470ce0fb4e5e01fb79
-
Yaowu Xu authored
For certain partition size, the function poniter may not be intialized at all. The patch prevent the call if the pointer is not set. Change-Id: I78b8c3992b639e8799a16b3c74f0973d07b8b9ac
-
- 19 Aug, 2013 - 6 commits
-
-
Dmitry Kovalev authored
Change-Id: Ib8af21f2e7f603c2fb407e5d15a3bba64b545b49
-
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
-
Adrian Grange authored
The intent was to initialize the deltas for the segment to the computed value, irrespective of mode and reference frame if (mode_ref_delta_enabled == 0). (In response to bug posted by Manjit Hota to codec-devel and webm-discuss lists) Change-Id: I10435cb63d0f88359bb4c14f22181878a1988e72
-
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 - 6 commits
-
-
Dmitry Kovalev authored
Redundant dst, pre[2] from build_inter_predictors_args, unused cm from encode_b_args. Change-Id: I2c476cd328c5c0cca4c78ba451ca6ba2a2c37e2d
-
hkuang authored
Change-Id: Ia26a2526804e7e2f656b0051618a615fca8fc79d
-
hkuang authored
saving and restoring of D registers. Change-Id: Id3630c90fcb160ef939fef55411342608af5f990
-
Adrian Grange authored
Change-Id: I3814984a624bc64147c57efa74fbdda8eda47262
-
Mans Rullgard authored
The destination is block-aligned so it is safe to use aligned stores. Change-Id: I38261e4fa40bc60e6472edffece59e372908da7e
-
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 - 11 commits
-
-
Adrian Grange authored
When the frame size changes the last frame segment map must be resized to match and initialized to 0. Change-Id: Idc10de109f55dbe9af3a6caae355a2974712243d
-
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
27 degrees intra predictor is actually 207 degrees, so renaming it. Change-Id: Ife96a910437eb80ccdc0b7a5b7a62c77542ae5be
-
Mans Rullgard authored
Break up long dependency chains to improve instruction scheduling. Change-Id: I0e0cb66943df24af920767bb4167b25c38af9630
-
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
Change-Id: I17c7d7eaa60fe69c543403c340f7c1078bfd339f
-
Deb Mukherjee authored
Adds a speed feature to disable split partition search based on a given threshold on the source variance. A tighter threshold derived from the threshold provided is used to also disable horizontal and vertical partitions. Results on derfraw300: threshold = 16, psnr = -0.057%, speedup ~1% (football) threshold = 32, psnr = -0.150%, speedup ~4-5% (football) threshold = 64, psnr = -0.570%, speedup ~10-12% (football) Results on stdhdraw250: threshold = 32, psnr = -0.18%, speedup is somewhat more than derf because of a larger number of smoother blocks at higher resolution. Based on these results, a threshold of 32 is chosen for speed 1, and a threshold of 64 is chosen for speeds 2 and above. Change-Id: If08912fb6c67fd4242d12a0d094783a99f52f6c6
-
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
-
James Zern authored
avoids a crash caused by issue #585 Change-Id: I301595ee0227699b0da6f0dad6d870dd546e94ef
-
- 14 Aug, 2013 - 6 commits
-
-
hkuang authored
Change-Id: I27134b9a5cace2bdad53534562c91d829b48838d
-
Dmitry Kovalev authored
Making foreach_transformed_block_in_plane more clear (it's not finished yet). Using explicit tx_size variable consistently instead of (ss_txfrm_size / 2) or (ss_txfrm_size >> 1) expression. Change-Id: I1b9bba2c0a9f817fca72c88324bbe6004766fb7d
-
Dmitry Kovalev authored
Adding const to above and left pointers. Cleanup. Change-Id: I51e195fa2e2923048043fe68b4e38a47ee82cda1
-
Mans Rullgard authored
Change-Id: I33cff9ac4f2234558f6f87729f9b2e88a33fbf58
-
Mans Rullgard authored
Change-Id: I15adbbda15d1842e9f15f21878a5ffbb75c3c0c9
-
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
-