summaryrefslogtreecommitdiff
path: root/vp8
AgeCommit message (Collapse)Author
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-13Merge "Allow for deblocking temporal-denoised signal."Marco Paniconi
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-12Use lrand48 on AndroidJohann
When building x86 assembly use lrand48 instead of the undocumented inlined _rand function. Android now supports rand() https://android-review.googlesource.com/97731 but only for new versions. Original workaround: https://gerrit.chromium.org/gerrit/15744 Change-Id: I130566837d5bfc9e54187ebe9807350d1a7dab2a
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 "Removing ctrl_id parameter from vpx_codec_control_fn_t."Dmitry Kovalev
2014-05-27Removing ctrl_id parameter from vpx_codec_control_fn_t.Dmitry Kovalev
Change-Id: I2b61c8c17ded1074dea92b4f6ad9be84d128b52a
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-27Merge "neon matches "C" when using increase_denoising"Scott LaVarnway
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-23Fixes a bug for uninitialized frame buffersDeb Mukherjee
Fixes a bug introduced in https://gerrit.chromium.org/gerrit/#/c/69779/13, where uninitialized frame buffers due to corrupt and short buffer sizes, may cause a crash. This patch fixes the currently failing video/processing/static_image/vp8_convert_test Change-Id: I1b09e21482f292c11a2bfb4e570aef1d643410a7
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-19Fix valgrind read out of bounds error.Jim Bankoski
MMX variance code in vp8 was reading out of bounds.. TODO(JBB): The best fix would involve removing duplicate library functions between vp8 and vp9... Change-Id: I5722853a6a58d3b55257ff385fa54c773bf98ded
2014-05-16Merge "vp8: Add increase_denoising parameter to denoiser."Johann
2014-05-16Merge "Correct HAVE_NEON_ASM define"Johann
2014-05-16vp8: Add increase_denoising parameter to denoiser.Marco Paniconi
Change-Id: I96ed73e109c4f89dd06f3583cf7ecf9277401fae
2014-05-16Correct HAVE_NEON_ASM defineJohann
These optimizations are currently disabled. Change-Id: I19c58c9cb82d017638b86196641b9e001dfa798b
2014-05-16Merge "Remove intermediate step in vp8_dequantize_b"Johann
2014-05-15Merge "Build armv7a-only code"Johann
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-14Remove intermediate step in vp8_dequantize_bJohann
With the intrinsics it is no longer necessary to have a stub/helper function. Change-Id: I3695961c3c94f1bb750d3b7b29716e509ebba482
2014-05-14Build armv7a-only codeJohann
Allow disabling the more generic NEON code. Use filtered option to disable rtcd code. Change-Id: Icb4500c1a2bac16eed3c5e3ec0c35e92e6bbbb9f
2014-05-14Merge "Revert "VP8 for ARMv8 by using NEON intrinsics 06" This reverts ↵Johann
commit 81ad047ee57ecb0e2c1ee4dcebda54a44ea54ae9. Revert "VP8 for ARMv8 by using NEON intrinsics 15" This reverts commit 727af7cebe3698b8493ba6c1360b0a6606c310fb."
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-14Merge "Remove Wextra warnings from vp9_sad.c"Deb Mukherjee
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-13Merge "Fixing constant value used to calculate frame pts and duration."Dmitry Kovalev
2014-05-13Revert "VP8 for ARMv8 by using NEON intrinsics 06"Johann
This reverts commit 81ad047ee57ecb0e2c1ee4dcebda54a44ea54ae9. Revert "VP8 for ARMv8 by using NEON intrinsics 15" This reverts commit 727af7cebe3698b8493ba6c1360b0a6606c310fb. This exposes a bug in gcc 4.9 regarding register allocation. Will reland when 4.9 is fixed. Change-Id: I2d8a04e4edde93719280e41550f4c0765608ec4d
2014-05-12Only build neon assembly for armv7 targetsJohann
Allow selectively building just the intrinsics for armv8 Change-Id: I2f29b2e4508b8b8e5649c2906b3159ad1d4ec477
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-07Merge "Revert "VP8 for ARMv8 by using NEON intrinsics 10""Johann
2014-05-07Merge "arm: Use a correct neon vector type for 64 bit integers"Johann
2014-05-07arm: Add a no-op define of __builtin_prefetch for MSVCMartin Storsjo
Both GCC and RVCT/ARMCC support __builtin_prefetch, but MSVC doesn't. Change-Id: I44e1eecead61bc88d8fdfd3fef03d76d4f5afe08