summaryrefslogtreecommitdiff
path: root/vp8
AgeCommit message (Collapse)Author
2015-05-14vp8/rdopt.h+onyx_int.h: add some missing prototypesJames Zern
silences missing prototype warnings Change-Id: Icd477e37b502205d0a60e7389e51b1ba17d8888e
2015-05-14vp8: add some missing includesJames Zern
silences missing prototype warnings Change-Id: Ib62e4743532b871e63bc99732875fff20501b8ac
2015-05-14vp8: make some functions staticJames Zern
silences missing prototype warnings Change-Id: I9f24a3214c832c982ca0dc5a032316eba48472ff
2015-05-14vp8/common/variance*: add vp8_rtcd includeJames Zern
silences missing prototype warnings Change-Id: I5ca198b56a5ff0cf5b93c89957526f243c04e9c8
2015-05-14vp8_copy32xn: sync function signatureJames Zern
+ include vp8_rtcd.h in copy_c.c silences missing prototype warnings Change-Id: Iecc279c695b08a26b231dedb41e3b84c551703f3
2015-05-07Merge "Remove only remaining uses of 'fast_unaligned'"Johann
2015-05-07Remove only remaining uses of 'fast_unaligned'Johann
Use memcpy instead of casting. Change-Id: Ieca725cc628883985bde23c7d742af8781c5dbb5
2015-05-07replace DECLARE_ALIGNED_ARRAY w/DECLARE_ALIGNEDJames Zern
this macro was used inconsistently and only differs in behavior from DECLARE_ALIGNED when an alignment attribute is unavailable. this macro is used with calls to assembly, while generic c-code doesn't rely on it, so in a c-only build without an alignment attribute the code will function as expected. Change-Id: Ie9d06d4028c0de17c63b3a27e6c1b0491cc4ea79
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_memsetJames Zern
vestigial. replace instances with memset() which they already were being defined to. Change-Id: Ie030cfaaa3e890dd92cf1a995fcb1927ba175201
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-28vpx_mem: remove vpx_memmoveJames Zern
vestigial. replace instances with memmove() which they already were being defined to. Change-Id: If396d3f9e3cf79c0ee5d7429615ef3d6b2a34afa
2015-04-15Reorganize *_rtcd() calling conventionsJohann
Change-Id: Ib1e17d8aae9b713b87f560ab5e49952ee2bfdcc2
2015-04-03vp8_regular_quantize_b_sse2: remove dead initJames Zern
Change-Id: Ide5eefadbb3cab38743a69f744a003abb37a6506
2015-04-03vp8cx_pick_filter_level*: remove dead initsJames Zern
Change-Id: I28026b86d03264b9f4e2fc8ac1d3c74aa3954208
2015-04-03vp8_decode_frame: remove dead incrementJames Zern
Change-Id: Ie9a6fac02796d24e6f4a15416d0b4c19010547df
2015-04-03rdopt: remove dead storesJames Zern
Change-Id: Ia8a20c6751cc6d63c60bb00b99c78faca1e61051
2015-04-03find_next_key_frame: remove dead init & storeJames Zern
Change-Id: I8c7f5b9718ef14e4397a263aa9f52a9edcf7d1cd
2015-04-03multiframe_quality_enhance_block: remove dead storesJames Zern
Change-Id: I33ca9cddfdd54c3d8a23c1cb978986a537a20bf2
2015-04-03vp8_print_modes_and_motion_vectors: remove dead storesJames Zern
Change-Id: I438cbf4970fa2220fb73b0b41a29e654836d4e3b
2015-04-02Remove PPC build supportJohann
There are no functional optimizations for AltiVec/PPC Change-Id: I6877a7a9739017fe36fc769be22679c65ea99976
2015-03-26Remove duplicate code from mergeJohann
Change-Id: I5e2a1270001b7e29f3f198d57ea40e1efccef367
2015-03-20vp[89]_cx_iface.c: remove obsolete ABI checksJames Zern
Change-Id: I49a7017e8adc18ff03d748cb328814a8a3e1bcf6
2015-03-19vp8: fix a bug in the internal PSNR calculationYunqing Wang
While CONFIG_INTERNAL_STATS=1, PSNR is calculated while encoding. The aligned width/height were used mistakenly in the calculation. This patch fixed it, and used the orignal image width/height. Change-Id: Iad5334f8693af761b71ebb78f2587db8a3404ecf
2015-03-18Remove last remnants of obj_int_extractJohann
Change-Id: Icc7da6027763b5ed7cbfe70ffe271103ead59fe1
2015-02-12Add missing initializer to VP8 codec interfaceAdrian Grange
Change-Id: Ia164ba03fb732e9c9e520e4aa2d75b7eadff6165
2015-02-03Use correct buffer size in vp8 subpixel varianceJohann
In vp8_sub_pixel_variance8x8_neon the temp2 buffer is only initialized to kHeight8 * kWidth8. However, in the case that xoffset != 0 and yoffset == 0, var_filter_block2d_bil_w8 is called with output_width kHeight8PlusOne. Thanks to cmugurel for diagnosing and yulius for the patch. Change-Id: Ib71ffd96ffad963c92b8b7ca23f303942785b8e0 https://code.google.com/p/webrtc/issues/detail?id=4190
2015-01-29Explicitly include vp8_rtcd.hJohann
When referencing RTCD functions make sure the relevant header file is included. Change-Id: Ia0d7112d4aff9b4d8fa94648f0702371b7484031 https://code.google.com/p/webm/issues/detail?id=937
2015-01-27vp8enc: Prevent out of bounds memory access.Alex Converse
Prevent out of bounds access when attempting to increase frame size Change-Id: I710c40c692802a72963c9680c2125da17f9060a9
2015-01-12vp8: Fix to crash in pick_inter.Marco
Added unittest that triggers the crash without this fix. Issue: https://code.google.com/p/webm/issues/detail?id=911 Change-Id: If5208ceb210c821891675fdf3d9951ab83d52ae6
2015-01-05Return error on wrong sync codeYaowu Xu
Not initialize codec stream info This fixes vp8 fuzzing issue reported at build #56 Change-Id: I307ac839b4f4bda3a02a551019c0d688dba19c86
2014-12-21Revert "remove vp8 unused uvstride parm in simple loop filter"Jim Bankoski
This reverts commit 392a2c43c77242f05715bdac086f235e6cbbdf2e Failing nexus build tests: http://build.chromium.org/p/client.libvpx/builders/Nexus%207%20Builder/builds/224 Change-Id: I95ae2c894b70cef9c757334fcab7fdeca9003e9c
2014-12-21Merge "remove vp8 unused uvstride parm in simple loop filter"Jim Bankoski
2014-12-16Silence -Werror=unused-parameterJohann
Cast away remaining issues so that new ones don't get lost in the noise. Change-Id: Iacd6999b0686ce80f9835730d68db6382690fa92
2014-12-12Fix a bug that break the vp8 fragment decoder.hkuang
(issue #882). Change-Id: I2ca7f96d390c4eaec0473c50cb01b903d0bd3ee6
2014-12-03Various updates to vp8.Marco
Change-Id: Icc7a816491897107764e4c936288e9000e6319b8
2014-11-20Correctly initialize "ones" value in neon quantizeJohann
By using 0xff for a short it was not setting the high bits. When comparing the output with vtst to find non-zero elements it was skipping vaules which had no low bits set such as -512 / 0xFE00. Using -8191 as the first element of coeff will generate this condition. BUG=883 Change-Id: Ia1e10fb809d1e7866f28c56769fe703e6231a657
2014-11-06Remove asm offset dependenciesJohann
The obj_int_extract code is no longer worth maintaining. It creates significant issues when adapting for different build systems and no longer offers as significant of a performance benefit due to improvements in intrinsics. Source files will remain until the various third-party builds are updated. The neon fast quantizer has been moved to intrinsics. The armv6 version has been removed because so few remaining targets require it. Compilers and processors have improved significantly since the pack_tokens code was written. The assembly is no longer faster than the C code. pack_tokens were the only optimizations for the armv5te targets so the targets will be removed after the test infrastructure has been updated. BUG=710 Change-Id: Ic785b167cd9f95eeff31c7c76b7b736c07fb30eb
2014-11-04Merge "Remove pair quantization"Johann
2014-11-04Merge "vp8 quantization -> intrinsics"Johann
2014-11-04Avoid divide-by-zero in vp8 initializationJohann
Check that the numerator is not zero. If it is, guess 30fps. Fixes a clang IOC error in the quantize test. It's very unlikely for this to occur in the wild because the setup in the quantize test is very nonstandard. Change-Id: Icdab7b81d4e168d3423e14db20787f960052e0c3
2014-10-31Remove pair quantizationJohann
The intrinsics version of the pair quant is slower than running it individually. Change-Id: I7b4ea8599d4aab04be0a5a0c59b8b29a7fc283f4
2014-10-31vp8 quantization -> intrinsicsJohann
Use intrinsics for neon quantization. Slight loss (<5%) of performance compared to the assembly. Roughly 10x faster on arm64 because that was running C code before. Change-Id: I7cf5242d8f29b7eab5bca6a1c20c89c9fc9ca66d
2014-10-24vp8: Updates to noise level estimate.Marco
-Use full bandwidth (when temporal layers is on) for checking switching. -Normalize metric wrt num_blocks. -Rounding fix to update of average noise level metric. -Make default internal denoiser mode == kDenoiserOnYUV (in denoiser set_parameters()). -Adjust some thresholds. Change-Id: Ib827512b25a7bf1f66c76d3045f3a68ce56b1cd2
2014-10-22Merge "vp9_denoiser_sse2.c: improve code style."JackyChen
2014-10-22vp9_denoiser_sse2.c: improve code style.JackyChen
denoiser_sse2.c: fix typos in comment. Change-Id: Ic0fb102331b0e533c058da3cab1fbc30de9a0070
2014-10-22vp8: Update to computation of noise level.Marco
Avoid unneeded computation of mse in process_denoise. Change-Id: I3a538178f2d138750d0c38ea4dd05dbbc2b7df41
2014-10-17Updates to aggressive denoising mode.Marco
Fix to the noise level and bitrate threshold settings per resolution. Change-Id: I25524b7f78afa1aeb76edef7be13c17bc8976508
2014-10-13Resolves some lint errorsDeb Mukherjee
And also fixes some style consistency issues. Change-Id: I3dc6d44e17d2d6075dc9b02c4255a7395046c5e0
2014-10-08vp8: Suppress denoising with respect to old reference frames.Marco
If the GOLDEN or ALTREF frame was last updated > x frames in the past, don't use them for denoising (only consider LAST). Using an old reference frame for denoising, e.g., if it is a long-term reference or the last key frame, can cause some visible artifacts, in particular in the aggressive denoising mode. Change-Id: I239c9fbb092c36cba7e95328f1fa67a58d6a7ed9