Age | Commit message (Collapse) | Author |
|
|
|
The various tap loop filter operations are common functions across
codec. This commit moves them along with SIMD optimizations to
vpx_dsp folder.
Change-Id: Ia5fa0b2e5289cdb98467502a549c380b9c60e92c
|
|
|
|
In aq-mode=3 under a resizing action (i.e., resize_pending != 0),
force an update of the golden reference frame.
Change-Id: I14806f6db71b5f8c827678cc5e1fc913c138a9a4
|
|
|
|
|
|
|
|
|
|
Move the clamp functions to vpx_dsp_common.h file. Clear out the
dependency of vp9_loopfilter_filters.c on vp9_common.h file.
Change-Id: I9c4b928bcd7f597106b5aa96354356d3775a3431
|
|
This cleans out the unnecessary dependency on vp9 codec-specific
data structures.
Change-Id: Iadbe431174a0f9bf9423f39ab854fc18be554bea
|
|
Use drop_frames_water_mark for threshold on buffer underflow,
and change threshold for resize down.
Change-Id: I2de19adce50abe9bcdc0b107528cec8cc1857fcc
|
|
BUG=https://code.google.com/p/webm/issues/detail?id=1023
Change-Id: I212a1d67b23ce3b5ce08800de369b25b9e375e7d
|
|
The fast scaling for 1 pass mode was being used only on the
first frame after resizing event (because resize_scale_num/den
is set to 1 and only changed for first frame following resize event).
Change-Id: I723b63e21823eb858f25f5662d2bbe4f1842e61f
|
|
Proper use/update of resize_state and resize_pending to constrain
the total amount of downsizing to be at most one scale down, for now.
Change-Id: Id18fc32499f2fbdbec16728dcdc9e4eac09098f0
|
|
|
|
Roughly half as many cycles as plain C.
Change-Id: I8c16c29940b76d54ee7e4fb874c328ce90bff5d4
|
|
|
|
From Change Ibf0c30b72074b3f71918ab278ccccc02a95a70a0
There is still an issue relating to one animated test clip with repeat
patterns where this change effectively increase the default maximum
arf interval by +1. This can be examined seperately.
Change-Id: Idd01d5480fc45202d8a059a0c3afc0997cc5bdd1
|
|
|
|
|
|
Flaten the intra block decoding process. It removes the legacy
foreach_transformed_block use in the decoder. This saves cycles
spent on retrieving the transform block position.
Change-Id: I21969afa50bb0a8ca292ef72f3569f33f663ef00
|
|
This commit simplifies the intra block boundary condition logic.
It removes the block index from the argument set.
Change-Id: If00142512eb88992613d6609356dfd73ba390138
|
|
|
|
|
|
This reverts commit f8d35016408f3957c67945160d65be467ca97fdc.
Change-Id: If8c7af403c091b7fb447a6f0c73fecdbccbc51b3
|
|
|
|
This reverts commit 9b4f9f45eee4d63cef3cd10f24923ed0bdd5ab7b.
Change-Id: I23545ac8c7464127f7466fc6a58de517874fe0cf
|
|
Use faster scaling on source.
Change-Id: I968df97239a86834c96126b86832d3d6d0875a53
|
|
|
|
Eliminates the byte by byte read from bool decoder, by reading
in a size_t and then shifting it into place.
Change-Id: Id89241977103fc3b973e4ed172a5cbf246998e5d
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Also some log2 lookups.
Pass in 8x8 block width/height and log2 num4x4s instead.
Change-Id: I8ea9a1ec1e0bbab23f8ba556954a1b5433f4d613
|
|
The clamp calls with INT32_MIN and INT32_MAX have no effect at all on
int values passed in, therefore this commit removes those effectless
clamps and also adds more const intermediate results to make the code
more readable.
Change-Id: I66d8811f58bb74ec31cbec9a6c441983a662352e
|
|
Change-Id: Ib1303dac9043ab1b1f8fce54611cf4ea8a208038
|
|
Rework the inter mode transform block decoding loop. Replace the
block index with the row and col index as the input argument. It
saves function call to compute the row and col index according to
the block index and overall block size, and many if statements
associated with the transform block position relative to the coding
block. For the test bit-stream pedestrian_area 1080p at 5 Mbps,
the decoding speed goes up from 81.13 fps to 81.92 fps.
Note that the intra coded block decoding needs more refactoring
work than the inter ones. So keep it using foreach_transforme_block
as for now.
Change-Id: I5622bdae7be28ed5af96693274057f55ba9b4fb4
|
|
Change-Id: I1bab0c104df2ec4825d050cd516e26ab635a7b3e
|
|
80% fewer cycles than C
Change-Id: I841bde1e268ddd33ae2ee75eee94737a400e2cde
|
|
|
|
The encoder gets its dqcoeff from the context tree. In the decoder move
it to directly after MACROBLOCKD.
Change-Id: I46c9b76f26956a360d17de0b26ecb994dae34ecb
|
|
|
|
|
|
|
|
Even if the recode loop is not enabled for the current frame type
trap the case where the projected size of a a frame is above the
maximum allowed in recode_loop_test()
Change-Id: I453004694b8f8699e3c2a83252e9f83adccdda4e
|
|
Changes to allow more use of rectangular partitions at
speeds 1 and 2 for content classed by the first pass as
animation and for blocks near the active image edge.
This has quite a big impact in quality for the animated
test sequence but also hurts encode speed for speed 2.
For other content types the impact on both speed and
quality is small.
Added some plumbing for detection of internal vertical
image edges.
Change-Id: I3fc48de2349f8cb87946caaf0b06dbb0ea261a9a
|
|
Change speed features / behavior for split mode when there
is an internal active edge (e.g. formatting bars).
Remove some threshold constraints in rd code near the active
edge of the image.
Add some plumbing for left and right active edge detection.
Patch set 5. Limit rd pass through for sub 8x8 to internal active edges.
This takes away any speed penalty for most clips but keeps the enhanced
edge coding for the more critical case of internal image edges
Change-Id: If644e4762874de4fe9cbb0a66211953fa74c13a5
|