summaryrefslogtreecommitdiff
path: root/vpx
AgeCommit message (Collapse)Author
2012-02-15Experimental code base simplification.Paul Wilkins
Remove error concealment code. Change-Id: I882705174fbfea212e96f7f684e47a671dbe5c67
2011-07-30Merge remote branch 'origin/master' into experimentalJohn Koleszar
Change-Id: I473166452c0ed5a4219b5e7d96a91a6641b11b9d
2011-07-28Convert rc_max_intra_bitrate_pct to controlJohn Koleszar
Since this is the only ABI incompatible change since the last release, convert it to use the control interface instead. The member of the configuration struct is replaced with the VP8E_SET_MAX_INTRA_BITRATE_PCT control. More significant API changes were expected to be forthcoming when this control was first introduced, and while they continue to be expected, it's not worth breaking compatibility for only this change. Change-Id: I799d8dbe24c8bc9c241e0b7743b2b64f81327d59
2011-07-20Merge remote branch 'origin/master' into experimentalJohn Koleszar
Change-Id: I956822324c046c254806dd712a2d3be4dcf8564b
2011-07-19Revert "Disable __longjmp_chk protection"John Koleszar
This reverts commit b73a3693e581583e9ec676f4396d0c3d173e2462. This version of the check doesn't work with generic-gnu, and figuring out the correct symbol version at configure time is probably more work than this is worth. May revisit in the future. Change-Id: I6c75e88bd3bd82a4b21e09a25780fe53aacb7d70
2011-07-19Merge remote branch 'origin/master' into experimentalJohn Koleszar
Change-Id: Ida9204624fe3fb99fed1b149d1f88159480fdd83
2011-07-13Disable __longjmp_chk protectionJohn Koleszar
glibc implements some checking on longjmp() calls by replacing it with an internal function __longjmp_chk(), when FORTIFY_SOURCE is defined. This can be problematic when compiling the library under one version of glibc and running it under another. Work around this issue for the one symbol affected for now, before taking out the undef hammer. Fixes http://code.google.com/p/webm/issues/detail?id=166 Change-Id: Ifc5e25cdec17915e394711f2185b3e9214572d10
2011-06-29Merge remote branch 'origin/master' into experimentalJohn Koleszar
Change-Id: I68e604e4a731f6703fdec7eff2c2c9b9e36879ea
2011-06-28use relative include pathJohann
Files are already in vpx/ Change-Id: I67dcbb5d5b6cb55e91b4e4927ab842a1e2c9e284
2011-06-28New ways of passing encoded data between encoder and decoder.Stefan Holmer
With this commit frames can be received partition-by-partition from the encoder and passed partition-by-partition to the decoder. At the encoder-side this makes it easier to split encoded frames at partition boundaries, useful when packetizing frames. When VPX_CODEC_USE_OUTPUT_PARTITION is enabled, several VPX_CODEC_CX_FRAME_PKT packets will be returned from vpx_codec_get_cx_data(), containing one partition each. The partition_id (starting at 0) specifies the decoding order of the partitions. All partitions but the last has the VPX_FRAME_IS_FRAGMENT flag set. At the decoder this opens up the possibility of decoding partition N even though partition N-1 was lost (given that independent partitioning has been enabled in the encoder) if more info about the missing parts of the stream is available through external signaling. Each partition is passed to the decoder through the vpx_codec_decode() function, with the data pointer pointing to the start of the partition, and with data_sz equal to the size of the partition. Missing partitions can be signaled to the decoder by setting data != NULL and data_sz = 0. When all partitions have been given to the decoder "end of data" should be signaled by calling vpx_codec_decode() with data = NULL and data_sz = 0. The first partition is the first partition according to the VP8 bitstream + the uncompressed data chunk + DCT address offsets if multiple residual partitions are used. Change-Id: I5bc0682b9e4112e0db77904755c694c3c7ac6e74
2011-06-28Proposing an extension to the encoder and decoder interfaces.Stefan Holmer
Adding capabilities with which the encoder can output frames partition by partition, and the decoder can get input data partition by partition. Change-Id: Ieae0801480b8de8cd43c3c57dd3bab2e4c346fe0
2011-06-28Adding support for independent partitionsStefan Holmer
Adding support in the encoder for generating independent residual partitions by forcing equal probabilities over the prev coef entropy contexts. Change-Id: I402f5c353255f3ca20eae2620af739f6a498cd21
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