Age | Commit message (Collapse) | Author |
|
|
|
|
|
This patch reduces the cpu cost of the MV ref
search by only allowing insert for candidates
that would be in the current top 4.
This could alter the outcome and slightly favors
near candidates which are tested first but also
limits the worst case loop count to 4 and means in
many cases it will drop out and not happen.
Change-Id: Idd795a825f9fd681f30f4fcd550c34c38939e113
|
|
|
|
|
|
Only declare the functions in vpx_scale RTCD and include the relevant
header.
Remove unused files and functions in vpx_scale to avoid wasting time
renaming. vpx_scale/win32/scaleopt.c contains functions which have not
been called in a long time but are potentially optimized.
The 'vp8' functions have not been renamed yet. That is for after the
cleanup.
Change-Id: I2c325a101d60fa9d27e7dfcd5b52a864b4a1e09c
|
|
Change-Id: I9f0ae635fb9a95c4aa1529c177ccb07e2b76970b
|
|
|
|
Change-Id: I467bf0fdf3b35326bcce58d5459e6d2dbfd6c5e5
|
|
Adds support for compound inter-intra prediction with superblocks.
Also, fixes a bug that disabled intra modes for superblocks.
Change-Id: I4d711317e1bc19df8c2f32dc645429f7fff31036
|
|
Allows switchbale filters to be used without mismatch when the
superblock experiment is on.
Also removes a spurious clamping code in decodemv.c which causes
rare encode/decode mismatches.
Change-Id: I809d9ee0b2859552b613500b539a615515b863ae
|
|
Change-Id: Ib5106d4772450f8026f823dd743f162ab833b1d6
|
|
Change-Id: I2c252f3ddcc99e96c1f5d3dab8bcb25a2a3637ea
|
|
|
|
Change-Id: Ie34820c1b6eaba9cf9316415a46f48af79c41646
|
|
clears up some warnings
Change-Id: I9899637497c6ad7519f098e055ab98580ae6d688
|
|
Change-Id: I20c426e91ee49666db42e20eb074095ab6b8ec5d
|
|
Change-Id: Ieefd76e164ca4aa87597da0412977614ddfbacb7
|
|
|
|
This patch allows use of 8x8 and 4x4 ADST correctly for Intra
16x16 modes and Intra 8x8 modes when the block size selected
is smaller than the prediction mode. Also includes some cleanups
and refactoring.
Rebase.
Change-Id: Ie3257bdf07bdb9c6e9476915e3a80183c8fa005a
|
|
|
|
Given the way mode_context is updated, the benefit of an additional
default is not signficant.
Change-Id: I67489453e8781340b18e26a1cc2f04e9221004a2
|
|
Change-Id: Ia1cce221f8511561b9cbd8edb7726fbc286ff243
|
|
|
|
|
|
and some miscellaneous invoke left overs
Change-Id: I63191b1bfd3bea4ce30cceaeb686ec850570fc43
|
|
This change included:
1. Aligned reads in vp9_mbloop_filter_vertical_edge function.
Since we actually read 16 bytes, we can align the reads to read
starting at (s - 8) instead of (s - 5).
2. Combined u, v loop filters.
3. Added 8x16 transpose.
This gave 2% decoder performance gain (tulip clip).
Change-Id: Ib14c2f1645c4a3436df17fe2f24789506bf0bb58
|
|
This commit removed a couple of redundant data structures in frame
coding contextsm, mode_context and mode_context_a, and changed to
use vp9_mode_contexts only. The switch of the context for different
frame type now relies on the switch of frame coding context between
lfc and lfc_a. This commit also removed a number of memcpy among
these redundant data structure.
Change-Id: I42e8174bd60f466b0860afc44c1263896471b0f3
|
|
Not all segment feature data elements are full-range powers of two, so
there are values that can be encoded that are invalid. Add a new function
to clamp values to the maximum allowed.
Change-Id: Ie47cb80ef2d54292e6b8db9f699c57214a915bc4
|
|
Support for gyp which doesn't support multiple objects in the same
static library having the same basename.
Change-Id: Ib947eefbaf68f8b177a796d23f875ccdfa6bc9dc
|
|
Vp9_sad3x16_sse2() is heavily called in decoder, in which the
unaligned reads consume lots of cpu cycles. When CONFIG_SUBPELREFMV
is off, the unaligned offset is 1. In this situation,
we can adjust the src_ptr to be 4-byte aligned, and then do the
aligned reads. This reduced the reading time significantly. Tests
on 1080p clip showed over 2% decoder performance gain with
CONFIG_SUBPELREFM off.
Change-Id: I953afe3ac5406107933ef49d0b695eafba9a6507
|
|
More cleanup to do after this, but this is a good chunk of removing rtcd.
Change-Id: I551db75e341a0a85c3ad650df1e9a60dc305681a
|
|
Removed the rtcd subpixel invoke functions.
Change-Id: I8b7618bd5813333fac66b2817bdf807616e0fb33
|
|
|
|
|
|
Used ref_stride.
Change-Id: I31f0a3bb935520f54d11a1d87315627f162ae845
|
|
This removes functions that are no longer needed and cleans up some warnings.
Change-Id: I292a4c3694e9c1d68ce99cea390905b198434719
|
|
Change-Id: I18ca713b02a5241bdb20dddcde0216467b55b596
|
|
|
|
|
|
Modified code to use const before dq.
Change-Id: I6fa59c2ed9743ded33ad08df70e15c2fe1ae7b99
|
|
Change-Id: Icf8ad313c543462e523bff89690e5daa8d49bcc0
|
|
Experiments with a larger set of contexts and some
clean up to replace magic numbers regarding the
number of contexts.
The starting values and rate of backwards adaption
are still suspect and based on a small set of tests.
Added forwards adjustment of probabilities.
The net result of adding the new context and forward
update is small compared to the old context from the
legacy find_near function. (down a little on derf but
up by a similar amount for HD)
HOWEVER.... with the new context and forward update
the impact of disabling the reverse update (which may be
necessary in some use cases to facilitate parallel decoding)
is hugely reduced.
For the old context without forward update, the impact of
turning off reverse update (Experiment was with SB off) was
Derf - 0.9, Yt -1.89, ythd -2.75 and sthd -8.35. The impact was
mainly at low data rates.
With the new context and forward update enabled the impact
for all the test sets was no more than 0.5-1% (again most at
the low end).
Change-Id: Ic751b414c8ce7f7f3ebc6f19a741d774d2b4b556
|
|
|
|
|
|
added additional motion vectors at close neighborhood of a superblock
to the list of candiate motion vectors, and removed a couple that are
further away.
The change helped std-hd set about .8% (all metrics) and smaller gain
for derf set.
Change-Id: Iaa69b98614db43420ed3fd4738d0ca5587b90045
|
|
A patch on compound inter-intra prediction.
In compound inter-intra prediction, a new predictor for
16x16 inter coded MBs are obtained by combining a single
inter predictor with a 16x16 intra predictor, in a manner
that the weight varies with distance from the top/left
boundary. The current search strategy is to combine the best
inter mode with the best intra mode obtained independently.
Results so far:
derf +0.31%
yt +0.32%
std-hd +0.35%
hd +0.42%
It is conceivable that the results would improve somewhat
with a more thorough search strategy where all intra modes
are searched given the best mv, or even a joint search for
the best mv and the best intra mode.
Change-Id: I7951f1ed0d6eb31ca32ac24d120f1585bcd8d79b
|
|
|
|
Modify the decoder to return the ending position of the bool decoder and
use that as the starting position for the next frame.
The constant-space algorithm for parsing the appended frame lengths is
O(n^2), which is a potential DoS concern if n is unbounded. Revisit
the appended lengths for use as partition lengths when multipartition
support is added.
In addition, this allows decoding of raw streams outside of a container
without additional framing information, though it's insufficient to
be able to remux said stream into a container.
Change-Id: I71e801a9c3e37abe559a56a597635b0cbae1934b
|
|
duplicate code clean-up and variable name corrections
Change-Id: Ibc4703228e652ec425125de5e7bc038fa46595c5
|