summaryrefslogtreecommitdiff
path: root/vpx
AgeCommit message (Collapse)Author
2011-05-20Merge remote branch 'origin/master' into experimentalJohn Koleszar
Conflicts: configure Change-Id: I91b9059e5b724a96368c7765c147fdf5a5ce03f2
2011-05-19Adding error-concealment to the decoder.Stefan Holmer
The error-concealer is plugged in after any motion vectors have been decoded. It tries to estimate any missing motion vectors from the motion vectors of the previous frame. Intra blocks with missing residual are replaced with inter blocks with estimated motion vectors. This feature was developed in a separate sandbox (sandbox/holmer/error-concealment). Change-Id: I5c8917b031078d79dbafd90f6006680e84a23412
2011-05-11Merge remote branch 'origin/master' into experimentalJohn Koleszar
Change-Id: I3149502b80e7c30decc125a2ddc5ad12b12b3667
2011-05-10Merge "Use stdint.h for VS2010"John Koleszar
2011-05-06Use stdint.h for VS2010John Koleszar
VS2010 has included stdint.h, but not inttypes.h. Prefer the compiler's version of these types. Fixes issue 327. Change-Id: Ica71600e06b8e94e3bbb4f12988b4a9817d5e5e4
2011-04-29Merge remote branch 'origin/master' into experimentalJohn Koleszar
Change-Id: I993021d0b2d7fbe44d6371464f2686eed3ccfaae
2011-04-28bug fix 32 bit matches 64 bitJames Berry
included vpx_config.h in vpx_encoder.c to properly define FLOATING_POINT_INIT() Change-Id: Ie518bf5c087622658e37fca90aa4ddfe79d053f6
2011-04-26Merge remote branch 'origin/master' into experimentalJohn Koleszar
Conflicts: vp8/common/alloccommon.c vp8/encoder/rdopt.c Change-Id: I142167d31d1b9cffe143774f6915bca463df67f0
2011-04-25Merge "Change rc undershoot/overshoot semantics"John Koleszar
2011-04-25Add rc_max_intra_bitrate_pct controlJohn Koleszar
Adds a control to limit the maximum size of a keyframe, as a function of the per-frame bitrate. See this thread[1] for more detailed discussion: [1]: http://groups.google.com/a/webmproject.org/group/codec-devel/browse_thread/thread/271b944a5e47ca38 Change-Id: I7337707642eb8041d1e593efc2edfdf66db02a94
2011-04-13Merge remote branch 'origin/master' into experimentalJohn Koleszar
Change-Id: I231e4dd65adcf4f5c158e3749880a18b8c36cbe4
2011-04-12Change rc undershoot/overshoot semanticsJohn Koleszar
This patch changes the rc_undershoot_pct and rc_overshoot_pct controls to set the "aggressiveness" of rate adaptation, by limiting the amount of difference between the target buffer level and the actual buffer level which is applied to the target frame rate for this frame. This patch was initially provided by arosenberg at logitech.com as an attachment to issue #270. It was modified to separate these controls from the other unrelated modifications in that patch, as well as to use the pre-existing variables rather than introducing new ones. Change-Id: Id542e3f5667dd92d857d5eabf29878f2fd730a62
2011-04-11Set cpu_used range to [-16, 16] in real-time modeYunqing Wang
Remove encoding speed limitation in real-time mode. Change-Id: Ib5e35d8bb522b2a25f3e4ad5cfe2788ebebb3617
2011-03-23Merge remote branch 'origin/master' into experimentalJohn Koleszar
Conflicts: vp8/encoder/ratectrl.c vp8/encoder/rdopt.c Change-Id: I4cc58acb432662d2c47aceda1680e52982adbc06
2011-03-21vpx_codec_dec_init: check that the iface is a decoderJohn Koleszar
Make sure the given interface is actually a decoder interface before initializing it. Change-Id: Ie48d737f2956cc2f0891666de5ea87251e96bc49
2011-03-16Merge remote branch 'origin/master' into experimentalJohn Koleszar
Change-Id: If09b27454f82265fd5e3b25c85c1eea70c6c637f
2011-03-15Avoid misspelling "dependent".Gaute Strokkenes
Change-Id: Ib0c280e1fcfd977e11e4390807b2c8077a87500c
2011-03-15Merge remote branch 'origin/master' into experimentalJohn Koleszar
Change-Id: Ice13978071e98a88cf8ae5c069c6423d74425dea
2011-03-14Improve grammar in a comment.Ralph Giles
Change-Id: I18bfda6d420626f2718e096e338c1d0bf0ba029d
2011-03-05Merge remote branch 'origin/master' into experimentalJohn Koleszar
Change-Id: I70ac5a4f8388a7bfa058178c0ae53f6bdb0bb6e5
2011-03-04cosmetic: clean up comments for new vp8dx controlsJohn Koleszar
Rename the common control id enum vp8_{dec,com}_control_id, move VP8_DECODER_CTRL_ID_START to common, wrap long lines. Change-Id: I659abc62f10aa389d496f7f43950775db0ef2f9f
2011-02-25Merge remote branch 'origin/master' into experimentalJohn Koleszar
Change-Id: I52f21ff6f9a1dca7099a8459657f6f288c5bfe40
2011-02-24documentation: minor updates to vp8 (en|de)coderJames Zern
Group algorithm interfaces to avoid undocumented warning from doxygen and provide basic documentation for CQ level & cpuused. Change-Id: I11095061be962cbc998741de9c8c3019d415e137
2011-02-16documentation: minor cosmeticsJames Zern
- correct spelling - remove explicit file name w/\file (unnecessary when contained in the same file and prone to desync) Change-Id: I68a3960ac5ab84d0f2e5c9b2e29799f26dfccf23
2011-02-04Merge remote branch 'origin/master' into experimentalJohn Koleszar
Change-Id: I242ca4854cb21f3d63efb979bd6ecc9f06f67f33
2011-02-02Avoid using an anonymous union.Gaute Strokkenes
Change-Id: I5744269a35e2d696ecf40c1665efd572bfc9b6cb
2011-01-20Merge remote branch 'origin/master' into experimentalJohn Koleszar
Change-Id: Ia0840303fe1dc8c12f3389e7a1fe20b6d3c6b9c5
2011-01-19Merge "Implement error tracking in the decoder"John Koleszar
2011-01-19Implement error tracking in the decoderHenrik Lundin
A new vpx_codec_control called VP8D_GET_FRAME_CORRUPTED. The output from the function is non-zero if the last decoded frame contains corruption due to packet losses. The decoder is also modified to accept encoded frames of zero length. A zero length frame indicates to the decoder that one or more frames have been completely lost. This will mark the last decoded reference buffer as corrupted. The data pointer can be NULL if the length is zero. Change-Id: Ic5902c785a281c6e05329deea958554b7a6c75ce
2011-01-08Merge remote branch 'origin/master' into experimentalJohn Koleszar
Change-Id: Ib34bc09a295141eb65c8c0478bde6136f178909b
2011-01-07CQ ModePaul Wilkins
The merge includes hooks to for CQ mode and other code changes merged from the test branch. CQ mode attempts to maintain a more stable quantizer within a clip whilst also trying to adhere to a guidline maximum bitrate. The existing target data rate parameter is used to specify the guideline maximum bitrate. A new parameter allows the user to specify a target CQ level. For normal (non kf/gf/arf) frames, the quantizer will not drop BELOW the user specified value (0-63). However, in some cases the encoder may choose to impose a target CQ that is above that specified by the user, if it estimates that consistent use of the target value is not compatible with guideline maximum bitrate. Change-Id: I2221f9eecae8cc3c431d36caf83503941b25e4c1
2010-12-21Merge remote branch 'origin/master' into experimentalJohn Koleszar
Conflicts: vp8/vp8_cx_iface.c Change-Id: I76f302448f11b28772efd4b5643f86a7cc69a8c2
2010-12-20Merge "Add psnr/ssim tuning option"Jim Bankoski
2010-12-18Merge remote branch 'origin/master' into experimentalJohn Koleszar
Change-Id: Iae8b85d2f6ad4d854c43dded8588e054906f7156
2010-12-17Add psnr/ssim tuning optionJohn Koleszar
Add a new encoder control, VP8E_SET_TUNING, to allow the application to inform the encoder that the material will benefit from certain tuning. Expose this control as the --tune option to vpxenc. The args helper is expanded to support enumerated arguments by name or value. Two tunings are provided by this patch, PSNR (default) and SSIM. Activity masking is made dependent on setting --tune=ssim, as the current implementation hurts speed (10%) and PSNR (2.7% avg, 10% peak) too much for it to be a default yet. Change-Id: I110d969381c4805347ff5a0ffaf1a14ca1965257
2010-12-17Inform caller of decoder about updated referencesHenrik Lundin
Inform the caller of the decoder if a decoded frame updated last, golden, or altref frames, required for realtime communication proposed in document VP8 RTP payload format. Added a new vpx_codec_control called VP8D_GET_LAST_REF_UPDATES, to be called after vpx_codec_decode. The control will indicate which of the reference frames that were updated by setting the 3 LSBs in the input int (pointer). Change-Id: Iac9db60dac414356c7ffa0b0fede88cb91e11bd7
2010-11-11Merge remote branch 'origin/master' into experimentalJohn Koleszar
Conflicts: configure Change-Id: Ifa63e4610657f75cb953aa7ca08f997267612cc0
2010-11-10postproc : Re-work posproc calling to allow more flags.Fritz Koenig
Debugging in postproc needs more flags to allow for specific block types to be turned on or off in the visualizations. Must be enabled with --enable-postproc-visualizer during configuration time. Change-Id: Ia74f357ddc3ad4fb8082afd3a64f62384e4fcb2d
2010-11-05Merge remote branch 'origin/master' into experimentalJohn Koleszar
Conflicts: configure ivfenc.c vp8/common/alloccommon.c vp8/common/onyxc_int.h vp8/vp8_cx_iface.c
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-23Add getter functions for the interface data symbolsJohn Koleszar
Having these symbols be available as functions rather than data is occasionally more convenient. Implemented this way rather than a get-codec-by-id style to avoid creating a link-time dependency between the encoder and the decoder. Fixes issue #169 Change-Id: I319f281277033a5e7e3ee3b092b9a87cce2f463d
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-07-07Fix misspelled "paramter" in vpx_codec_internal.h" to "parameter".Michael Kohler
Signed-off-by: Michael Kohler <michaelkohler@live.com>
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-14Remove useless 500 frame limitFabio Pedretti
Change-Id: Ib82de60cf32cf08844c3e2d88d7c587396f3892c
2010-06-05shared library support (.so)John Koleszar
This patch adds support for building shared libraries when configured with the --enable-shared switch. Building DLLs would require more invasive changes to the sample utilities than I want to make in this patch, since on Windows you can't use the address of an imported symbol in a static initializer. The best way to work around this is proably to build the codec interface mapping table with an init() function, but dll support is of questionable value anyway, since most windows users will probably use a media framework lib like webmdshow, which links this library in staticly. Change-Id: Iafb48900549b0c6b67f4a05d3b790b2643d026f4
2010-06-04LICENSE: update with latest textJohn Koleszar
Change-Id: Ieebea089095d9073b3a94932791099f614ce120c
2010-06-01setup experimental infrastructureJohn Koleszar
This patch creates some basic infrastructure for doing bitstream- incompatible changes to the VP8 encoder. The key parts are: - --enable-experimental configure switch, to enable support for this incompatible bitstream. This switch is required to be set to enable any "experiments" - A list for "experiments" which translate into --enable-<experiment> options and CONFIG_<experiment> macros. - The high bit of the "Version" field is used to indicate that the bitstream was produced by an experimental encoder. The decoder will fail to decode an experimental bitstream without --enable-experimental. - A new "vp8x" encoder interface is created to set the experimental bit. - The vp8x encoder interface is made the default for ivfenc in experimental mode. Change-Id: Idbdd5eae4cec5becf75bb4770837dcd256b2abef
2010-05-26Conditionally build enc/dec specific API sourcesJames Zern
vpx_codec.mk: Select required sources based on CONFIG_{EN,DE}CODERS. Relocate _dec_init_ver to vpx_decoder.c to match vpx_encoder. Change-Id: I6a171bc497499040912b2fb17786fba21a8ebc56
2010-05-24vpx_image: add VPX_ prefix to PLANE_*John Koleszar
The PLANE_{PACKED,Y,U,V,ALPHA} macros should be renamed to be within the VPX_ namespace. Fixes #27