summaryrefslogtreecommitdiff
path: root/vp8/encoder
AgeCommit message (Collapse)Author
2015-09-09vp8: Small adjustment to cyclic_refresh max_mbs_perframe.Marco
For 3 temporal layers, reduce somewhat the cyclic_refresh_mode_max_mbs_perframe parameter, from 20% to ~14%. Small increase in PSNR/SSIM metrics. Change-Id: Ia216fa5474048f1ef7fe3db88cd60dfef2a1bf8a
2015-09-08Remove some trailing whitespacesDebargha Mukherjee
Change-Id: Icf06d35ca347713253d1eba341a894b51efa81a9
2015-09-01Only build multithreaded functions on mt builds.Johann
Change-Id: I2e0cc72a0543bfea1d2d3499b9906519d5cb3f15
2015-08-31Include vpx_dsp_common.h when using VPXMIN/MAXJohann
Change-Id: I2e387a06484a06301f3cd6600c4ba2f4335b61ee
2015-08-28Merge "vp8: modifcatiion to skin map computation."Marco Paniconi
2015-08-27vp8: use VPX(MIN|MAX) from vpx_dsp_common.hJames Zern
remove MIN/MAX defines in vp8/common/common.h Change-Id: I41520f34af175e05b263ebd12198f4de29a967db
2015-08-26Clean up unused function warnings in vp8 encoderJohann
Mark rdopt.h and treewriter.h functions with INLINE. Change-Id: Ib81168a709d09dfba7de16c596133310e04c6656
2015-08-26Clean up unused function warnings in vp8 onyx_if.cJohann
Remove really unused segmentation_test_function Hide decide_key_frame and recode_loop_test under non-realtime check. Change-Id: Ie0113945ffbd096dbb89a553548f526b2a0ee0c6
2015-08-25Limit new motion vector sizeYaowu Xu
This commit adds clamp of new vectors similar to the logic in RD loop. Such clamp is not necessary from the perspective of VP8 bitstream, but is added to improve ChromeCast mirroring's robustness. Change-Id: I42f6adbc60ffce283b994869364230858632d6fa
2015-08-24vp8: modifcatiion to skin map computation.Marco
For each block in pickinter: use average of four middle pixels (instead of single pixel) to set skin map. This can help a little in reducing false skin detection in some cases. Change-Id: Ic247af75e9c2948b08ab977a39e061adacd8ec97
2015-08-18Rename vp8 quantize.cJohann
Move it to vp8_quantize.c and make sure to use the full path for all vp8 includes of quantize.h Change-Id: I284651ff681707385f4924ea7db1541905c1624a
2015-08-07Replace VP8 SSIM with VP9 derived vpx_dsp SSIM.Alex Converse
Change-Id: Ic61f30af12d1b01c1d5adc4e08bc20e20ad38027
2015-08-01mips msa vp8 denoising filter optimizationParag Salasakar
average improvement ~2x-3x Change-Id: I6c17012c731fa4d56e0343f8de0df47b2dde289b
2015-07-31mips msa vp8 temporal filter optimizationParag Salasakar
average improvement ~2x-3x Change-Id: I05593bed583234dc7809aaec6cab82773a29505d
2015-07-31mips msa vp8 block subtract optimizationParag Salasakar
average improvement ~2x-3x Change-Id: I30abf4c92cddcc9e87b7a40d4106076e1ec701c2
2015-07-30mips msa vp8 quantize optimizationParag Salasakar
average improvement ~2x-3x Change-Id: I6fc37191bf9cb5a67e1af9787d0d27659c17bdba
2015-07-30mips msa vp8 fdct optimizationParag Salasakar
average improvement ~2x-4x Change-Id: Id0bc600440f7ef53348f585ebadb1ac6869e9a00
2015-07-07Use 'unsigned long' for _BitScanReverse parameterJohann
New clang warnings in chromium reveal an incompatible pointer being passed. Change-Id: I0d893993726ecf899f467c16175bfb8c76329731 https://code.google.com/p/chromium/issues/detail?id=504696
2015-07-07Move sub pixel variance to vpx_dspJohann
Change-Id: I66bf6720c396c89aa2d1fd26d5d52bf5d5e3dff1
2015-07-07Unify subtract function used in VP8/9Jingning Han
This commit replaces the vp8_ prefixed subtract function with the common vpx_subtract_block function. It removes redundant SIMD optimization codes and unit tests. Change-Id: I42e086c32c93c6125e452dcaa6ed04337fe028d9
2015-07-06Move subtract functions from vp9 to vpx_dspJingning Han
Factor out the subtraction operator as common function. Change-Id: I526e703477c6a290e0e3e3c8898f8bb1ca82779b
2015-05-26Merge "Move variance functions to vpx_dsp"Johann
2015-05-26Move variance functions to vpx_dspJohann
subpel functions will be moved in another patch. Change-Id: Idb2e049bad0b9b32ac42cc7731cd6903de2826ce
2015-05-21Fix to visual studio build error.Marco
Change-Id: Ide080141ebc064584574c861fb324fe64cc572cc
2015-05-20vp8_drop_encodedframe_overshoot: fix to return setting.Marco
Make sure force_maxqp is set to 0 for return 0. Change-Id: Ie7c57842637226e932a390e7080e5ebb99996da3
2015-05-19VP8: For high overshoot, force drop frame and max-out QP.Marco
This allows rate control to react to content of current frame being encoded. Enabling this feature via the setting: screen_content_mode = 2. Change-Id: Ib2c6670551d96f4907495d5b7b76bb8c49e673db
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-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-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-03rdopt: remove dead storesJames Zern
Change-Id: Ia8a20c6751cc6d63c60bb00b99c78faca1e61051
2015-04-03find_next_key_frame: remove dead init & storeJames Zern
Change-Id: I8c7f5b9718ef14e4397a263aa9f52a9edcf7d1cd
2015-04-02Remove PPC build supportJohann
There are no functional optimizations for AltiVec/PPC Change-Id: I6877a7a9739017fe36fc769be22679c65ea99976
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-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
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-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