summaryrefslogtreecommitdiff
path: root/vp8
AgeCommit message (Collapse)Author
2016-06-16vp8_change_config: fix unsigned/signed comparisonJohann
Use ~15 instead of 0x..F0 Cleans warning in Android build: comparison of integers of different signs: 'unsigned int' and 'int' if (((cm->Width + 15) & 0xfffffff0) != ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^ comparison of integers of different signs: 'unsigned int' and 'int' ((cm->Height + 15) & 0xfffffff0) != ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^ Change-Id: Iac25839cde3425b7b9db7f33740dc46a551b7546
2016-06-15Merge "Match prev_ to number_of_layers"Johann Koenig
2016-06-14Use data size directly instead of recomputing.Johann
Cleans warning in Android build: comparison of integers of different signs: 'unsigned int' and 'int' int n = (int)VPXMIN(sizeof(clear_buffer), data_end - data); ^ ~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~ Change-Id: I964355ceae6b39e22c0196294b25e28387f84945
2016-06-14Match prev_ to number_of_layersJohann
Defined as unsigned in VP8_CONFIG Cleans warning in Android build: comparison of integers of different signs: 'unsigned int' and 'int' if (cpi->oxcf.number_of_layers != prev_number_of_layers) ~~~~~~~~~~~~~~~~~~~~~~~~~~ ^ ~~~~~~~~~~~~~~~~~~~~~ Change-Id: I969e64cd2bfda6e61c564476dbd35b892b177646
2016-06-14Active map and ROI map use unsigned rows/colsJohann
The vpx_roi_map_t and vpx_active_map_t structures use unsigned rows and cols but VP8_COMMON uses signed values for mb_rows and mb_cols. Cleans warning in Android build: comparison of integers of different signs: 'int' and 'unsigned int' if (cpi->common.mb_rows != rows || cpi->common.mb_cols != cols) ~~~~~~~~~~~~~~~~~~~ ^ ~~~~ comparison of integers of different signs: 'int' and 'unsigned int' if (cpi->common.mb_rows != rows || cpi->common.mb_cols != cols) ~~~~~~~~~~~~~~~~~~~ ^ ~~~~ comparison of integers of different signs: 'unsigned int' and 'int' if (rows == cpi->common.mb_rows && cols == cpi->common.mb_cols) ~~~~ ^ ~~~~~~~~~~~~~~~~~~~ comparison of integers of different signs: 'unsigned int' and 'int' if (rows == cpi->common.mb_rows && cols == cpi->common.mb_cols) Change-Id: If1f118c20ffefd2530fbd371e6787cc8a6c31f0a
2016-06-14Make new_qc signedJohann
Mode is signed Cleans warning in Android build: comparison of integers of different signs: 'int' and 'unsigned int' if (ctx->oxcf.Mode != new_qc) ~~~~~~~~~~~~~~ ^ ~~~~~~ Change-Id: I5cf81c40b103e688a31e1339511f5c9eb27edd38
2016-06-07Merge changes I999ef597,Ic6dc9f53Johann Koenig
* changes: configure: Add -mstackrealign flags to CFLAGS on OS/2 vpx: Add OS/2-specific threading codes
2016-06-02firstpass.c: fix an UBSAN/IOC errorYaowu Xu
Change-Id: I579286e6741b689ae4281a35beb7b8f95c3ffce5
2016-06-01Fix VP8 encoder UBSAN/IOC errorsYaowu Xu
1. vp8/decoder/dboolhuff.c 2. vp8/decoder/dboolhuff.h 3. vp8/encoder/bitstream.c 4. vp8/encoder/boolhuff.h 5. vp8/encoder/rdopt.c BUG=https://bugs.chromium.org/p/webm/issues/detail?id=1218 Change-Id: I5d315d63fd7aeaee6f3bd79178e593f3db38a6b1
2016-05-22vpx: Add OS/2-specific threading codesKO Myung-Hun
With correction of a type of a thread function for new threading codes. Change-Id: Ic6dc9f530698800d1cfe2da327848e8f8b62e31f
2016-05-19vp8/error_concealment: remove shift of negative valueJames Zern
fixes: shifting a negative signed value is undefined [-Wshift-negative-value] Change-Id: I3a55f2dac7c51c0e264d40081ffce98e2abacb89
2016-05-11Merge "Added a measure of rc drift."Yaowu Xu
2016-05-11Added a measure of rc drift.paulwilkins
Added actual and absolute rate miss values to the opsnr.stt stats output line. Changes to the borg graphing may be needed before merge. Change-Id: I1e9d548ce445d29002f0c59ebfd3957a6f15e702
2016-05-09Merge "Alignment is required for sad_array8"Johann Koenig
2016-05-09Alignment is required for sad_array8Johann
For at least some of the implementations of sdx8f, such as vpx_sad4x4x8_sse4_1, aligned moves are used to move the results into the array. Change-Id: I83df5a8e657b44e906d0d8b0bc154f1e5660f7f9
2016-05-06Remove sixtap/bilinear 4x4 neon implementationsJohann
These implementations rely on casting the pointers to load the data. Clang implemented optimizations which automatically add alignment hints to such loads. The 4x4 filters do not guarantee the necessary alignment so the resulting assembly is broken. https://llvm.org/bugs/show_bug.cgi?id=24421 BUG=webm:817 BUG=webm:892 Change-Id: I608885299f1f86ff83653b65e0e40d0ae87fb3fe
2016-05-03Merge "Move vpx_add_plane from codec to vpx_dsp and dedup."James Bankoski
2016-05-02Move vpx_add_plane from codec to vpx_dsp and dedup.Jim Bankoski
Change-Id: I12218d8331c0558c0587a66321e3ca46da7e5cc7
2016-04-27Avoid an unsigned overflow in invert_quantAlex Converse
Change-Id: I16a570b2af66b6580d1cd6f8345a25f079009bf4
2016-04-26vp8: Adjust consec_zeromv thresholds for skin detection.Marco
Change-Id: Iab5aed7bf86538352232e208bce58c3528cc9a4e
2016-04-19vp8: Update on sum_diff_threshold.Marco
Reset to previous values. Change-Id: Ia49bafc1d1ec5f657819ffba04d11fd701f315e8
2016-04-04vp8-denoiser: Avoid doing the mcomp if we don't denoise.Marco
Avoid doing the mcomp in denoiser if we don't denoise the block (because of motion/SSE/skin threshold, etc). This can reduce encoding time (with denoiser enabled) by ~1.5-2%. Change-Id: Ia699b68dfd37b89cdf3a82b8aa40e8c8f98a3d4f
2016-04-01vp8 denoiser: Some adjustments to usage of skin and motion.Marco
Switch to use new skin model. And fix condition for denoising skin block. Previous condition did not denoise skin blocks if the selected mode was non-zero motion in current frame. Modify condition to also force no denoising if that mode was not selected as zero motion now and for at least "x" past frames in a row (x = 2). Change-Id: I00753e3fe45b9a308a7ef43c58f11868e3bfc6b0
2016-03-30Merge "vp8_peek_si_internal: quiet static analysis warning"James Zern
2016-03-25vp8_peek_si_internal: quiet static analysis warningJames Zern
the vpx_decoder layer guarantees that when called directly this won't receive NULL data and the reuse via decode() is protected by a NULL data check and 0 size check (NULL data and non-zero data size is protected by the vpx_decoder layer). Change-Id: I7437fb5ca4e4aa431963d55b909d4d920f339be3
2016-03-24vp8-denoiser: Use the same skin detection for model=1 as in vp9.Marco
Keep setting for model = 0 for now in vp8. Change-Id: I79c5fa24d5d16b14651f44db9526aa01dbd70ec9
2016-03-22Merge "Simplify the loopfilter synchronization logic in VP8 encoder"Yaowu Xu
2016-03-22Simplify the loopfilter synchronization logic in VP8 encoderYunqing Wang
This patch was to fix a reported Hangouts deadlock/freezing issue in VP8 encoder(issue 27232610). The original encoder loopfilter synchronization happened in the following frame, which was prone to causing problems in some complex use cases. This patch simplified the synchronization logic. More testing needs to be done. Change-Id: I38fd3f35d11f98fae1e44546aa5e4c6d6e19c4be
2016-03-18vp8-denoiser: Update on the sum_diff threshold.Marco
Change-Id: I0d459c7ba358da287aff1c706279603d6d4d3c48
2016-02-27Merge "vp8-denoiser: Update some denoiser thresholds."Marco Paniconi
2016-02-17vp8_dx_iface: add missing alloc checksJames Zern
Change-Id: Id9f4022b0cb4b5d0b3dd8759fd491da4e2ba5cb1
2016-02-17vp8/onyx_if: add missing alloc checksJames Zern
Change-Id: I9b0aa340518f45e16fa9754afd87347aabf968d7
2016-02-17vp8/denoising: add missing alloc checkJames Zern
Change-Id: I51ede902cd9d7bafa41f7caa3f9adf77f9df5903
2016-02-17vp8-denoiser: Update some denoiser thresholds.Marco
Change-Id: I67090d72c0fefd3105ac380415249599e053d3bd
2016-02-05vp8: fix build with mingw+pthreadsJames Zern
Change-Id: Icc34a00759c95b7b8ac356cdcc4adae848b61431
2016-01-30Merge changes If13946e4,I61a1814d,I2ca9aa3c,I44d91eaaJames Zern
* changes: intrapred: protect functions w/CONFIG check vp9_noise_estimate: protect copy_frame w/CONFIG check vp8_cx_iface: delete 3 unused functions vp8: mark intra_prediction_down_copy inline
2016-01-28vp9/10: fix encoder crash on flushJames Zern
the lookahead buffer allocation is deferred to receipt of the first frame to allow profile changes. if the encoder was flushed before supplying any frames the encoder would crash trying to dereference the NULL buffer. vp8 is unaffected. fixes mozilla bug: https://bugzilla.mozilla.org/show_bug.cgi?id=1237848 Change-Id: Icee4b64de760476eee0d33b568f0a1010335ff13
2016-01-28VPX skin map improvement.JackyChen
Use multiple clusters instead of one and decrease the distance thresholds. Add a define to switch between models. Default is set to existing (1 cluster) model. Change-Id: I802cd9bb565437ae8983ef39453939f5d5073bb1
2016-01-26vp8_cx_iface: delete 3 unused functionsJames Zern
vp8e_update_entropy, vp8e_update_reference, vp8e_use_reference have been unused since: a046f56 vp8cx: remove deprecated reference/entropy controls Change-Id: I2ca9aa3c3f1a209a534a1492432b16852e3d8629
2016-01-26vp8: mark intra_prediction_down_copy inlineJames Zern
avoids -Wunused-function warnings when INLINE is set Change-Id: I44d91eaa7efba7bc2427501fb9f63a93f32aaa7f
2016-01-26Fix a clang/win build errorYunqing Wang
Made the definition of THREAD_FUNCTION consistent. Change-Id: I1ac099484e201e359298ed16de0b81ec781075ce
2016-01-20vp8-denoiser: Fix threshold for skin map.Marco
Make it consistent with the comment/intended behavior, that is, only denoise if current block is zero_mv. Change-Id: I3909761e802e80089752a493ab3646dc32698ded
2016-01-20Remove duplicate definitionsYaowu Xu
This fixes the build errors with msvc. Change-Id: Ie2716e4c15a1bacfb00a8d41ec3283d718af88fc
2016-01-08Amend and improve VP8 multithreading implementationYunqing Wang
There are flaws in current implementation of VP8 multithreading encoder and decoder as reported in the following issue: https://code.google.com/p/chromium/issues/detail?id=158922 Although the data race warnings are harmless, and wouldn't cause real problems while encoding and decoding videos, it is better to fix the warnings so that VP8 code could pass the TSan test. To synchronize the thread-shared data access and maintain the speed (i.e. decoding speed), use multiple mutexes based on mb_rows to reduce the number of synchronizations needed, make the reads and writes of the shared data protected, and reduce the number of mb_col writes by nsync times. The decoder speed tests showed < 3% speed loss while using 2 ~ 4 threads. Change-Id: Ie296defffcd86a693188b668270d811964227882
2015-12-09Merge "vp8: fix loop filter level clamping"James Zern
2015-12-03vp8: fix loop filter level clampingJames Zern
the loop filter level is transmitted as 6-bits + sign so needs to be clamped in the delta + absolute case. BUG=https://bugzilla.mozilla.org/show_bug.cgi?id=1224363 Change-Id: Icbdca4fdbf043466429bd5c9d59dbe913bf153bc
2015-12-03vp8: fix quantizer clampingJames Zern
the quantizer is transmitted as 7-bits + sign so needs to be clamped in the delta + absolute case. BUG=https://bugzilla.mozilla.org/show_bug.cgi?id=1224361 Change-Id: I9115f5d1d5cf7e0a1d149d79486d9d17de9b9639
2015-10-20Merge "vp10: add extended-intra prediction edges experiment."Ronald S. Bultje
2015-10-16vp8cx: remove deprecated reference/entropy controlsJames Zern
VP8E_UPD_ENTROPY, VP8E_UPD_REFERENCE and VP8E_USE_REFERENCE have been deprecated since the initial public release Change-Id: Ied16b441eec13434d85f1ab115d49ccaf5f2f7b0
2015-10-16vp10: add extended-intra prediction edges experiment.Ronald S. Bultje
This experiment allows using full above/right edges for all transform sizes whenever available (for d45/d63), and adds bottom/left edges for d207. See issue 1043. Change-Id: I5cf7f345e783e8539bb6b6d2c9972fb1d6d0a78b