summaryrefslogtreecommitdiff
path: root/vp8/common/mfqe.c
AgeCommit message (Collapse)Author
2015-05-26Move variance functions to vpx_dspJohann
subpel functions will be moved in another patch. Change-Id: Idb2e049bad0b9b32ac42cc7731cd6903de2826ce
2015-05-06Move shared SAD code to vpx_dspJohann
Create a new component, vpx_dsp, for code that can be shared between codecs. Move the SAD code into the component. This reduces the size of vpxenc/dec by 36k on x86_64 builds. Change-Id: I73f837ddaecac6b350bf757af0cfe19c4ab9327a
2015-04-28vpx_mem: remove vpx_memcpyJames Zern
vestigial. replace instances with memcpy() which they already were being defined to. Change-Id: Icfd1b0bc5d95b70efab91b9ae777ace1e81d2d7c
2015-04-03multiframe_quality_enhance_block: remove dead storesJames Zern
Change-Id: I33ca9cddfdd54c3d8a23c1cb978986a537a20bf2
2013-01-25Bug fix: error-concealment enabled changed postproc outputScott LaVarnway
When error concealment is enabled, it swaps the mi and prev_mi ptrs after each frame is decoded. The postproc uses the mi ptr for the mode info context. Now the postproc will use the correct mode info context. Change-Id: I537ae5450f319c624999b44525bb52bb30047b7b
2012-11-15support building vp8 and vp9 into a single libJohn Koleszar
Change-Id: Ib8f8a66c9fd31e508cdc9caa662192f38433aa3d
2012-09-04Adjusting thresholds in mfqe post-processingDeb Mukherjee
Adjusts some of the qualification thresholds in mfqe to eliminate artifacts due to wrong decisions. Besides, a new qualification criteria is used to disable mfqe if the quality of the previous frame is itself not too good. Change-Id: I4097c20b7fd4fcc60cc3003c1e33e8faae2ff066
2012-07-27Be consistent with SAD valuesJohann
SAD returns unsigned values. Make all the declarations the same. Remove bestsad initialization and check. It is always set to the result of a SAD call so it will never remain UINT_MAX Use ja instead of jg to test unsigned comparison instead of signed. Update test. Change-Id: I46336ab45f4e60fc37caf20bd36bc5782079c7a5
2012-05-02Fix compiler warningsAttila Nagy
Fix code for following warnings: -Wimplicit-function-declaration -Wuninitialized -Wunused-but-set-variable -Wunused-variable Change-Id: I2be434f22fdecb903198e8b0711255b4c1a2947a
2012-04-10Fixes to disable MFQE when there is motion.Deb Mukherjee
This patch includes: 1. fixes to disable block based termporal mixing when motion is detected (because this version of mfqe only handles zero motion). 2. The criterion used for determining whether to mix or not are changed to use squared differences rather than absolute differences. 3. Additional checks on color mismatch and excessive block flatness added. If the block as decoded has very low activity it is unlikely to yield benefits for mixing. Change-Id: I07331e5ab5ba64844c56e84b1a4b7de823eac6cb
2012-04-03MFQE: apply threshold to subblocks and chroma.John Koleszar
In cases where you have a flat background occluded by a moving object of similar luminosity in the foreground, it was likely that the foreground blocks would persist for a few frames after the background is uncovered. This is particularly noticable when the object has a different color than the background, so add the chroma planes in as an additional check. In addition, for block sizes of 8 and 16, the luma threshold is applied on four subblocks independently, which helps when only part of the background in the block has been uncovered. This fixes issue #392, which includes a test clip to reproduce the issue. BUG=392 Change-Id: I2bd7b2b0e25e912dcac342e5ad6e8914f5afd302
2012-03-21bug fix: remove inline from mfqe.cJames Berry
remove inline from mfqe.c for vs compatibility Change-Id: I853f16503d285fcd41a1a12181d8745159156b5c
2012-03-06RFC: Reorganize MFQE loopsJohann
Break MFQE code into it's own file. It is currently only valid for 16x16 and 8x8 Y blocks. It also filters 4x4 U/V blocks. Refactor filtering and add associated assembly. Limited test cases show --mfqe introduces a penalty of ~20% with HD content. The assembly reduces the penalty to ~15% Change-Id: I4b8de6b5cdff5413037de5b6c42f437033ee55bf