summaryrefslogtreecommitdiff
path: root/vp8
AgeCommit message (Collapse)Author
2016-07-01vp8/common/reconintra4x4.c: add missing includeJames Zern
quiets -Wmissing-prototypes warning BUG=b/29584271 Change-Id: I806e3475ebee579dce0073dd1784a7c2899e7de0
2016-06-29Merge "Remove effectless initialization"Yaowu Xu
2016-06-28Remove effectless initializationYaowu Xu
Change-Id: Iec117841a7ecf6f99d2b718057d8646e221c5c64
2016-06-27*.asm: normalize label formatJames Zern
add a trailing ':', though it's optional with the tools we support, it's more common to use it to mark a label. this also quiets the orphan-labels warning with nasm/yasm. BUG=b/29583530 Change-Id: I46e95255e12026dd542d9838e2dd3fbddf7b56e2
2016-06-24Port metric computation changes from nextgenv2Yaowu Xu
Change-Id: I4aceffcdf7af59ffeb51984f0345c3a4c7e76a9f
2016-06-23vp8 machine setup: mark unused variableJohann
When building without multithreading and for a non-arm, non-x86 system, ctx is unused. Cleans up -Wextra warning: unused parameter ‘ctx’ [-Werror=unused-parameter] Change-Id: Ifddff89d2ebd45f7d71e3d415a8f2415dd818957
2016-06-23vp8 realtime encoder: mark unused variableJohann
'duration' is not used in realtime-only mode: Cleans up -Wextra warning: unused parameter 'duration' [-Wunused-parameter] Change-Id: I827dfe59ebcdc72c5a93fdf7e5aca063433914b1
2016-06-22vp8 error concealment: remove unused variablesJohann
vp8_conceal_corrupt_mb is an empty function. Remove it entirely. Cleans up -Wextra warnings: unused parameter 'mi_stride' [-Wunused-parameter] unused parameter 'xd' [-Wunused-parameter] Change-Id: Idca7ef4508fae2b4b76a40d44507522a72ccc2c8
2016-06-17Output frames in first pass for VPX_DL_REALTIME.Tom Finegan
Since combining VPX_DL_REALTIME with VPX_RC_FIRST_PASS is basically nonsense, ignore the user's pass setting when this happens and behave as if the requested encode is a single pass encode. BUG=webm:1233 Change-Id: I5ee4c4e5838c4ca6d24988890aae490b10826db2
2016-06-17Merge "vp8: correct function return types"Johann Koenig
2016-06-17Merge "VP8_COMP: make frames_since_golden signed"Johann Koenig
2016-06-16Merge "vp8_[cd]x_iface.c: Initialize structures to 0"Johann Koenig
2016-06-16Merge "vp8 stats file: initialize to 0"Johann Koenig
2016-06-16vp8_[cd]x_iface.c: Initialize structures to 0Johann
Use vp8_zero() or specify every element. Cleans warning in Android build: missing field 'deblocking_level' initializer vp8_ppflags_t flags = {0}; ^ missing field 'sz' initializer {0}, /* rc_twopass_stats_in */ ^ missing field 'sz' initializer {0}, /* rc_firstpass_mb_stats_in */ ^ missing field 'layer_target_bitrate' initializer }}, ^ missing field 'deblocking_level' initializer vp8_ppflags_t flags = {0}; ^ missing field 'mr_get_mem_loc' initializer } ^ Change-Id: Iaedde9a77faac7a40316aee67d60d02ba7313500
2016-06-16VP8_COMP: make frames_since_golden signedJohann
This value is signed in vp9/10 Cleans warning in Android build: comparison of integers of different signs: 'unsigned int' and 'int' if (cpi->frames_since_golden == (cpi->current_gf_interval >> 1)) ~~~~~~~~~~~~~~~~~~~~~~~~ ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Change-Id: Ie137724982f3a46c8c1820548c1960d62a4e96f2
2016-06-16vp8: correct function return typesJohann
left_above_mv and above_block_mv return as_int as_int is defined as uint32_t in vp8/common/mv.h Cleans up -Wextra warnings: signed and unsigned type in conditional expression this_mv->as_int = col ? d[-1].bmi.mv.as_int : left_block_mv(mic, i); ^ this_mv->as_int = row ? d[-4].bmi.mv.as_int : above_block_mv(mic, i, mis); ^ left_mv.as_int = col ? d[-1].bmi.mv.as_int : ^ Change-Id: Ia043764e4ce93d2152d2269b1c7b28b5d5f814cf
2016-06-16Merge "vp8_change_config: fix unsigned/signed comparison"Johann Koenig
2016-06-16vp8 stats file: initialize to 0Johann
Cleans up -Wextra warning: missing initializer for field ‘intra_error’ of ‘FIRSTPASS_STATS’ Change-Id: I42c1413234aba207f8e89f2e040e14a81bca511e
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-16Fix ubsan warning: vp8/encoder/denoising.cYaowu Xu
BUG=webm:1219 Change-Id: Iebdedfb27c70909c0849e169473a2a3ec9f58cc7
2016-06-16Fix ubsan warning: vp8/encoder/onyx_ifcYaowu Xu
BUG=https://bugs.chromium.org/p/webm/issues/detail?id=1219 Change-Id: I4362a1cf79fdcb478b29ddbcdf8091c5f5d10645
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