summaryrefslogtreecommitdiff
path: root/vp8/decoder
AgeCommit message (Collapse)Author
2016-09-29Remove vp8_clear_system_stateJohann
Use vpx_clear_system_state instead. Change-Id: Ia3e9122f69a2c690ddd7c7bc54f92ccb9ec18b3e
2016-09-15apply clang-formatclang-format
Change-Id: I501597b7c1e0f0c7ae2aea3ee8073f0a641b3487
2016-09-13vp8 decoder: cast decoding_thread_count to intJohann
For some reason allocated_decoding_thread_count is signed, but decoding_thread_count is not. Cleans -Wextra/-Wsign-compare: comparison between signed and unsigned integer expressions Change-Id: Id0ada78100acff27c1c4ed7493c563d13c55cdcd
2016-08-31Remove CONFIG_DEBUG guards from assert()Johann
When 'NDEBUG' is set, assert() generates no code. Change-Id: Icf61cfc1a8f6e5f0770b3626d8c73ae968df1108
2016-08-23vp8_decoder_create_threads: check sem/pthread returnsJames Zern
Change-Id: I353da4a2f988ca51d48d0ca91236e8cc0bb48ff5
2016-08-23vp8_create_decoder_instances: add missing setjmpJames Zern
vp8_decoder_create_threads() has allocations that expect one is set. Change-Id: I423f2153a2969c88d48ba45cc9ead4a01443ce65
2016-07-23vp8/decodeframe: fix signed/unsigned comparisonJames Zern
quiets a visual studio warning Change-Id: Ic7725616bc2cb837e6f79294d4fcff36b67af834
2016-07-23vp8:fix threading issuesJim Bankoski
1 - stops de allocating before threads are closed. 2 - limits threads to mb_rows when mb_rows < partitions BUG=webm:851 Change-Id: I7ead53e80cc0f8c2e4c1c53506eff8431de2a37e
2016-07-21Revert "Amend and improve VP8 multithreading implementation"Yunqing Wang
Reverted the patch because of possible performance issue. Change-Id: I49944f827ccd38ed194c9f8d9cb9036fa9bf79e1
2016-07-19vp8: apply clang-tidy google-readability-braces-around-statementsclang-tidy
applied against an x86_64 configure clang-tidy-3.7.1 \ -checks='-*,google-readability-braces-around-statements' \ -header-filter='.*' -fix + clang-format afterward Change-Id: I6694edeaee89b58b8b3082187e6756561136b459
2016-07-18prepend ++ instead of post in for loops.Jim Bankoski
Applied the following regex : search for: (for.*\(.*;.*;) ([a-zA-Z_]*)\+\+\) replace with: \1 ++\2) This misses some for loops: ie : for (mb_col = 0; mb_col < oci->mb_cols; mb_col++, mi++) Change-Id: Icf5f6fb93cced0992e0bb71d2241780f7fb1f0a8
2016-07-15vp8: apply clang-formatclang-format
Change-Id: I7605b6678014a5426ceb45c27b54885e0c4e06ed
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-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-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-19vp8/error_concealment: remove shift of negative valueJames Zern
fixes: shifting a negative signed value is undefined [-Wshift-negative-value] Change-Id: I3a55f2dac7c51c0e264d40081ffce98e2abacb89
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-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-09-30vp8: change build_intra_predictors_mby_s to use vpx_dsp.Ronald S. Bultje
Change-Id: I2000820e0c04de2c975d370a0cf7145330289bb2
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 decoderJohann
Mark functions in dboolhuff.h and treereader.h with INLINE. Change-Id: Ifc1008de0713c8d43f4fec83a8c2b836622be365
2015-07-29Add const to a variable declarationYaowu Xu
Change-Id: Idf572c22a87098665f5179dc3212a06d9a85a342
2015-05-14vp8: make some functions staticJames Zern
silences missing prototype warnings Change-Id: I9f24a3214c832c982ca0dc5a032316eba48472ff
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-03vp8_decode_frame: remove dead incrementJames Zern
Change-Id: Ie9a6fac02796d24e6f4a15416d0b4c19010547df
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-07-10call vp[89]_clear_system_state after longjmpJames Zern
restore the environment post encode/decode failure Change-Id: I3c72e2260a616432eaf1f9545d4fb4d8e45cc7b0
2014-05-27remove vp8 unused uvstride parm in simple loop filterJim Bankoski
Change-Id: I35fac6c0db327ef81852f326a93878b57cb2def4
2014-04-29Remove VP8 save_reg_neon functionYunqing Wang
This patch did a cleanup following the commit "Save NEON registers in VP8 NEON functions". The pushing/poping of callee-saved NEON registers was moved into individual NEON functions. Therefore, we don't need to save those registers at the beginning of codec. The related code was removed. Change-Id: I5648166514fc9beffb780aa138495597731f49ea
2014-04-23Add VPXD_SET_DECRYPTOR support to the VP9 decoder.Joey Parrish
Change-Id: I88f86c8ff9af34e0b6531028b691921b54c2fc48
2014-04-16Prevent reading of uninitialized valueYaowu Xu
This commit added a check of reference frame to make sure that pre buffer pointers are initialized only when necessary and make them to 0 if ref frame is intra, hence those buffer should never be used. Change-Id: Ieb474fcd9feb759f02e2f9c282b7348a8fa31117
2014-01-23vp8/decoder: add extern "C" to headersJames Zern
Change-Id: I7865db2d15ffa8cfa4de88714e48734c5ff9bb86
2013-12-16vp8/decoder: normalize include guardsJames Zern
Change-Id: Ifa7934927cc8461cd58ca0b05bf76533abd78cb6
2013-12-03Fix a spelling mistake in filenameYaowu Xu
Change-Id: Ic06124ed95a50935b1c6509907dcac87c7707bcc
2013-12-03Fix VP8 border replication for very small imageYaowu Xu
Also added a test vector for this issue. Change-Id: I8a8654f9d33b27afd53c295f1ea44d198550d067
2013-10-29Merge "decodframe.c: use vpx_memset instead of cast"Johann
2013-10-29Merge "threading.c: use vpx_memset instead of cast"Johann
2013-10-29decodframe.c: use vpx_memset instead of castJohann
Fix warning with -Wstrict-aliasing=1 Change-Id: Ic4e511af924247800e87d5f990636565f3dd91d2
2013-10-29threading.c: use vpx_memset instead of castJohann
Fix warning with -Wstrict-aliasing=1 Change-Id: I43df2781656dd7b3f4c0ec6daa283d7a78928a0c
2013-10-29changed to comply with strict aliasing ruleYaowu Xu
The clamp operation may not affect the values of the final assigned mv where compiler may make use of strict aliasing rule to optimize out the clamp operation. This change made the code segments to better comply the strict aliasing rule. Change-Id: I24502ff18bd4f9e62507a879cc8760a91a0fd07e
2013-09-23fix integer overflow in vp8Yaowu Xu
Change-Id: I62550a7a883115f3ce878710cf3bb039bea54390
2013-09-17Silence a bunch of MSVC warningsYaowu Xu
Change-Id: I16633269582a640809dca27572bbe99efa6369fc
2013-07-12yv12config: remove YUV_TYPEJames Zern
this was never fleshed out in the context of VP8, for which it was added. for VP9 it has no meaning. Change-Id: Iba2ecc026d9e947067b96690245d337e51e26eff
2013-07-09remove unused VP8 com/dec asm offsetsJames Zern
Change-Id: Ib3b26ee27f04b2dcbbd32b3127afb45e9f50cfcf
2013-06-20Cast value to avoid size_t/int warning on win64Johann
dboolhuff.c(50) : warning C4267: 'initializing' : conversion from 'size_t' to 'int' Change-Id: I6b85759efb2fa19f362f406623d8a7583a55c036
2013-06-17Change the encryption feature to use a callback for decryption.Jeff Petkau
This allows code calling the library can choose an arbitrary encryption algorithm. Decoder control parameter VP8_SET_DECRYPT_KEY is renamed to VP8D_SET_DECRYPTOR, and now takes an small config struct instead of just a byte array. Change-Id: I0462b3388d8d45057e4f79a6b6777fe713dc546e
2013-04-19Merge "Removed shadow warnings : postproc.c decodframe.c threading.c"Scott LaVarnway