Age | Commit message (Collapse) | Author |
|
Conflicts:
vp8/encoder/bitstream.c
Change-Id: I44c00f98dcb99eb728ce4f5256aefb135a711a74
|
|
Change-Id: I35c9ca116aecd0d03e762942d9cf1289edb4f23d
|
|
|
|
and divide by 0 errors
Change-Id: I8af5ca3d0913cb6f278fff754f8772bcb62e674a
|
|
|
|
In this commit I have added an experimental function
that tests prediction quality either side of a central position
to calculate a suggested boost number for an ARF frame.
The function is passed an offset from the current position and
a number of frames to search forwards and backwards.
It returns a forward, backward and compound boost number.
The new code can be deactivated using #define NEW_BOOST 0
In its current default state the code searches forwards and backwards
from the proposed position of the next alt ref.
The the old code used a boost number calculated by scanning forward
from the previous GF up to the proposed alt ref frame position.
I have also added some code to try and prevent placement of a gf/arf
where there is a brief flash.
Change-Id: I98af789a5181148659f10dd5dd2ff2d4250cd51c
|
|
For clips that are near 60fps and have a lot of alt refs, it's possible
that the ring buffer holding the previous frames sizes/pts could wrap
around, leading to a division by zero.
In addition to checking for this condition in the ring buffer loop,
the buffer size is made dependent on the actual frame rate in use,
rather than defaulting to 60, which should improve accuracy at frame
rates >= ~60.
Change-Id: If5a04d6e847316dc5f7504f25c01164cf9332be8
|
|
|
|
Change-Id: I68e604e4a731f6703fdec7eff2c2c9b9e36879ea
|
|
|
|
|
|
|
|
There were many instances in the code of vp8_coef_tokens and
vp8_coef_tokens-1, which was a preprocessor macro despite the naming
convention. Replace these with MAX_ENTROPY_TOKENS and ENTROPY_NODES,
respectively.
Change-Id: I72c4f6c7634c94e1fa066cd511471e5592c748da
|
|
|
|
|
|
Free buffers allocated for y4m input and webm cue list.
Change-Id: I02051baae3b45f692cf5c7f520ea9a2d80c7b470
|
|
Files are already in vpx/
Change-Id: I67dcbb5d5b6cb55e91b4e4927ab842a1e2c9e284
|
|
Change-Id: Ieb2f3827ae7896ae594203b702b3e8fa8fb63d37
|
|
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
|
|
The current code stores pointers to coefficient tables and loads them to
access the tables contents. As these pointers are stored in the code
sections, it means we end up with text relocations. eu-findtextrel will
thus complain about code not compiled with -fpic/-fPIC.
Since the pointers are stored in the code sections, we can actually cheat
and let the assembler generate relative addressing when accessing the
coefficient tables, and just load their location with adr.
Change-Id: Ib74ae2d3f2bab80b29991355f2dbe6955f38f6ae
|
|
|
|
Change-Id: Ia944723797d67abef24312cf928cf6fd64cd9766
|
|
|
|
|
|
Change Ieb746989: Removed B_MODE_INFO missed this.
Change-Id: I32202555581cc2a5d45e729c6650ada4d2df55d3
|
|
|
|
Conversion script was discarding alignment. Also, set default alignment
to 4 bytes.
Change-Id: I1e9cbbb8c142bdf93df4e9aaccf967ed43dff906
https://bugs.launchpad.net/ubuntu/+source/firefox/+bug/789198
|
|
Change-Id: I689f4624a53184a72258df575305eb1aa97e61ca
|
|
Also includes a couple of error concealment bug fixes:
- the segment_id wasn't properly initialized when missing
- when interpolating and no neighbors are found, set to zero
- clear the qcoef buffer when concealing an MB
Change-Id: Id79c876b41d78b559a2241e9cd0fd2cae6198f49
|
|
|
|
Only the first frame buffer ref counter was being initialized
because the index was fixed at 0 rather than using i.
Change-Id: Ib842298be4a5e3607f9e21c2cd4bfbee4054ffc4
|
|
experimental branch build was broken from some merge artifacts, this
commit fixes those issues to enable the experimental branch to build.
Change-Id: Ic52b2d2f1d1b80abb7ecaa4c0927bcf887ac0c2a
|
|
|
|
This reverts commit 212f6183739d448ad5fa2ccf1b4edd30829b2806.
Further testing shows that the overshoot accumulation/damping is too
aggressive on some clips. Allowing the accumulated overshoot to
decay and limiting to damping to golden frames shows some promise.
But some clips show significant overshoot in the buffer window, so
I think this still needs work.
Change-Id: Ic02a9ca34f55229f9cc04786f4fab54cdc1a3ef5
|
|
|
|
* changes:
vpxenc: add rate histogram display
vpxenc: add quantizer histogram display
|
|
Add the --rate-hist=n option, which displays a histogram with n
buckets for the rate over the --buf-sz window.
Change-Id: I2807b5a1525c7972e9ba40839b37e92b23ceffaf
|
|
Add the --q-hist=n option, which displays a histogram with n buckets for
the quantizer selected on each frame.
Change-Id: I59b020c26b0acae0b938685081d9932bd98df5c9
|
|
|
|
|
|
vp8_yv12_copy_frame_ptr() expects same size
buffers which was not previously gaurenteed.
Using an improperly allocated buffer would
cause a crash before.
Change-Id: I904982313ce9352474f80de842013dcd89f48685
|
|
Require the destination to be present before trying to create the symlink.
See: http://bugs.gentoo.org/show_bug.cgi?id=323805
Change-Id: I14ed4a9792dedc289885a9a43bc5a86cb792206d
|
|
Conflicts:
vp8/encoder/rdopt.c
Use new constant (110) from 10ed60dc7
Change-Id: Ic7d8a45ccc8deeeb94a0ab1c58d5d052ef3c27e4
|
|
|
|
|
|
|
|
Useful for leaving out any version specific asm files.
Change-Id: I233514410eb9d7ca88d2d2c839673122c507fa99
|
|
RDMULT/RDDIV defines a bit worth of distortion in term of sum squared
difference. This has also been used as errorperbit in subpixel motion
search, where the distortions computed as variance of the difference.
The variance of differences is different from sum squared differences
by amount of DC squared. Typically, for inter predicted MBs, this
difference averages around 10% between the two distortion, so this patch
introduces a 110% constant in deriving errorperbit from RDMULT/RDDIV.
Test on CIF set shows small but positive gain on overall PSNR (.03%)
and SSIM (.07%), overall impact on average PSNR is 0.
Change-Id: I95425f922d037b4d96083064a10c7cdd4948ee62
|