Age | Commit message (Collapse) | Author |
|
|
|
|
|
Patch set 2: 64 bit build fix
Patch set 3: 64 bit crash fix
[Tero]
Patch set 4: Updated ARMv6 and NEON assembly.
Added also minor NEON optimizations to subtract
functions.
Patch set 5: x86 stride bug fix
Change-Id: I1fcca93e90c89b89ddc204e1c18f208682675c15
|
|
libvpx builds and runs correctly when built with x86_64-w64-mingw32-gcc
Version tested: 4.6.1
Change-Id: I9aa953d615551ca4834c9a5f8b68778d032a6cf5
|
|
This code is Copyright The WebM Project Authors, not only Google.
Change-Id: Ib5a9dec4ba3177ccb2b06dcfe9605d2b3a3a3d8b
|
|
The calculated frame_rate is a state variable in the codec, and
shouldn't be maintained in the configuration struct. Move it to the
main part of cpi so that it isn't clobbered when the configuration
struct is updated. The initial framerate estimate is moved from the
vp8_cx_iface.c wrapper into the body of init_config() in onyx_if.c, so
that it is only called once and not reset on every call to
vp8_change_config().
Change-Id: I8d9a3d1283330d1ee297d07e9d78d1f2875f2465
|
|
|
|
Correct ifdef check for Visual Studio's compiler, mingw builds can use
unistd.h.
Change-Id: I25c5ee46ef75ffbff03f560293dfb3d6bed55f70
|
|
fixes fseek errors on large files resulting in corrupt/truncated output
(issue #364).
Change-Id: If0e189a1591d0e95d7d237332e0bea1cf2ec5aa1
|
|
|
|
|
|
|
|
|
|
|
|
Call the idct/add after the tokenize. This is WIP with
the goal of creating a common idct/add for the encoder and
decoder. This move is necessary because the decoder's version
of the idct clobbers qcoeff, which is used by the tokenize.
Change-Id: I6b08d8e8397cd873647fa4fb9469884e3c876756
|
|
Added ARM optimized intra 4x4 prediction
- 2x faster on Profiler compared to C-code compiled with -O3
- Function interface changed a little to improve BLOCKD structure
access
Change-Id: I9bc2b723155943fe0cf03dd9ca5f1760f7a81f54
|
|
The referenced function (SignalObjectAndWait) isn't used. Reduces the
warnings with mingw32-w64 which defines this.
Change-Id: I4ce592879ec9372bf196dac640204c4d370bd210
|
|
File not referenced from anywhere and no longer compiles.
Change-Id: I38b11bd60db615c2c2c9d7ad35caba3a1adf1750
|
|
vp8cx_mb_init_quantizer() needs to be called at least once to get
all values calculated. This change added one check to decide if
we could skip initialization or not.
Change-Id: I3f65eb548be57580a61444328336bc18c25c085b
|
|
|
|
|
|
|
|
Additional check of buffer level to ensure it doesn't exceed the
maximum buffer size.
Change-Id: I1ba4f8b09bbec89646885040ff47470196af521e
|
|
Added additional check of buffer level against maximum
buffer size.
Change-Id: Iaf1fbaf008601161e402b43ce82c3dbc129bf740
|
|
Change-Id: Id1be1a91c7f0fd286c403489ff447837029ba17f
|
|
Added code to clip the buffer level to the maximum buffer
size. Without this the buffer level would increase
unchecked.
This bug was found when encoding an essentially static
scene at 2Mb/s. The encoder is unable to generate frames
consistent with the high data-rate because Q bottoms out
at Qmin.
As frames generated are consistently undersized the buffer
level increases and does not get checked against the
maximum size specified by the user (or default).
Change-Id: Id8a3c6323d3246da50f7cb53ddbf78b5528032c6
|
|
all of googletest import (0ab00a22) was marked executable
Change-Id: Id7b7ee03efc21ab998bb03349bd91644e8af25da
|
|
Fix compiler warning for passing a non const array
to a function expecting a const array by using an
intermediary pointer and casting.
Change-Id: I9bdd358ebdc926223993fb8fb2098ffedd2f3fc7
|
|
Change-Id: I0ab00a22fbea1f38c96ef92ef7eaeda782c0c8d3
|
|
|
|
|
|
|
|
Updated eob changes to check_reset_2nd_coeffs function.
Change-Id: Id1b21c91c7f0fd286640b487ffe47867009b717d
|
|
|
|
Changed 'int eob' to 'char *eob' in BLOCKD so that both encoder and
decoder will use eobs[25] array from MACROBLOCKD structure. In future,
this will enable use of the decoder side IDCT in the encoder.
Change-Id: I6e1c011628cb8864fd4a0b80f0279ce16a5ca978
|
|
|
|
|
|
|
|
Adding support for several partitions within one input fragment.
This is necessary to fully support all possible packetization
combinations in the VP8 RTP profile. Several partitions can
be transmitted in the same packet, and they can only be split
by reading the partition lengths from the bitstream.
Change-Id: If7d7ea331cc78cb7efd74c4a976b720c9a655463
|
|
In some situations (f.g. error-resilient is turned on), vp8cx_mb
_init_quantizer() was called once per macroblock. Added checks
to avoid calculations when there is no change.
Change-Id: Ie4f0a5ade2202041254990a4e9d5b03bd1ac5aea
|
|
Fixes issue #362.
Change-Id: Iba6d7e49ed610b44c8a4c0f3d6330a93feb0373d
|
|
Prior to this fix, the clamping state of the last subblock partition
dominated, whereas the correct behavior is to clamp if any partition
needs clamping. This bug was introduced by v0.9.6-232-g6b25501
See also:
[1]: http://code.google.com/p/webm/issues/detail?id=371
[2]: https://bugzilla.mozilla.org/show_bug.cgi?id=696390
Change-Id: I444db492b4c4f05f039c7da6f4216da8207dc138
|
|
It is discovered that in rare situations the 2nd order block may
produce a few small magnitude coefficients that has no effect on
reconstruction. The situations are a combination of low quantizer
values (high quality) and low energy in residual signals (content
dependent). This commit added code to detect such cases and reset
the 2nd order block to all 0.
Patch 1 to 4 used code to do all-zero-check on idct result buffer,
and tests on derf set showed a consistent gain of .12%-.14% on all
metrics.But due to a recent change Ie31d90b, the idct result buffer
is not longer populated. So patch 5&6 use an alternative method to
detect the situations. Tests on derf set now shows a consistent
quality gain of .16%-.20%.
As suggested by Jim, Patch 7&8 removed the condition of all first
order block not having any coefficient, instead we reset 2nd order
coefficients to all 0 if sum of absolute value of the coefficients
is small. So it does slightly more than just detecting the oddity
as discussed above, but tests on derf set now show a consistent
gain of .20%-.23% on all metrics.
It is worth noting here that this change does not have any effect
on mid/high quantizer range, it only affects the quantizer value
18 or blow. Within this range, the change helps compression by up
to 2.5% on clips in the derf set.
Change-Id: I718e19cf59a4fc2462cb7070832759beb9f7e7dd
|
|
|
|
|
|
Tests showed ~1.2% performance boost on the HD clip used.
Performance will vary based on material.
Change-Id: Icbcf1a828750d5b4ae5252bf596b3ef594042e8a
|
|
|
|
Update ARM asm implementation of vp8_start_encode to new definition.
Change-Id: Ic44791c969e351082331ba6146c3384c01a0dfad
|
|
|
|
Small performance gains.
Change-Id: I709b9390a8a27a70f5f23574313b8db85ac7f23d
|