summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2015-10-28Revert "Replace the zero handling in extend_to_full_distribution."Alex Converse
This reverts commit 7f56cb29787b187c8cb1b778918ca3b80184c804. It causes uninitialized reads in the first pass setting up later cost tables. Change-Id: I2df498df3f5c03eff359f79edf045aed0c618dc9
2015-10-28Merge "Add several new test vectors with small resolution."Hangyu Kuang
2015-10-27Add several new test vectors with small resolution.Hangyu Kuang
Change-Id: I70b1b8162a0c9b8501358ba7d32fecd1dc020ab5
2015-10-27Update to vp9-denoising.Marco
Set increase_denoising parameter for temporal filter. Change-Id: Id98bf160db98dfa9aedf76e20b43e6f7c783fb1c
2015-10-27Merge "Adjustments to vp9-denoising."Marco Paniconi
2015-10-27Adjustments to vp9-denoising.Marco
Adjust variance threshold, delta-qp, and intra penalty cost, based on estimated noise level in source. Replace denoising_on with a level value=L/M/H. Change-Id: I0c017dae75a5d897367d2c42dec26f2f37e447c1
2015-10-27Merge "Reorder code to be consistent accross branches"Yaowu Xu
2015-10-27Merge "Replace the zero handling in extend_to_full_distribution."Alex Converse
2015-10-27Reorder code to be consistent accross branchesYaowu Xu
This is to make future merge a bit easier. Change-Id: I1039de381d8fe7b9988b57c23d15d0cb5f2fcd32
2015-10-26Fix VS build.Alex Converse
Add a cast on a double to unsigned assignment. Change-Id: I4abce7cfa13e145ed0c71469844ac9b274aa1411
2015-10-26Merge "Code cleanup for vp9-denoiser."Marco Paniconi
2015-10-26Merge "Incorrect frame used in KF boost loop."Paul Wilkins
2015-10-26Merge "Bug in clamping of base_frame_target."Paul Wilkins
2015-10-26Code cleanup for vp9-denoiser.Marco
Change-Id: Ibb573f50c4bf2cfb382b589803f3363db0ac1285
2015-10-26Replace the zero handling in extend_to_full_distribution.Alex Converse
The old workaround "p = 0 ? 0 : p -1" is misleading. ?: happens before = assigning back to p truncates to one byte. Therefore it is equivalent to (p - 1) & 0xFF, but the check just exists to work around a first pass bug, so let's make the work around more clear. https://code.google.com/p/webm/issues/detail?id=1089 Change-Id: Ia6dcc8922e1acbac0eeca23a4d564a355c489572
2015-10-26Merge "Optimize vpx_quantize_{b,b_32x32} assembler."Debargha Mukherjee
2015-10-26Merge "Optimize vp9_highbd_block_error_8bit assembly."Debargha Mukherjee
2015-10-26Merge "palette: Replace rand() call with custom LCG."Alex Converse
2015-10-26Merge "Use explicit block position in foreach_transformed_block"Jingning Han
2015-10-24palette: Replace rand() call with custom LCG.Alex Converse
The custom LCG is based on the POSIX recommend constants for a 16-bit rand(). This implementation uses less computation than typical standard library procedures which have been extended for 32-bit support, is guaranteed to be reentrant, and identical everywhere. Change-Id: I3140bbd566f44ab820d131c584a5d4ec6134c5a0 Ref: http://pubs.opengroup.org/onlinepubs/9699919799/functions/rand.html
2015-10-23Bug in clamping of base_frame_target.Paul Wilkins
Bug relating to issue:- http://b/25090786 base_frame_target is supposed to track the idealized bit allocation based on error score and not the actual bits allocated to each frame. The clamping of this value based on the VBR min and max pct values was causing a bug where in some cases the loop that adjusts the active max quantizer for each GF group was running out of bits at the end of a KF group. This caused a spike in Q and some ugly artifacts. A second change makes sure that the calculation of the active Q range for a group DOES, however, take account of clamping. Change-Id: I31035e97d18853530b0874b433c1da7703f607d1
2015-10-23VP9: Estimate noise level for denoiser.Marco
Periodically estiamte noise level in source, and only denoise if estimated noise level is above threshold. Change-Id: I54f967b3003b0c14d0b1d3dc83cb82ce8cc2d381
2015-10-23Use explicit block position in foreach_transformed_blockJingning Han
Add the row and column index to the argument list of unit functions called by foreach_transformed_block wrapper. This avoids the repeated internal parsing according to the block index. Change-Id: Ie7508acdac0b498487564639bc5cc6378a8a0df7
2015-10-22Merge "vp10: merge ext_ipred_bltr experiment into misc_fixes."Ronald S. Bultje
2015-10-22Merge "vp10: merge universal_hp experiment into misc_fixes."Ronald S. Bultje
2015-10-22Merge "Adjust superframe-is-optional unit test for vp10 superframe syntax."Ronald S. Bultje
2015-10-22Merge "vp10: don't allow comp_inter_inter on keyframes."Ronald S. Bultje
2015-10-22Merge "vp10: fix tile size in remuxing step."Ronald S. Bultje
2015-10-22Merge "vp10: use correct constant for bw adaptation of seg pred probs."Ronald S. Bultje
2015-10-22Merge "vp10: don't make right edge available across tile boundaries."Ronald S. Bultje
2015-10-22Merge "vp10: clip MVs before adding to find_ref_mvs() list."Ronald S. Bultje
2015-10-21vp10: merge ext_ipred_bltr experiment into misc_fixes.Ronald S. Bultje
Change-Id: I2f2deb700748408b8278b7f5c29ee1f2e39785ec
2015-10-21vp10: merge universal_hp experiment into misc_fixes.Ronald S. Bultje
Change-Id: I79fc3c0594535adc0056339c929cff69b8188760
2015-10-21Adjust superframe-is-optional unit test for vp10 superframe syntax.Ronald S. Bultje
Change-Id: Ic64b6928af7ae8ecc987f845b0bf0faecdacb072
2015-10-21Incorrect frame used in KF boost loop.Paul Wilkins
Fixes a bug in the calculation of the boost for key frames. Change-Id: I75e9c96a9e86379239fbbbecb56ccd529783dc7c
2015-10-21vp10: don't allow comp_inter_inter on keyframes.Ronald S. Bultje
Change-Id: Ibd0e13721a2bb71c532d20b36c42f4cccf5c5de2
2015-10-21vp10: fix tile size in remuxing step.Ronald S. Bultje
Change-Id: Id48fb193bbdb3afed1d0db26c4ddded65a293b1b
2015-10-21vp10: use correct constant for bw adaptation of seg pred probs.Ronald S. Bultje
Change-Id: Idb869a77a126982814b8e7e288f952a65340e6be
2015-10-21vp10: don't make right edge available across tile boundaries.Ronald S. Bultje
Change-Id: Ia81cf3858ef6c8d1fd4b1fb2dd9627906081129d
2015-10-21Optimize vp9_highbd_block_error_8bit assembly.Geza Lore
A new version of vp9_highbd_error_8bit is now available which is optimized with AVX assembly. AVX itself does not buy us too much, but the non-destructive 3 operand format encoding of the 128bit SSEn integer instructions helps to eliminate move instructions. The Sandy Bridge micro-architecture cannot eliminate move instructions in the processor front end, so AVX will help on these machines. Further 2 optimizations are applied: 1. The common case of computing block error on 4x4 blocks is optimized as a special case. 2. All arithmetic is speculatively done on 32 bits only. At the end of the loop, the code detects if overflow might have happened and if so, the whole computation is re-executed using higher precision arithmetic. This case however is extremely rare in real use, so we can achieve a large net gain here. The optimizations rely on the fact that the coefficients are in the range [-(2^15-1), 2^15-1], and that the quantized coefficients always have the same sign as the input coefficients (in the worst case they are 0). These are the same assumptions that the old SSE2 assembly code for the non high bitdepth configuration relied on. The unit tests have been updated to take this constraint into consideration when generating test input data. Change-Id: I57d9888a74715e7145a5d9987d67891ef68f39b7
2015-10-20Merge "vp10: disallow coding zero-sized tiles-in-frame/frames-in-superframe."Ronald S. Bultje
2015-10-20vp10: clip MVs before adding to find_ref_mvs() list.Ronald S. Bultje
This causes the output of find_ref_mvs() to always be unique or zero. A nice side-effect of this is that it also causes the output of find_ref_mvs_sub8x8() to be unique-or-zero, and it will not ignore available candidate MVs under certain conditions. See issue 1012. Change-Id: If4792789cb7885dbc9db420001d95f9b91b63bfa
2015-10-20vp10: disallow coding zero-sized tiles-in-frame/frames-in-superframe.Ronald S. Bultje
See issue 1088. Change-Id: Icb15d33b4e316add848f210b50cbccd7c7847207
2015-10-20Setting change in sample encoder: vpx_temporal_svc_encoder.cMarco
Change-Id: Ifb384fa571eb08b516ed08fe05b8bca0c94b1edf
2015-10-20Merge "VP10: some changes to palette mode"Hui Su
2015-10-20Merge "vp10: write colorspace info for profile 0 intraonly frames."Ronald S. Bultje
2015-10-20Merge "vp10: per-segment lossless coding."Ronald S. Bultje
2015-10-20Merge "vp10: add extended-intra prediction edges experiment."Ronald S. Bultje
2015-10-20Merge "vp10: allow MV refs to point outside visible image."Ronald S. Bultje
2015-10-20Merge "vp10: allow forward updates for keyframe y intra mode probabilities."Ronald S. Bultje