summaryrefslogtreecommitdiff
path: root/vp8/encoder
AgeCommit message (Collapse)Author
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
2014-05-03Merge "Remove asm_offsets dependency in quantize_b_ssse3"Johann
2014-05-02Remove struct params from vp8_denoiser_filterScott LaVarnway
This eliminates the asm_offsets dependency for future all-assembly versions of this function. Change-Id: I3227073ecfcb8ee6e593934fab941e9081abdda0
2014-05-02Merge "Improved intrinsic version of vp8_denoiser_filter_neon"Scott LaVarnway
2014-05-02Remove asm_offsets dependency in quantize_b_ssse3Johann
Replace it with some intrinsic code and inline assembly. Change-Id: I81b4df146db3d01039059be7dae31083e2943b97
2014-04-30Improved intrinsic version of vp8_denoiser_filter_neonScott LaVarnway
Used horizonal add instructions instead of adding byte lanes. The encoder performance improved by ~4% for the test clip used. Change-Id: Iaddd10403fcffb5b3f53b1f591ab2fe0ff002c08
2014-04-29Remove VP8 save_reg_neon functionYunqing Wang
This patch did a cleanup following the commit "Save NEON registers in VP8 NEON functions". The pushing/poping of callee-saved NEON registers was moved into individual NEON functions. Therefore, we don't need to save those registers at the beginning of codec. The related code was removed. Change-Id: I5648166514fc9beffb780aa138495597731f49ea
2014-04-28Save NEON registers in VP8 NEON functionsYunqing Wang
The recent compiler can generate optimized code that uses NEON registers for various operations besides floating-point operations. Therefore, only saving callee-saved registers d8 - d15 at the beginning of the encoder/decoder is not enough anymore. This patch added register saving code in VP8 NEON functions that use those registers. Change-Id: Ie9e44f5188cf410990c8aaaac68faceee9dffd31
2014-04-23Add VPXD_SET_DECRYPTOR support to the VP9 decoder.Joey Parrish
Change-Id: I88f86c8ff9af34e0b6531028b691921b54c2fc48
2014-04-10Fix onyx_if.c to not to redefine M_LOG2_E if it's already defined.Sergey Ulanov
This fixes warning when compiling libvpx for PNaCl. PNaCl's version of math.h defines M_LOG2_E. Change-Id: Iba9450441538e9f82447ad2936bea94d21bafdf1
2014-03-18Merge "tokenize: quiet -Warray-bounds warnings"James Zern
2014-03-18Merge "rdopt: quiet -Warray-bounds warnings"James Zern
2014-03-15tokenize: quiet -Warray-bounds warningsJames Zern
eob is limited by GetCoeffs Change-Id: Ie5c0d024796fe6c9b2db0374892544e421bd5d09
2014-03-15rdopt: quiet -Warray-bounds warningsJames Zern
eob is limited by GetCoeffs Change-Id: Id48a92e600375a1d4fb956757c93c91ebb5df59a
2014-03-15onyx_if: quiet -Warray-bounds warningsJames Zern
'number_of_layers' is range checked before assignment from the user config. Change-Id: Idefdaceb8736f126fa7c647da2b047dafb56ea52
2014-02-26Adding vpx_sse_to_psnr() function.Dmitry Kovalev
Removing all copies of identical vp8_mse2psnr/vp9_mse2psnr functions. Using vpx_sse_to_psnr() instead in all places. Change-Id: I15beef9834d43d8fc8a8a7a2d1fc5de3d658fed8
2014-02-14Cleanup some comments.Adrian Grange
Change-Id: I568861ba1d43620865ad9a98a97eef37a51fd856