- 23 Aug, 2013 - 2 commits
-
-
Jingning Han authored
Put rectangular partition check flag change according to the rd costs of NONE and SPLIT partition types under the speed feature. Change-Id: If681e1e078a8d43d86961ea4b748da5cd1b6c331
- 22 Aug, 2013 - 5 commits
-
-
Dmitry Kovalev authored
Removing unused get_sbuv_perpixel_variance function, using has_second_ref/ is_inter_block functions, organizing includes. Change-Id: I016de4af12fbbb8b4ece26a70759b2392651b095
-
James Zern authored
gets rid of a mix of styles Change-Id: I3591d312157bc6f53a25438bf047765c671fd8a8
-
Jingning Han authored
This commit changes the partition search order of superblocks from {SPLIT, NONE, HORZ, VERT} to {NONE, SPLIT, HORZ, VERT} for consistency with that of sub8x8 partition search. It enable the use of early termination in partition search for all block sizes. For ped_area_1080p 50 frames coded at 4000 kbps, it makes the runtime goes down from 844305ms -> 818003ms (3% speed-up) at speed 0. This will further move towards making the in-search partition types configurable, hence unifying various speed-up approaches. Some speed 1 and 2 features are turned off during the refactoring process, including: disable_split_var_thresh using_small_partition_info Stricter constraints are applied to use_square_partition_only for right/bottom boundary blocks. Will bring back/refine these features subsequently. At this point, it makes derf set at speed 1 about 0.45% higher in compression performance, and 9% down in run-time. Change-Id: I3db9f9d1d1a0d6cbe2e50e49bd9eda1cf705f37c
-
Deb Mukherjee authored
Adds a couple of minor fixes, which may be absorbed in Jingning's patch. Thanks to Guillaume for pointing these out. Also adjusts the thresholds for speed 1 and 2 to 16 and 32 respectively, to keep quality drops small. Results: -------- derfraw300: threshold = 16, psnr -0.082%, speedup 2-3% threshold = 32, psnr -0.218%, speedup 5-6% stdhdraw250: threshold = 16, psnr -0.031%, speedup 2-3% threshold = 32, psnr -0.273%, speedup 5-6% Change-Id: I4b11ae8296cca6c2a9f644be7e40de7c423b8330
-
Scott LaVarnway authored
It appears that the above/left mb_skip_coeff used during the pick modes, is left over from the previously encode frame. This patch initializes the flag to the default value of zero. Change-Id: Ida4684cc99611d6e3e82628db35ed717e28ce550
-
- 21 Aug, 2013 - 2 commits
-
-
Dmitry Kovalev authored
Using size_group_lookup table and better variable names. Change-Id: I6e67f2ce091845db43ace7d21b7ae31c6f165aec
-
Adrian Grange authored
Change-Id: I32e43474e8651ef2eb181d24860a8f118cfea7bf
-
- 20 Aug, 2013 - 2 commits
-
-
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
-
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
-
- 16 Aug, 2013 - 1 commit
-
-
Dmitry Kovalev authored
Redundant dst, pre[2] from build_inter_predictors_args, unused cm from encode_b_args. Change-Id: I2c476cd328c5c0cca4c78ba451ca6ba2a2c37e2d
-
- 15 Aug, 2013 - 2 commits
-
-
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
-
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
-
- 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
-
-
Guillaume Martres authored
Don't do vertical or horizontal splits if subsize < min_partition_size, except for edge blocks where it makes sense. Change-Id: I479aa66ba1838d227b5de8312d46be184a8d6401
-
- 12 Aug, 2013 - 1 commit
-
-
Dmitry Kovalev authored
Adding set_skip_context() function used from both encoder and decoder. Change-Id: Ia22cfad3211a00a63eb294f64f857b78f4aa9b85
-
- 10 Aug, 2013 - 2 commits
-
-
Dmitry Kovalev authored
There will be another change set to rename BLOCK_SIZE_TYPE enum to BLOCK_SIZE. Change-Id: I8d1dfc873d6186fa5e554262f5169e929978085e
-
Guillaume Martres authored
It represents the minimum partition size, so don't split if bsize == min_partition_size . Change-Id: Id77c32d6afef7d2ddec0368eaae18fb13227d30e
-
- 09 Aug, 2013 - 2 commits
-
-
Dmitry Kovalev authored
Loop filter configuration doesn't belong to macroblock, so moving it from MACROBLOCKD to VP9_COMMON. Also moving the declaration of loopfilter struct from vp9_blockd.h to vp9_loopfilter.h. Change-Id: I4b3e34be9623b47cda35f9b1f9951f8c5b1d5d28
-
Scott LaVarnway authored
The set_offsets call is necessary inorder to set the mode_info_context ptr correctly. Change-Id: I644910cc5bacc50ee9cd78458843274ad8ee636d
-
- 08 Aug, 2013 - 2 commits
-
-
Adrian Grange authored
Moving this block of code into a function makes the code easier to read and change. Change-Id: If4ede570cce1eab1982b188c4d3e4fd3d4db236e
-
Adrian Grange authored
Different partitionings were not being evaluated against best_rd and there were unnecessary calls to RDCOST. This could have resulted in a non-optimal partioning being selected. I simplified the variables used to track the rate, distortion and RD values throughout the function. Change-Id: Ifa7085ee80d824e86791432a5bc6d8fea5a3e313
-
- 07 Aug, 2013 - 1 commit
-
-
Jingning Han authored
The low precision 32x32 fdct has all the intermediate steps within 16-bit depth, hence allowing faster SSE2 implementation, at the expense of larger round-trip error. It was used in the rate-distortion optimization search loop only. Using the low precision version, in replace of the high precision one, affects the compression performance by about 0.7% (derf, stdhd) at speed 0. For speed 1, it makes derf set down by only 0.017%. Change-Id: I4e7d18fac5bea5317b91c8e7dabae143bc6b5c8b
-
- 06 Aug, 2013 - 1 commit
-
-
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 - 2 commits
-
-
Dmitry Kovalev authored
Using it instead of long unclear verbose check "mbmi->ref_frame[0] != INTRA_FRAME". Change-Id: I9c7b4b3797942fa962bf3ba7460fff3084beabe9
-
Dmitry Kovalev authored
Change-Id: I0e9329490828684a4fd46f540d89114cc68e8407
-
- 01 Aug, 2013 - 7 commits
-
-
Dmitry Kovalev authored
Change-Id: I73b59d7699a8e7e7acd3bf8041cb6c98ce9ba4bf
-
Dmitry Kovalev authored
Change-Id: I27471768980fc631916069f24bc7c482a5c9ca17
-
Deb Mukherjee authored
Adds a function to compute source variance for various sb_types to be used for pruning mode and partition searches. [The existing activity measure function is currently specialized for only 16x16 MBs and needs to be updated]. Change-Id: I22a41e6f1430184201487326fdbebb9b47e6fc24
-
Yunqing Wang authored
If the partition is out of partition size range, we don't need to process small partition information. Change-Id: Ice9bfbbdebe1f2ef79271a3aee17de0ed4608376
-
Yunqing Wang authored
use_min_partition_size and use_max_partition_size are not used currently, and could be added back if needed later. Change-Id: Ib22a9c06b064567a7c1d6d5445567ed77e0d3acc
-
Adrian Grange authored
Change-Id: Ib4e4b41094b54874ee34343dd77c0c131ceed9d2
-
Jingning Han authored
This commit removes redundant arguments passing in the function of rd_pick_reference_frame. This resolves the clang warnings about potential use of uninitialized values. Change-Id: Ic68f949a9f8fcd0a583786b0c75321104ea44739
-