summaryrefslogtreecommitdiff
path: root/vpx_mem
AgeCommit message (Collapse)Author
2016-10-05Remove vpx_realloc()Alex Converse
It only handles the realloc constraint (preserving low elements) by serendipity, and we don't actually rely on that behavior anyway. Meanwhile the calls may do extra copying that gets immediately clobbered by the callers. Change-Id: I8dfa89e4a81084b084889c27bd272fdf85184e8d
2016-09-07vpx_mem.c: remove unnecessary inlineJames Zern
these aren't overly speed critical, best to leave it to the compiler. Change-Id: I231c14abee5b845d7b8e8454832f2feb22c6ce45
2016-08-27vpx_mem,align_addr: use ~ to create maskJames Zern
removes the need for an intermediate cast to int, which was missing in the call added in: 69c5ba1 vpx_mem: Refactor code quiets a visual studio warning: C4146: unary minus operator applied to unsigned type, result still unsigned Change-Id: I76c4003416759c6c76b78f74de7c0d2ba5071216
2016-08-24vpx_mem: add basic size checkJames Zern
set a max allocable size to prevent overflows in 32-bit and extremely large allocation attempts in 64-bit. this could be amended to allow size or num parameters to be 64-bits with the correct size being used at each call site. BUG=webm:819 Change-Id: Ia81004d6c4279680714c4488b4f6cf287ab396a5
2016-08-24vpx_mem: normalize function namesJames Zern
use lower case + '_' rather than capital followed by camel case Change-Id: I74b80fb660d281228e25edc8b6509455ffe2920e
2016-08-24vpx_realloc correction.Urvang Joshi
vpx_realloc was allocating 1 byte more than needed every time. Fixed this, and took this opportunity to do a small refactoring. Change-Id: I38fcb62b698894acbbab43466c1decd12f906789 (cherry picked from aom: 2a876b4 aom_realloc correction.)
2016-08-24vpx_mem: Refactor codeUrvang Joshi
Change-Id: I2da9cd5da48ae97e770bccfd1233bcc70b484688 (cherry picked from aom: 83c95f5 aom_mem: Refactor code)
2016-07-25vpx_mem: apply clang-formatclang-format
Change-Id: I0440686fc03f1ee02bd0168c91e671a0a2d0056a
2016-02-02vpx_mem.c: remove unused macroJames Zern
__VPX_MEM_C__ unused since: f58011a vpx_mem: remove vpx_memset Change-Id: I820c972c4165275ddf21c1687748409818a7f2af
2015-10-06vpx_memset16: drop unnecessary localJames Zern
+ add a cast Change-Id: I2965e7867223aa25bf688c988629ac57b4971905
2015-10-06vpx_memset16: quiet signed/unsigned warningJames Zern
Change-Id: I144bedde7ea43f1b84360c1a7c8a042fd30abb6b
2015-08-14Remove vp10's build dependency on vp9Yaowu Xu
CONFIG_VP9_HIGHBITDEPTH is currently used by both vp9 and vp10, but in many place outside vp9/vp10, the macro was used in conjunction of CONFIG_VP9. This created a dependency on vp9 for vp10 to build. This commit removes the dependency by use CONFIG_VP9_HIGHBITDEPTH only in these places. Change-Id: I8cc007fc9cf132394c6498ce6759e606b64a6ad0
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-23vpx_mem: remove REPLACE_BUILTIN_FUNCTIONSJames Zern
vestigial. there are other ways to achieve this. Change-Id: Ie977ce952527e596479df3084f331b694a682e39
2015-04-22vpx_mem: remove global function pointerJames Zern
vestigial. Change-Id: I11389f660d0c5db8fa48bd355cbc3223fc3bcabb
2015-04-22vpx_mem: remove mem trackerJames Zern
vestigial. there are tools better suited for this Change-Id: I7a72a2cfe32377f07c8cd0973ddb18842720a225
2015-04-20vpx_mem: remove 'mem checks'James Zern
vestigial. there are tools better suited for this Change-Id: I1d6f604452fbc62cb7523eec8d1f8a72a276d6b5
2015-04-20vpx_mem: remove memory manager codeJames Zern
vestigial. the code is stale and couldn't be configured directly; there are better ways to achieve this now Change-Id: I5a9c62e099215588cd0d7e5ae002dfc77c21a895
2014-09-02Adds config opt for highbitdepth + misc. vpxDeb Mukherjee
Adds config parameter vp9_highbitdepth, to support highbitdepth profiles. Also includes most vpx level high bit-depth functions. However encode/decode in the highbitdepth profiles will not work until the rest of the code is in place. Change-Id: I34c53b253c38873611057a6cbc89a1361b8985a6
2013-12-16vpx_mem: normalize include guardsJames Zern
Change-Id: Iac433b5823c572cfa79e5b6b839cd40b49c0389c
2013-09-06vpx_mem: increase default alignmentJames Zern
this prevents returning an address smaller than the natural heap alignment from vpx_malloc on e.g., x86_64 Change-Id: I283e858664a8529f28b22060c3815116a7798c0d
2013-01-08Merge vp9-preview changes into experimental branchJohn Koleszar
Incorportate vp9-preview changes by merging master branch into experimental. Conflicts: test/test.mk vp9/common/vp9_filter.c vp9/common/vp9_idctllm.c vp9/common/vp9_invtrans.h vp9/common/vp9_mbpitch.c vp9/common/vp9_rtcd_defs.sh vp9/common/vp9_systemdependent.h vp9/common/vp9_type_aliases.h vp9/common/x86/vp9_asm_stubs.c vp9/common/x86/vp9_subpixel_mmx.asm vp9/decoder/vp9_decodframe.c vp9/decoder/vp9_dequantize.c vp9/decoder/vp9_dequantize.h vp9/decoder/vp9_onyxd_int.h vp9/encoder/vp9_bitstream.c vp9/encoder/vp9_encodeframe.c vp9/encoder/vp9_rdopt.c Change-Id: I17f51c3666d1b59cf1a699f87607cbc5d30a87c5
2012-12-26Build fixes to merge vp9-preview into masterJohn Koleszar
Various fixups to resolve issues when building vp9-preview under the more stringent checks placed on the experimental branch. Change-Id: I21749de83552e1e75c799003f849e6a0f1a35b07
2012-12-05Remove last duck_ functionsJohann
Change-Id: I5fbcd2006d05bfe841f3c7af9c1aeb2cb83b3149
2012-08-14Fix warnings.Christian Duvivier
Change-Id: I4b911e4173da30c164bde7ea50bc80a70fbbb745
2012-07-17Restyle codeJohn Koleszar
Approximate the Google style guide[1] so that that there's a written document to follow and tools to check compliance[2]. [1]: http://google-styleguide.googlecode.com/svn/trunk/cppguide.xml [2]: http://google-styleguide.googlecode.com/svn/trunk/cpplint/cpplint.py Change-Id: Idf40e3d8dddcc72150f6af127b13e5dab838685f
2012-03-15WebM Experimental Codec Branch SnapshotYaowu Xu
This is a code snapshot of experimental work currently ongoing for a next-generation codec. The codebase has been cut down considerably from the libvpx baseline. For example, we are currently only supporting VBR 2-pass rate control and have removed most of the code relating to coding speed, threading, error resilience, partitions and various other features. This is in part to make the codebase easier to work on and experiment with, but also because we want to have an open discussion about how the bitstream will be structured and partitioned and not have that conversation constrained by past work. Our basic working pattern has been to initially encapsulate experiments using configure options linked to #IF CONFIG_XXX statements in the code. Once experiments have matured and we are reasonably happy that they give benefit and can be merged without breaking other experiments, we remove the conditional compile statements and merge them in. Current changes include: * Temporal coding experiment for segments (though still only 4 max, it will likely be increased). * Segment feature experiment - to allow various bits of information to be coded at the segment level. Features tested so far include mode and reference frame information, limiting end of block offset and transform size, alongside Q and loop filter parameters, but this set is very fluid. * Support for 8x8 transform - 8x8 dct with 2nd order 2x2 haar is used in MBs using 16x16 prediction modes within inter frames. * Compound prediction (combination of signals from existing predictors to create a new predictor). * 8 tap interpolation filters and 1/8th pel motion vectors. * Loop filter modifications. * Various entropy modifications and changes to how entropy contexts and updates are handled. * Extended quantizer range matched to transform precision improvements. There are also ongoing further experiments that we hope to merge in the near future: For example, coding of motion and other aspects of the prediction signal to better support larger image formats, use of larger block sizes (e.g. 32x32 and up) and lossless non-transform based coding options (especially for key frames). It is our hope that we will be able to make regular updates and we will warmly welcome community contributions. Please be warned that, at this stage, the codebase is currently slower than VP8 stable branch as most new code has not been optimized, and even the 'C' has been deliberately written to be simple and obvious, not fast. The following graphs have the initial test results, numbers in the tables measure the compression improvement in terms of percentage. The build has the following optional experiments configured: --enable-experimental --enable-enhanced_interp --enable-uvintra --enable-high_precision_mv --enable-sixteenth_subpel_uv CIF Size clips: http://getwebm.org/tmp/cif/ HD size clips: http://getwebm.org/tmp/hd/ (stable_20120309 represents encoding results of WebM master branch build as of commit#7a15907) They were encoded using the following encode parameters: --good --cpu-used=0 -t 0 --lag-in-frames=25 --min-q=0 --max-q=63 --end-usage=0 --auto-alt-ref=1 -p 2 --pass=2 --kf-max-dist=9999 --kf-min-dist=0 --drop-frame=0 --static-thresh=0 --bias-pct=50 --minsection-pct=0 --maxsection-pct=800 --sharpness=0 --arnr-maxframes=7 --arnr-strength=3(for HD,6 for CIF) --arnr-type=3 Change-Id: I5c62ed09cfff5815a2bb34e7820d6a810c23183c
2011-09-22Replace vpx_ports/config.h with vpx_config.hAttila Nagy
Just a clean-up. Change-Id: Iea5b6dc925dcfa7db548bc1ab1a13d26ed5a2c9a
2011-07-12Remove rotting NDS_NITRO code.Fritz Koenig
Code has not been used and is no longer relevant. Change-Id: I38590513da7c7a436804ff8a1a3805d9697f575d
2011-02-18clean up unused filesJohn Koleszar
Removed a number of files that were unused or little-used. Change-Id: If9ae5e5b11390077581a9a879e8a0defe709f5da
2010-10-27Eliminate more warnings.Timothy B. Terriberry
This eliminates a large set of warnings exposed by the Mozilla build system (Use of C++ comments in ISO C90 source, commas at the end of enum lists, a couple incomplete initializers, and signed/unsigned comparisons). It also eliminates many (but not all) of the warnings expose by newer GCC versions and _FORTIFY_SOURCE (e.g., calling fread and fwrite without checking the return values). There are a few spurious warnings left on my system: ../vp8/encoder/encodemb.c:274:9: warning: 'sz' may be used uninitialized in this function gcc seems to be unable to figure out that the value shortcut doesn't change between the two if blocks that test it here. ../vp8/encoder/onyx_if.c:5314:5: warning: comparison of unsigned expression >= 0 is always true ../vp8/encoder/onyx_if.c:5319:5: warning: comparison of unsigned expression >= 0 is always true This is true, so far as it goes, but it's comparing against an enum, and the C standard does not mandate that enums be unsigned, so the checks can't be removed. Change-Id: Iaf689ae3e3d0ddc5ade00faa474debe73b8d3395
2010-09-09Use WebM in copyright notice for consistencyJohn Koleszar
Changes 'The VP8 project' to 'The WebM project', for consistency with other webmproject.org repositories. Fixes issue #97. Change-Id: I37c13ed5fbdb9d334ceef71c6350e9febed9bbba
2010-06-18cosmetics: trim trailing whitespaceJohn Koleszar
When the license headers were updated, they accidentally contained trailing whitespace, so unfortunately we have to touch all the files again. Change-Id: I236c05fade06589e417179c0444cb39b09e4200d
2010-06-04LICENSE: update with latest textJohn Koleszar
Change-Id: Ieebea089095d9073b3a94932791099f614ce120c
2010-05-18Initial WebM releaseJohn Koleszar