Age | Commit message (Collapse) | Author |
|
Remove error concealment code.
Change-Id: I882705174fbfea212e96f7f684e47a671dbe5c67
|
|
Change-Id: I473166452c0ed5a4219b5e7d96a91a6641b11b9d
|
|
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
|
|
Change-Id: I956822324c046c254806dd712a2d3be4dcf8564b
|
|
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
|
|
Change-Id: Ida9204624fe3fb99fed1b149d1f88159480fdd83
|
|
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
|
|
Change-Id: I68e604e4a731f6703fdec7eff2c2c9b9e36879ea
|
|
Files are already in vpx/
Change-Id: I67dcbb5d5b6cb55e91b4e4927ab842a1e2c9e284
|
|
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
|
|
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
|
|
Adding support in the encoder for generating
independent residual partitions by forcing
equal probabilities over the prev coef entropy
contexts.
Change-Id: I402f5c353255f3ca20eae2620af739f6a498cd21
|
|
Conflicts:
configure
Change-Id: I91b9059e5b724a96368c7765c147fdf5a5ce03f2
|
|
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
|
|
Change-Id: I3149502b80e7c30decc125a2ddc5ad12b12b3667
|
|
|
|
VS2010 has included stdint.h, but not inttypes.h. Prefer the compiler's
version of these types. Fixes issue 327.
Change-Id: Ica71600e06b8e94e3bbb4f12988b4a9817d5e5e4
|
|
Change-Id: I993021d0b2d7fbe44d6371464f2686eed3ccfaae
|
|
included vpx_config.h in vpx_encoder.c
to properly define FLOATING_POINT_INIT()
Change-Id: Ie518bf5c087622658e37fca90aa4ddfe79d053f6
|
|
Conflicts:
vp8/common/alloccommon.c
vp8/encoder/rdopt.c
Change-Id: I142167d31d1b9cffe143774f6915bca463df67f0
|
|
|
|
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
|
|
Change-Id: I231e4dd65adcf4f5c158e3749880a18b8c36cbe4
|
|
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
|
|
Remove encoding speed limitation in real-time mode.
Change-Id: Ib5e35d8bb522b2a25f3e4ad5cfe2788ebebb3617
|
|
Conflicts:
vp8/encoder/ratectrl.c
vp8/encoder/rdopt.c
Change-Id: I4cc58acb432662d2c47aceda1680e52982adbc06
|
|
Make sure the given interface is actually a decoder interface before
initializing it.
Change-Id: Ie48d737f2956cc2f0891666de5ea87251e96bc49
|
|
Change-Id: If09b27454f82265fd5e3b25c85c1eea70c6c637f
|
|
Change-Id: Ib0c280e1fcfd977e11e4390807b2c8077a87500c
|
|
Change-Id: Ice13978071e98a88cf8ae5c069c6423d74425dea
|
|
Change-Id: I18bfda6d420626f2718e096e338c1d0bf0ba029d
|
|
Change-Id: I70ac5a4f8388a7bfa058178c0ae53f6bdb0bb6e5
|
|
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
|
|
Change-Id: I52f21ff6f9a1dca7099a8459657f6f288c5bfe40
|
|
Group algorithm interfaces to avoid undocumented warning from doxygen
and provide basic documentation for CQ level & cpuused.
Change-Id: I11095061be962cbc998741de9c8c3019d415e137
|
|
- correct spelling
- remove explicit file name w/\file (unnecessary when contained in the
same file and prone to desync)
Change-Id: I68a3960ac5ab84d0f2e5c9b2e29799f26dfccf23
|
|
Change-Id: I242ca4854cb21f3d63efb979bd6ecc9f06f67f33
|
|
Change-Id: I5744269a35e2d696ecf40c1665efd572bfc9b6cb
|
|
Change-Id: Ia0840303fe1dc8c12f3389e7a1fe20b6d3c6b9c5
|
|
|
|
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
|
|
Change-Id: Ib34bc09a295141eb65c8c0478bde6136f178909b
|
|
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
|
|
Conflicts:
vp8/vp8_cx_iface.c
Change-Id: I76f302448f11b28772efd4b5643f86a7cc69a8c2
|
|
|
|
Change-Id: Iae8b85d2f6ad4d854c43dded8588e054906f7156
|
|
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
|
|
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
|
|
Conflicts:
configure
Change-Id: Ifa63e4610657f75cb953aa7ca08f997267612cc0
|
|
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
|