- 26 Jul, 2013 - 1 commit
-
-
Paul Wilkins authored
Speed feature experiment to set an upper and lower partition size limit based on what has been seen in spatial neighbors. This seems to gives quite reasonable speed gains in local (10-15%) and when used with speed 0 the losses are small (0.25% derf, 0.35% stdhd). However, for now I am only enabling it on speed 1 as there may be clashes with the existing temporal partition selection in speed 2. Using a tighter min / max around the range derived from the neighbors increases speed further but at the cost of a bigger quality loss. However, I think this spatial method could be combined with data from either the last frame or a variance method (or both) to refine the range of minimum and maximum partition size. I.e. consider the min and max from spatial and temporal neighbors and the variance recommendation. Change-Id: I1b96bf8b84368d6aad0c7aa600fe141b4f07435f
-
- 25 Jul, 2013 - 26 commits
-
-
Johann authored
-
Yunqing Wang authored
-
Yunqing Wang authored
This option exists in VP8, and it was rewritten in VP9 to support skipping on different partition levels. After prediction is done, we can check if the residuals in the partition block will be all quantized to 0. If this is true, the skip flag is set, and only prediction data are needed in reconstruction. Based on DCT's energy conservation property, the skipping check can be estimated in spatial domain. The prediction error is calculated and compared to a threshold. The threshold is determined by the dequant values, and also adjusted by partition sizes. To be precise, the DC and AC parts for Y, U, and V planes are checked to decide skipping or not. Test showed that 1. derf set: when static-thresh = 1, psnr loss is 0.666%; when static-thresh = 500, psnr loss is 1.162%; 2. stdhd set: when static-thresh = 1, psnr loss is 1.249%; when static-thresh = 500, psnr loss is 1.668%; For different clips, encoding speedup range is between several percentage and 20+% when static-thresh <= 500. For example, clip bitrate static-thresh psnr time akiyo(cif) 500 0 48.923 5.635s(50f) akiyo 500 500 48.863 4.402s(50f) parkjoy(1080p) 4000 0 30.380 77.54s(30f) parkjoy 4000 500 30.384 69.59s(30f) sunflower(1080p) 4000 0 44.461 85.2s(30f) sunflower 4000 500 44.418 78.1s(30f) Higher static-thresh values give larger speedup with larger quality loss. Change-Id: I857031ceb466ff314ab580ac5ec5d18542203c53
-
Johann authored
Change-Id: I0625d8ffddf590dfecd1bb8b8d6f57ef64b8bf18
-
Dmitry Kovalev authored
-
Dmitry Kovalev authored
Change-Id: Ia6144d77ebed66e0739b62e4d673e26a95aa9550
-
Adrian Grange authored
-
Adrian Grange authored
-
Dmitry Kovalev authored
-
Dmitry Kovalev authored
-
Jingning Han authored
-
Dmitry Kovalev authored
-
Dmitry Kovalev authored
-
Yaowu Xu authored
-
Adrian Grange authored
Simplified the code that extracts and uses the motion vectors for the 4 sub-partitions in rd_pick_partition. Change-Id: Iaf698ef7ee3aef9edd59015e1ae065dd359b17d9
-
James Zern authored
-
Jingning Han authored
This commit makes the initialization of trellis coeff optimization a per-plane operation, thereby eliminating the redundant steps in encode_sby and encode_sbuv. It makes the encoder at speed 0 slightly faster. Change-Id: Iffe9faca6a109dafc0dd69dc7273cbdec19b17cd
-
Dmitry Kovalev authored
Already defined in vp9_seg_common.h. Change-Id: I5a0e3fa15966b1ebeb77ccd506b55fc231c22342
-
Dmitry Kovalev authored
Moving code from vp9_adapt_mode_context to vp9_adapt_mode_probs. Change-Id: I60829c30b28968cd813551ef3a206dfb98d323c9
-
Yaowu Xu authored
The feature that uses small partition results as a measure to skip mode evaluation at larger partition requires the flags to be reset. The reset was missing in the code path that calls rd_use_partition(). Change-Id: Ia0a3a0aee1a862b6e2333d596808db7c48033d50
-
Jingning Han authored
-
Scott LaVarnway authored
-
Jingning Han authored
Add SSE2 implementation to handle the special case of inverse 2D-DCT where only DC coefficient is non-zero. Change-Id: I2c6a59e21e5e77b8cf39a4af5eecf4d5ade32e2f
-
Jingning Han authored
-
Dmitry Kovalev authored
Adding common merge_probs and merge_probs2 functions. Changing ints to usigned ints in some places. Change-Id: Icf088ffdea7cf5b95284a128916409bdd53506b0
-
Dmitry Kovalev authored
Change-Id: I21ee76bcae101cc9f6ef1d867622e50b7ae565fc
-
- 24 Jul, 2013 - 13 commits
-
-
Jingning Han authored
They share the same functionality, so merging together. Change-Id: I98a0386fcee052cb854f9ff90c283c1b844bcb79
-
Dmitry Kovalev authored
Change-Id: I61a8b0101eac3ee2e0621d56151b90c269fd4db4
-
Dmitry Kovalev authored
-
Dmitry Kovalev authored
Change-Id: Ic99d07a56b1752ec49fc5074b1dd6804b17609a0
-
Martin Storsjo authored
Prior to 73c4e284, the generated .sln files didn't contain any information about the different configurations when using .vcxproj project files. The MSVS IDE was able to fill this in just fine when loaded though. When building for ARM, the obj_int_extract project still is built for x86, in order for the build process to be able to use obj_int_extract.exe. Now that configuration info is generated, it breaks current ARM setups, since the configurations generated by gen_msvs_sln.sh only included configurations from the last parsed project file (as mentioned in the comment). In these setups, the MSVS IDE generated a third meta-platform, called "Mixed Platforms". This meta-platform points to either ARM or Win32 as platform in each of the individual projects. When the MSVS IDE generated this automatically, it also included the original ARM and Win32 platforms as separate choices, but these can be omitted since they don't make sense. Change-Id: Ie2522...
-
Dmitry Kovalev authored
Adding plane type check condition because it was always used outside of get_tx_type_{4x4, 8x8, 16x16}. Change-Id: I02f0bbfee8063474865bd903eb25b54d26e07230
-
James Zern authored
-
James Zern authored
variable was write only Change-Id: I04b002178f66961836ee08fb60a05b91b54e91d8
-
Adrian Grange authored
Although local copies of the mode member variables (mode, ref_frame) were made, they were not used in all places. Also, made a local copy of the second_ref_frame member. Change-Id: I84d8c822e5cb3d8a02fc3de8a4037ca3fea8bfad
-
Adrian Grange authored
-
Adrian Grange authored
Change-Id: Id4138293efeac4503b2e01ce7a6c150a5abeef77
-
Ronald S. Bultje authored
-
Jingning Han authored
-