summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2014-08-28Merge "Early termination in encoding partition search"Yunqing Wang
2014-08-28Merge "vp8_multi_resolution_encoder: Huge cleanup."Dmitry Kovalev
2014-08-28Merge "test/vp8_multi_resolution_encoder.sh: Add missing devnull redirect."James Zern
2014-08-28Merge "Removing unused debug code under WRITE_RECON_BUFFER."Dmitry Kovalev
2014-08-28Merge "Converting configure_skippable_frame() to is_skippable_frame()."Dmitry Kovalev
2014-08-28Merge "Renaming vpxenc option from frame_boost to frame-boost."Dmitry Kovalev
2014-08-28Merge "Adding several vpxenc parameter ranges to help output."Dmitry Kovalev
2014-08-28Early termination in encoding partition searchYunqing Wang
In the partition search, the encoder checks all possible partitionings in the superblock's partition search tree. This patch proposed a set of criteria for partition search early termination, which effectively decided whether or not to terminate the search in current branch based on the "skippable" result of the quantized transform coefficients. The "skippable" information was gathered during the partition mode search, and no overhead calculations were introduced. This patch gives significant encoding speed gains without sacrificing the quality. Borg test results: 1. At speed 1, stdhd set: psnr: +0.074%, ssim: +0.093%; derf set: psnr: -0.024%, ssim: +0.011%; 2. At speed 2, stdhd set: psnr: +0.033%, ssim: +0.100%; derf set: psnr: -0.062%, ssim: +0.003%; 3. At speed 3, stdhd set: psnr: +0.060%, ssim: +0.190%; derf set: psnr: -0.064%, ssim: -0.002%; 4. At speed 4, stdhd set: psnr: +0.070%, ssim: +0.143%; derf set: psnr: -0.104%, ssim: +0.039%; The speedup ranges from several percent to 60+%. speed1 speed2 speed3 speed4 (1080p, 100f): old_town_cross: 48.2% 23.9% 20.8% 16.5% park_joy: 11.4% 17.8% 29.4% 18.2% pedestrian_area: 10.7% 4.0% 4.2% 2.4% (720p, 200f): mobcal: 68.1% 36.3% 34.4% 17.7% parkrun: 15.8% 24.2% 37.1% 16.8% shields: 45.1% 32.8% 30.1% 9.6% (cif, 300f) bus: 3.7% 10.4% 14.0% 7.9% deadline: 13.6% 14.8% 12.6% 10.9% mobile: 5.3% 11.5% 14.7% 10.7% Change-Id: I246c38fb952ad762ce5e365711235b605f470a66
2014-08-28vp8_multi_resolution_encoder: Huge cleanup.Dmitry Kovalev
Change-Id: I65b2c1fbed5a306949843315999d10368a100431
2014-08-28test/vp8_multi_resolution_encoder.sh: Add missing devnull redirect.Tom Finegan
Change-Id: Id60ae8178191e30603a5c8665793ace7eb9c8533
2014-08-28Adding several vpxenc parameter ranges to help output.Dmitry Kovalev
Change-Id: Iec1a00203930a539ed584961aed4b2bfd7488255
2014-08-28Merge "Updates vp9_pattern search to return integer sads"Deb Mukherjee
2014-08-28Merge "Replacing int_mv with MV."Dmitry Kovalev
2014-08-28Updates vp9_pattern search to return integer sadsDeb Mukherjee
Updates the vp9_pattern_search function to return integer one-away neighbors' sad values, for subsequent use in speeding up the sub-pel search. Also, removes code for the do_refine option which is not being used currently. Updates the integer and subpel functions to pass in a 5-element sad list for output or input. A new pruned sub-pel search algorithm is implemented that uses the sad returned from the integer pel search. But it is not deployed yet. Change-Id: Ifa9f5ad024b5b660570366d2bd900343e1891520
2014-08-27Merge "Re-work RD modeling based on inter frame prediction residual"Jingning Han
2014-08-27Merge "Re-use switchable rate value in handle_inter_mode"Jingning Han
2014-08-27Merge "Add an early termination check in handle_inter_mode"Jingning Han
2014-08-27Merge "Use max txfm size unit in rate-distortion cost modeling"Jingning Han
2014-08-27Add test for vp8_multi_resolution_encoder.Tom Finegan
Change-Id: I94667a23046e3cf17c421ac97ca66ea57f846b5c
2014-08-27Re-work RD modeling based on inter frame prediction residualJingning Han
This commit re-work the operation flow related to prediction residual generation and the rate-distortion modeling. It saves one call for model_rd_for_sb. Change-Id: Icaf96c0ff09c903637ed5283448afe01d798195f
2014-08-27Re-use switchable rate value in handle_inter_modeJingning Han
The value of switchable rate has been stored in a local variable. This change skips the second call to vp9_get_switchable_rate() by reusing the local variable. Change-Id: Ib7d3fef7621cc4bde94c6d6e6b3a71f1fd4559f2
2014-08-27Add an early termination check in handle_inter_modeJingning Han
Check the mode and motion vector cost. If it is already above the existing best rate-distortion cost, skip the rest check process on this mode. Change-Id: Ie065cebdfda2a3be3be18b8e8b43dc29aaa8c179
2014-08-27Use max txfm size unit in rate-distortion cost modelingJingning Han
This commit makes the rate distortion modeling run in the unit of maximum transform block size. No compression/speed change observed. It is for the use of later fast forward transform purpose. Change-Id: Ibaaedb69c765e8d0c5d5012f0ec07f36fd9f68fd
2014-08-27Add a separate datarate test for denoiser enabled.Marco
Change-Id: Ibc91a46d11ad9c58e340b4346ed813a1be9b404a
2014-08-26Merge "add a new interp filter search strategy."Yaowu Xu
2014-08-26Merge "Enable denoiser for vp8 datarate tests."Marco
2014-08-26Enable denoiser for vp8 datarate tests.Marco
Keep one test, BasicBufferModel, with denoiser set off. Change-Id: I762c2004b3adca24f677535cfa5b991108f31f01
2014-08-26Merge "gen_msvs_(vcx)proj.sh: set yasm format explicitly"James Zern
2014-08-26Merge "vp8 fix: deallocate denoiser->yv12_last_source"Marco
2014-08-26Replacing int_mv with MV.Dmitry Kovalev
Change-Id: I483a2fefc5f9ea4533dfd64448f3b6b426dd9eed
2014-08-26Merge "Set scaled img format correctly in vpxdec"Deb Mukherjee
2014-08-26Merge "twopass_encoder: Flush encoder."Dmitry Kovalev
2014-08-26Merge "vpxenc.sh: Move some frequently used params into functions."Tom Finegan
2014-08-26vp8 fix: deallocate denoiser->yv12_last_sourceMarco
Change-Id: I7f3bc292b1b411e10586f0975143ae996ea78d1d
2014-08-26add a new interp filter search strategy.Yaowu Xu
This commit addes a new strategy to reduce the search for optimal interpolation filter type. The encoder counts and store how many each filter type is selected and used for each of the reference frames. A filter type that is rarely used for all three reference frames is masked out to avoid computation. The impact on compression is neglectible: -0.02% on derf +0.02% on stdhd Encoding time is seen to reduce by 2~3%. Change-Id: Ibafa92291b51185de40da513716222db4b230383
2014-08-25twopass_encoder: Flush encoder.Dmitry Kovalev
Change-Id: Ib04a545b43f3a36c6df7eaf3ed2d802cf41119bb
2014-08-25Merge "Removing non-executable code from encoder_encode()."Dmitry Kovalev
2014-08-25Merge "Removing tx_stepdown_count from VP9_COMP."Dmitry Kovalev
2014-08-25Merge "Adding oxcf temp variable."Dmitry Kovalev
2014-08-25Merge "Adding is_keyframe temp var."Dmitry Kovalev
2014-08-25Renaming vpxenc option from frame_boost to frame-boost.Dmitry Kovalev
We use dashes, no underscores. Change-Id: I423eee946d10731856e15591eb6e9e4628e3ee6c
2014-08-25Removing non-executable code from encoder_encode().Dmitry Kovalev
We don't output invisible frames with VP9. Change-Id: I7b874d3ac454c1b2966d5d7d72e12a864b49afae
2014-08-25Merge "Passing const cfg pointer to vpx_codec_{dec,enc}_init_ver()."Dmitry Kovalev
2014-08-25vpxenc.sh: Move some frequently used params into functions.Tom Finegan
Echo args back from new util functions to decrease the repetition in this file. Change-Id: Id4d7c02bf81cf2c5261f58b560e033869a346677
2014-08-25Removing tx_stepdown_count from VP9_COMP.Dmitry Kovalev
The variable is never read. Change-Id: I94141c1667fa5d10604cd6f83c5f64df107dee94
2014-08-25Merge "[spatial svc]Multiple frame context feature"Minghai Shang
2014-08-25Merge "vpxenc.sh: Make vpxenc() usage agree with implementation."Tom Finegan
2014-08-25Merge "twopass_encoder: Separate functions for first and second pass."Dmitry Kovalev
2014-08-25vpxenc.sh: Make vpxenc() usage agree with implementation.Tom Finegan
- Make $1 input file at all call sites. - Actually use vpxenc_pipe(). Change-Id: I22f25719aeb3dce60863207b2e2a49e42e27ed06
2014-08-25Merge "vpxenc.sh: Add real time tests."Tom Finegan