summaryrefslogtreecommitdiff
path: root/vp9/encoder
AgeCommit message (Collapse)Author
2014-05-07Merge "Tune rate-distortion modeling to account for frame light change"Jingning Han
2014-05-07Merge "Remove separate arf and gf minq tables."Yaowu Xu
2014-05-07Merge "Rate control adjustment."Yaowu Xu
2014-05-07Merge "Cleaning up vp9_encode_frame() function."Dmitry Kovalev
2014-05-07Merge "Using SPEED_FEATURES instead of VP9_COMP in vp9_init_search_range()."Dmitry Kovalev
2014-05-07Remove separate arf and gf minq tables.Paul Wilkins
Merged minq tables for arf and gf cases. These tables were almost the same and for VBR the arf table was not used at all. Change-Id: Ie3c87e91dab613cf06f6945ac1ace0e0e4213d34
2014-05-07Rate control adjustment.Paul Wilkins
Small adjustment to the active Q range calculations. These changes should slightly extend the available Q range for KF/GF/ARF and narrow it for other frames. The results for this change in isolation are broadly positive for SSIM and average PSNR and slightly up but mixed for opsnr. derf +0.293% opsnr, +1.286% SSIM std-hd + 0.528% opsnr, + 1.746% SSIM yt +0.056% opsnr, +0.457% SSIM yt-hd -0.147% opsnr, + 0.226% SSIM Change-Id: If065280342027ecc5d44b49fc1d440dfef041002
2014-05-07Merge "Moving pair_set_epi32 macro into vp9_dct32x32_sse2.c."Dmitry Kovalev
2014-05-07Merge "Removing MODE_TEST_HIT_STATS."Dmitry Kovalev
2014-05-07Merge "Revert "Add an MMX fwht4x4""Alex Converse
2014-05-07Merge "Clean up full-pixel search calling code"Yunqing Wang
2014-05-07Revert "Add an MMX fwht4x4"Paul Wilkins
Includes changes that are not compatible with VS windows builds. Amongst other things stdint.h is not supported in VS. This reverts commit 89fbf3de501b5d7fd90047192521eae3198705cd. Change-Id: Ifa86d7df250578d1ada9b539c9ff12ed0c523cdd
2014-05-06Tune rate-distortion modeling to account for frame light changeJingning Han
When the variance is far less than sse, the block is considered to be under light change. All the energy is compacted into DC coeff and can be coded at low cost. In such situation, switch the rate- distortion modeling from sse+var based back to variance based. Note that this is a temporary solution to handle the rare situations where the scene light changes. Change-Id: I1ee0fe2b9eda6b5fac40152e1841bf23f4d229fd
2014-05-06Merge "Add an MMX fwht4x4"Alex Converse
2014-05-06Merge "SSSE3 implementation of full inverse 8x8 2D-DCT"Jingning Han
2014-05-05Merge "[spatial svc] No need to code full width and height for non key frame"Minghai Shang
2014-05-05Merge "Cleaning up vp9_full_range_search_c() function."Dmitry Kovalev
2014-05-05Making vp9_get_sse_sum_{8x8, 16x16} static.Dmitry Kovalev
Change-Id: Ifb7937c977308c682986f0ce9645a0807d2aa46a
2014-05-05Merge "Moving costs from MACROBLOCK to VP9_COMP."Dmitry Kovalev
2014-05-05Merge "Cleaning up vp9_variance.c"Dmitry Kovalev
2014-05-05Clean up full-pixel search calling codeYunqing Wang
Removed repetitive code. Change-Id: Ib6adb6eaf7d4e3feeabb71651f4cc447974a925d
2014-05-05Add an MMX fwht4x4Alex Converse
7% faster encoding a desktop lossless at RT speed 4. Change-Id: I41627f5b737752616b6512bb91a36ec45995bf64
2014-05-05Fix rounding in ARNR calculationAdrian Grange
The rounding of the ARNR filter output prior to normalization by the filter strength was incorrect when strength = 0. In this case 1 << (strength - 1) would not create the required rounding of 0, rather it would outrange. This patch fixes this issue. Change-Id: I771809ba34d6052b17d34c870ea11ff67b418dab
2014-05-05SSSE3 implementation of full inverse 8x8 2D-DCTJingning Han
This commit enables SSSE3 version full inverse 8x8 2D-DCT and reconstruction. It makes the runtime of vp9_idct8x8_64_add down from 256 cycles (SSE2) to 246 cycles. Change-Id: I0600feac894d6a443a3c9d18daf34156d4e225c3
2014-05-02[spatial svc] No need to code full width and height for non key frameMinghai Shang
Change-Id: I62ab0f4346b4157a90dc5b5f73ab5e597d69c1bd
2014-05-02Cleaning up vp9_variance.cDmitry Kovalev
Change-Id: Ie2b9c9881085053c191f3f7b8253e283edef573b
2014-05-02Merge "Revert "Force ARNR filtering to be centered on the ARF frame""Adrian Grange
2014-05-02Merge "Fix mode selection bug when ARNR filtering disabled"Adrian Grange
2014-05-02Merge "Switch the default 2 pass vbr variant."Debargha Mukherjee
2014-05-01Merge "Moving #defines to *.c from *.h."Dmitry Kovalev
2014-05-01Merge "Adding vp9_temporal_filter_init() function."Dmitry Kovalev
2014-05-01Merge "Replacing int_mv with MV."Dmitry Kovalev
2014-05-01Merge "Simplifying vp9_is_upper_layer_key_frame()."Dmitry Kovalev
2014-05-01Moving pair_set_epi32 macro into vp9_dct32x32_sse2.c.Dmitry Kovalev
Change-Id: I642a7d343677bf934e9a54cf4ad78e908620e39a
2014-05-01Using SPEED_FEATURES instead of VP9_COMP in vp9_init_search_range().Dmitry Kovalev
Change-Id: I961d50d6fafdd37ef7f23f0a871d28e28d2084ca
2014-05-01Moving costs from MACROBLOCK to VP9_COMP.Dmitry Kovalev
Change-Id: I61471dd0f77d1547abec13cbf9670e1c4eb9131a
2014-05-01Cleaning up vp9_encode_frame() function.Dmitry Kovalev
Change-Id: I2b618dfe753f8c6139cecadc5caf14826abb67d9
2014-05-01Merge "Removing half-variance asm functions which are not used."Dmitry Kovalev
2014-05-01Fix mode selection bug when ARNR filtering disabledAdrian Grange
When ARNR filtering is disabled, by setting arnr_max_frames=0, mode_skip_mask was being set to -1 for the ARF frame resulting in no mode being selected for the block. The intent is to restrict the reference frame to the previous ARF frame and the mode to one of ZEROMV, NEARMV or NEARESTMV. Change-Id: Ifc3920b153142cd01d422910c94d2f20ffb6f129
2014-05-01Switch the default 2 pass vbr variant.Paul Wilkins
On balance Deb's modified rate control for VBR seems to be outperforming especially on some low motion YT clips so I have switched this to be the default mode for now. Change-Id: I0713d430cad6425ac5c48fccdf332e12814ee44a
2014-05-01Simplifying vp9_is_upper_layer_key_frame().Dmitry Kovalev
Change-Id: Ib56df7cd282dadbfd202de23f0c746a93b5ce63e
2014-05-01Adding vp9_temporal_filter_init() function.Dmitry Kovalev
Change-Id: I0d50354111df79b74aafcd3bb7dc14df3c14733a
2014-05-01Merge "[svc rc] RC improvement for key frames in upper layers for spatial svc."Minghai Shang
2014-04-30Merge "Removing unused alt_activity_measure() function."Dmitry Kovalev
2014-04-30Merge "Removing unused typedefs."Dmitry Kovalev
2014-04-30Replacing int_mv with MV.Dmitry Kovalev
Change-Id: Idccb530c814cb8a2fb9f7d0c11eaef25044efe5e
2014-04-30Cleaning up vp9_full_range_search_c() function.Dmitry Kovalev
Change-Id: Ifc9114aeacd493cfa04d4cb3d071bf1de80e0568
2014-04-30[svc rc] RC improvement for key frames in upper layers for spatial svc.Minghai Shang
Change-Id: Id6ab59e505be28cd4eb9f1fe114feb47debe0539
2014-04-30Removing MODE_TEST_HIT_STATS.Dmitry Kovalev
It seems nobody uses it now. Change-Id: Ided479cb7f5023559efc8f102ecead43884f4441
2014-04-30Merge "Enable SSSE3 implementation of 8x8 forward 2D-DCT"Jingning Han