summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2014-01-06Merge "Code cleanup: remove unneeded lines."Marco Paniconi
2014-01-06Merge "Added placeholder for real time mode"Yaowu Xu
2014-01-06Code cleanup: remove unneeded lines.Marco Paniconi
Change-Id: I44a89b822a436299b9dd4ff26ad2e35767c29c58
2014-01-06Merge "Write correct resolution to the IVF file header (b/11270652)"Charles 'Buck' Krasic
2014-01-06Merge "Combining ref_frame and second_ref_frame into ref_frames[2]."Dmitry Kovalev
2014-01-06Merge "Moving reset_segment_features() to encoder/vp9_segmentation.h."Dmitry Kovalev
2014-01-06Merge "Adding RefBuffer struct."Dmitry Kovalev
2014-01-06Write correct resolution to the IVF file header (b/11270652)Charles 'Buck' Krasic
also: o remove dead code, create_dummy_frame o Fix a bug in command line handling that caused a segfault if wrong number of arguments were given. Change-Id: I78f026aee4e363967b750e6cde0982659c558a1f
2014-01-06Combining ref_frame and second_ref_frame into ref_frames[2].Dmitry Kovalev
Change-Id: I007d66a1cb1b44751dcceafbaa64649ed9a34562
2014-01-06Merge "Corerctly sets frame type in the 2 pass case"Deb Mukherjee
2014-01-06Added placeholder for real time modeYaowu Xu
Change-Id: I203d10f76c7ca78d875eaae15557cd765c6240d1
2014-01-06Moving reset_segment_features() to encoder/vp9_segmentation.h.Dmitry Kovalev
Change-Id: I0db4b31cb2382d4f6249eae0a8f42d227ad0ac57
2014-01-06Merge "Moving get_scan() call out of decode_coeffs() function."Dmitry Kovalev
2014-01-06Corerctly sets frame type in the 2 pass caseDeb Mukherjee
This patch sets frame types correctly in the new vp9_get_second_pass_params() function called prior to encode_frame_to_data_rate() function, so that the latter function can just work with what is passed to it. This will allow multiple vp9_get_second_pass_params() to be created for various encode strategies without messing with the core encode function. There is no difference in derf and yt. stdhd/hd are pending. Change-Id: I70dfb97e9f497e9cee04052e0e8e0c2892eab0c3
2014-01-06Merge "Tune IDCT8_1D macro function interface"Jingning Han
2014-01-06Merge "Modified Handling of min and max vbr rates."Paul Wilkins
2014-01-03Moving get_scan() call out of decode_coeffs() function.Dmitry Kovalev
Change-Id: I5db2e5a6c36e6c503dea2e07d9d2e0daf4ac9d89
2014-01-03Merge "Converting CHECK_POINT macro to inline function."Dmitry Kovalev
2014-01-03Merge "Replacing int_mv with MV."Dmitry Kovalev
2014-01-03Converting CHECK_POINT macro to inline function.Dmitry Kovalev
Change-Id: I08533d59a78346dac30a7dcbc12146f23ef88bbc
2014-01-03Merge "Replacing CHECK_BOUNDS macro with inline check_bounds function."Dmitry Kovalev
2014-01-03Merge "Moving hev mask calculation into filter4() function."Dmitry Kovalev
2014-01-03Tune IDCT8_1D macro function interfaceJingning Han
This commit adds input/output ports for IDCT8_1D macro function to provide more flexibility in variable use. It allows to skip several buffer swap operations. Change-Id: I21f3450509537322293043b3281bfd3949868677
2014-01-03Adding RefBuffer struct.Dmitry Kovalev
Adding RefBuffer to simplify reference buffer management. The struct has a pointer to image data and scale factors relative to the current frame. Change-Id: If38eb1491ff687cc11428aee339f3e052e2c5d9e
2014-01-03Merge "Cleaning up get_prediction_decay_rate() function."Dmitry Kovalev
2014-01-03Merge "Pre planes configuration cleanup."Dmitry Kovalev
2014-01-03Merge "Reduce num of buffer swap calls in idct8_1d_sse2"Jingning Han
2014-01-03Merge "Rework idct8x8_10 SSE2 implementation"Jingning Han
2014-01-03Pre planes configuration cleanup.Dmitry Kovalev
Change-Id: I1d50f8701d9c9dedb84387a773a3e9b4daaad720
2014-01-03Merge "Merging best_ref_mv and second_best_ref_mv into best_ref_mv[2]."Dmitry Kovalev
2014-01-03Reduce num of buffer swap calls in idct8_1d_sse2Jingning Han
This commit merges the initial buffer swap operations in idct8_1d_sse2 into the array transpose step, hence reducing number of instructions therein. Change-Id: I219f6f50813390d2ec3ee37eecf2a4a2b44ae479
2014-01-03Cleaning up get_prediction_decay_rate() function.Dmitry Kovalev
Change-Id: Ie8fcee21f41f91f94b4fa02f2a55691dea1734e3
2014-01-03Rework idct8x8_10 SSE2 implementationJingning Han
This commit optimizes the SSE2 implmentation of idct8x8_10. It exploits the fact that only top-left 4x4 block contains non-zero coefficients, and hence reduces the instructions needed. The runtime of idct8x8_10_sse2 goes down from 216 to 198 CPU cycles, estimated by averaging over 100000 runs. For pedestrian_area_1080p 300 frames coded at 4000kbps, the average decoding speed goes up from 79.3 fps to 79.7 fps. Change-Id: I6d277bbaa3ec9e1562667906975bae06904cb180
2014-01-03Replacing int_mv with MV.Dmitry Kovalev
Change-Id: Ifd432fa3741ba47102d298e0b348eb00f5a9ce53
2014-01-03Merge changes Ic0a2427a,I3addbf6dDmitry Kovalev
* changes: Removing CONFIG_MD5. Using VP9_FRAME_MARKER instead of raw number.
2014-01-03Merging best_ref_mv and second_best_ref_mv into best_ref_mv[2].Dmitry Kovalev
Change-Id: If04b57828847cee09a79c94e1098d1aa4990ea0d
2014-01-03Modified Handling of min and max vbr rates.Paul Wilkins
In two pass encodes bits are allocated to each frame according to a modified error score for the frame as a fraction of the modified error score for the clip or section. Previously a minimum rate per frame was reserved and subtracted from the bits allocatable by the two pass code. The vbr max section rate was enforced by clipping the actual number of bits allocated. In this patch the min and max vbr rates are enforced instead by clipping the modified error scores for each frame rather than the number of bits allocated. Small gains for all test sets (psnr and SSIM) ranging from ~ +0.05 for YT psnr up to ~ +0.25 for Std-hd SSIM. Change-Id: Iae27d70bdd3944e3f0cceaf225bad2e8802833de
2014-01-02Reusing vp9_get_skip_context() function in encoder.Dmitry Kovalev
Change-Id: Ic0345622115941f49b6a568c7b8154ba892cbf0d
2014-01-02Merge "ARM NEON version of denoiser."Christian Duvivier
2014-01-02ARM NEON version of denoiser.Christian Duvivier
Change-Id: I951abd4ad0078f78949f3cb79453ac334fb82a7e
2014-01-02Merge "Fix show existing frame"Yaowu Xu
2013-12-27Removing CONFIG_MD5.Dmitry Kovalev
We don't need compile time md5 configuration because --md5 is a runtime option. Change-Id: Ic0a2427ae5de5a18f31e5ee60c3732481b377ca1
2013-12-27Merge "Adaptive motion control on ref and search range"Jingning Han
2013-12-27Using VP9_FRAME_MARKER instead of raw number.Dmitry Kovalev
Change-Id: I3addbf6d89a86a707c8df1a463da3e9e367910df
2013-12-27Merge "Removing vpx_codec_vp9x_cx and internal experimental flag."Dmitry Kovalev
2013-12-27Merge "Remove a unused sub-pixel search"Yunqing Wang
2013-12-27Removing vpx_codec_vp9x_cx and internal experimental flag.Dmitry Kovalev
vpx_codec_vp9x_cx is not used internally. Experimental flag from vp9_extracfg is also not really used. YUV 4:4:4 just works after these changes (you have to specify --profile=1 for the encoder). Change-Id: Ib1c8461d0d19d159827e005efe868f891eea0140
2013-12-27Adaptive motion control on ref and search rangeJingning Han
This commit takes a preliminary attempt to refine the motion search control. It detects the SAD associated with mv predictor per reference frame, and based on which to determine whether the encoder wants to reduce the motion search range (if the predicted mv provides fairly small SAD), or to skip the current reference frame (if there exists another ref frame that gives much smaller SAD cost). This feature is turned on in the settings of speed 1 and above. In speed 1, compression performance changed derf -0.018% yt -0.043% hd -0.045% stdhd -0.281% speed-up pedestrian_area_1080p at 4000 kbps 100 frames 199651ms -> 188846ms (5.5% speed-up) blue_sky_1080p at 6000 kbps 443531ms -> 415239ms (6.3% speed-up) In speed 2, compression performance changed derf -0.026% yt -0.090% hd -0.055% stdhd -0.210% speed-up pedstrian 113949ms -> 108855ms (4.5% speed-up) blue_sky 271057ms -> 257322ms (5% speed-up) Change-Id: I1b74ea28278c94fea329d971d706d573983d810d
2013-12-26Merge "Calculating has_second_ref only once for single_ref context."Dmitry Kovalev
2013-12-26Merge "Removing vp9_findnearmv.{h, c} files."Dmitry Kovalev