summaryrefslogtreecommitdiff
path: root/vp8/encoder
AgeCommit message (Collapse)Author
2014-07-30Fix to Visual Studio build error.Marco Paniconi
signed/unsigned mismatch from commit: 918011. Change-Id: I6b9bb3618f8e72ea4cc0e6ba8fb9b13676985ed0
2014-07-29vp8: Add an aggressive denoising mode.Marco Paniconi
Change-Id: Ie4686e1b15af6bcc8d59d585bbeb996f38224522
2014-07-24vp8: reduce refresh_max_mbs_perframe with fewer layers.Marco Paniconi
Change-Id: Ib39cc0218a1f232c0cde8e99ca3319c17274bd48
2014-07-23Fix clang compiler warning in denoising_neon.Marco Paniconi
Issue: https://code.google.com/p/webm/issues/detail?id=829 Change-Id: I580308f8aa4af194b5d8990a9692ebd18db68ee8
2014-07-22Merge "vp8: Set default denoiser_decision to copy for UV channel."Marco Paniconi
2014-07-22Merge "vp8 denoiser fix: Update denoised altref on key frame."Marco Paniconi
2014-07-22vp8: Set default denoiser_decision to copy for UV channel.Marco Paniconi
Since the UV decision to denoise is based on Y, we need to set the default/initial denoiser decision_u/v to COPY_BLOCK, to make sure if no uv_denoiser is applied we still update (uv)running_avg with source. Change-Id: I5af1c2afbd40c498cd3de208bea88c837099b24d
2014-07-22vp8 denoiser fix: Update denoised altref on key frame.Marco Paniconi
On a key frame, the denoised-running_avg for all references frames should be updated with the source. The altref denoised-running_avg was not being updated on key frame, this fixes that. Change-Id: Ie02cd0ba5383e013af59240e6df7e185d11703f6
2014-07-21Add -DNDEBUG when config option debug is disabledYunqing Wang
For gcc, when libvpx config option debug is disabled, added the flag -DNDEBUG to disable the assertions in libvpx for some speedup. Change-Id: Ifcb7b9e8ef5cbe5d07a24407b53b9a2923f596ee
2014-07-15vp8: Allow for on/off control of UV temporal denoiser.Marco Paniconi
Use noise_sensitivity level for enabling UV denoiser. Change-Id: Ib208786a6fdf654981bcd96a3cf44e8e678025c1
2014-07-10call vp[89]_clear_system_state after longjmpJames Zern
restore the environment post encode/decode failure Change-Id: I3c72e2260a616432eaf1f9545d4fb4d8e45cc7b0
2014-07-08Move abs() to where it is effectiveJohann
vp8/encoder/x86/denoising_sse2.c:35:10: error: taking the absolute value of unsigned type 'unsigned int' has no effect [-Werror,-Wabsolute-value] Change-Id: I749ba8e6f55dbd9b822bfd4260a8397554f5e524
2014-07-07Merge "Neon version of vp8_denoiser_filter_uv()"Scott LaVarnway
2014-06-30vp8/bitstream.h: quiet warnings in EDSP buildsJames Zern
fixes: vp8\encoder\bitstream.h: same type qualifier used more than once Change-Id: I62b99342131fdaedb1f7cc8d2dcd13ab34637cd7
2014-06-29vp8 denoiser fix: free memory of denoiser->denoiser_state.Marco Paniconi
Change-Id: I86451ddfa90d871e46e5b4c97794dbef65293c6c
2014-06-27Neon version of vp8_denoiser_filter_uv()Scott LaVarnway
The encoder performance improved by 5% (vs "C") for the test clip used. Change-Id: I866b35eb2a06092edce7b37fc409562d0dacd7e7
2014-06-27denoising_sse2.c visual studio warnings/errors fixScott LaVarnway
Fixed reported vs warnings/errors. Change-Id: Ia4c44d64a69dbd9e1738c6ebb48be29582b7e1d3
2014-06-26Merge "vp8: Add temporal denoising for UV-channel."Marco Paniconi
2014-06-26vp8: Add temporal denoising for UV-channel.Scott LaVarnway
C version and sse2 version, and off by default. For the test clip used, the sse2 performance improved by ~5.6% Change-Id: Ic2d815968849db51b9d62085d7a490d0e01574f6
2014-06-19Remove labels from quantizeJohann
Use break instead of goto for early exit. Unbreaks Visual Studio builds. Change-Id: I96dee43a3c82145d4abe0d6a99af6e6e1a3991b5
2014-06-18sse4 regular quantizeJohann
Change-Id: Ibd95df0adf9cc9143006ee9032b4cb2ebfd5dd1b
2014-06-16vp8 denoising: add bias factor to zero_mv sse.Marco Paniconi
Change-Id: I95818754424e89f0d56c6d9c0c5709e6f84fa46a
2014-06-13Allow for deblocking temporal-denoised signal.Marco Paniconi
Allow for an option to selectively apply the deblocking loop filter to the denoised raw block, based on the denoised state (no-filter, filter with zero motion, or filter with non-zero motion) of the current block and its upper and left denoised block. This helps to reduce some blocking artifacts from the motion-compensated denoising. Change-Id: I0ac4e70076df69a98c5391979e739a2681e24ae6
2014-06-12Merge "Added OUTPUT_YUV_DENOISED CFLAG to VP8 encoder"Tim Kopp
2014-06-05Merge "Neon match to vp8 temporal denoiser fix"Scott LaVarnway
2014-06-05Added OUTPUT_YUV_DENOISED CFLAG to VP8 encoderTim Kopp
When this compiler flag is enabled, the encoder will write a denoised, uncompressed, version of the input to denoised.yuv. Change-Id: Ie0247f76b23219d95fe97dd70f23e097d742c249
2014-06-04Made MACROBLOCK.increase_denoising cond-compiledTim Kopp
Change-Id: I59ef7c49f72d2d40bbe5b56af11bdf5f9ae2f1b8
2014-06-04s/INT_MAX/UINT_MAX/ where appropriateTim Kopp
Change-Id: I0156d85671305326525c4644510e240021eca461
2014-05-30Fixed OUTPUT_YUV_SRC behavior for VP8Tim Kopp
By enabling the OUTPUT_YUV_SRC compiler flag, the encoder will write the raw input to bd.yuv. The functionality was mostly implemented, but in its previous state did not compile. Change-Id: Ia331ad0f4c6e6f9f51e8d42cd33ba8cc146b3dbf
2014-05-28Neon match to vp8 temporal denoiser fixScott LaVarnway
Now match the "C" version of "Fix to reduce block artifacts from vp8 temporal denoiser." (see change id Id9b56e59e33f3c22e79d2f89f763bdde246fdf3f) Change-Id: I99e569bb6af4ae3532621127e12bf917a48ba08e
2014-05-28Merge "vp8 denoiser: fix to zero_mv mode selection."Marco Paniconi
2014-05-28vp8 denoiser: fix to zero_mv mode selection.Marco Paniconi
In the current logic, if the sse for zero motion is smaller than the sse for new_mv (i.e., best_sse), we may still end up using the non-zero mv for denoising (if the magnitude of new_mv is above threshold). This can happen for very noisy content, and can lead to artifacts. This change ensures that we always use zero_mv (over new_mv) for denoisng if sse_zero_mv <= best_sse. Change-Id: I8ef9294d837b077013b77a46c9a71d17c648b48a
2014-05-27Merge "Fix to reduce block artifacts from vp8 temporal denoiser."Marco Paniconi
2014-05-27Merge "Removing vp8/common/pragmas.h."Dmitry Kovalev
2014-05-26neon matches "C" when using increase_denoisingScott LaVarnway
If increase_denoising is set, vp8_denoiser_filter_neon() produced incorrect results. Change-Id: I645f78e48b8f6657fa8a4b69d2c4d3488a0581dc
2014-05-23Removing vp8/common/pragmas.h.Dmitry Kovalev
Change-Id: I80630a7350e884ebc4fef73fb5b52ec25f908523
2014-05-21Fix to reduce block artifacts from vp8 temporal denoiser.Marco Paniconi
If the denoiser filter causes too big a change in the absolute pixel difference (between source and denoised signal), the block is not denoised, which can cause visual block artifacts. This change applies a second adjustment to the temporal filter to effectively allow for a (weaker) denoising for such blocks (which can keep the absolute differnence within the tolerance range in most cases). This helps to reduce some of the block artifacts from the denoising. The additional cost of re-applying the filter to this set of blocks is low, as the percentage of blocks per frame (with too big a change in absolute pixel difference) is typically small, 2-5%. Change-Id: Id9b56e59e33f3c22e79d2f89f763bdde246fdf3f
2014-05-21Renames x86_64 specific asm filesDeb Mukherjee
Renames all x86_64 specific assembly files to consistently end in _x86_64.asm. This will be useful for build systems to handle these files differently. All new 64-bit specific assembly files should use the new naming convention. Change-Id: I36c89584967c82ffc4088b1b5044ac15d2bb7536
2014-05-16vp8: Add increase_denoising parameter to denoiser.Marco Paniconi
Change-Id: I96ed73e109c4f89dd06f3583cf7ecf9277401fae
2014-05-15Merge "Revert "Remove Wextra warnings from vp9_sad.c""Jim Bankoski
2014-05-15Revert "Remove Wextra warnings from vp9_sad.c"Jim Bankoski
This reverts commit 7ab9a9587b96db4edce6be916c1f02297a9555ff Nightly test http://build.webmproject.org/jenkins/view/libvpx-nightly-tests/job/libvpx%20unit%20tests%20(valgrind-2)/arch=x86_64-linux-gcc,filter=-*VP8*:*Large.*/276/console Failed This patch did not address all the assembly issues some of the vp8 assembly counts on 5 arguments being passed in to this function: one example : vp8_sad8x16_wmt Please address or split this into vp9 and vp8 patches. Change-Id: I78afcc171649894f887bb8ee3c66de24aaddc7ca
2014-05-14Merge "Revert "Revert "Remove struct params from vp8_denoiser_filter"""Marco Paniconi
2014-05-14Revert "Revert "Remove struct params from vp8_denoiser_filter""Marco Paniconi
This reverts commit 06e6d56fa138d84759e8bdfd4c721ead000051b4 Change-Id: If95598385b693945d6b144d03b6da8f6a57dac98
2014-05-14Remove Wextra warnings from vp9_sad.cDeb Mukherjee
As a side-effect, the max_sad check is removed from the C-implementation of VP8, for consistency with VP9, and to ensure that the SAD tests common to VP8/VP9 pass. That will make the VP8 C implementation of sad a little slower but given that is rarely used in practice, the impact will be minimal. Change-Id: I7f43089fdea047fbf1862e40c21e4715c30f07ca
2014-05-08Use __asm__ __volatile__ with gccJohann
Some version of clang refuse 'asm volatile' Change-Id: I79d909ac8ae3c04b608f20c6f10fa79b7f9fc8e0
2014-05-07Merge "Revert "Remove struct params from vp8_denoiser_filter""Frank Galligan
2014-05-07Revert "Remove struct params from vp8_denoiser_filter"Frank Galligan
This reverts commit e516a42527098a26798dbb3663a5bcdd38793839 Change-Id: I7c78712acc737ad5f580181cdab3aa76b23f3ca5
2014-05-05Fix generic-gnu target buildAdrian Grange
Added macro to conditionally compile some of the post-processing functions only when CONFIG_POSTPROC is defined. This was causing the build for the generic-gnu target to fail. Change-Id: Ibfa447feceb7a0528135025f105be48f97e9965c
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-05Merge "Remove struct params from vp8_denoiser_filter"Scott LaVarnway