Age | Commit message (Collapse) | Author |
|
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
|
|
|
|
|
|
|
|
|
|
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
|
|
Replace block index with transform type in the argument list. This
allows to save an extra fetch to the prediction mode. For pedestrian
area 1080p coded at 5 Mbps with single tile, the average decoding
speed goes up from 80.55 fps (before the refactoring series) to
81.13 fps.
Change-Id: Icbebf84ce63c19c0c92f3690ed201f6c3eab7881
|
|
average improvement ~2x-4x
Change-Id: I20c4f900ef95d99b18f9cf4db592cd352c2212eb
|
|
|
|
New clang warnings in chromium reveal an incompatible pointer being
passed.
Change-Id: I0d893993726ecf899f467c16175bfb8c76329731
https://code.google.com/p/chromium/issues/detail?id=504696
|
|
|
|
|
|
|
|
Change-Id: I66bf6720c396c89aa2d1fd26d5d52bf5d5e3dff1
|
|
|
|
|
|
|
|
If only the first dequantized coefficient is non-zero, reset
dqcoeff[0] to zero directly.
Change-Id: I0197ba72028a8ec436f0b1b9abcc1c0ae5d70abe
|
|
Save redundant call for getting prediction mode to obtain scan
order for detokenization.
Change-Id: I0683ef119f1579d1261ed5d59052a1745b68ef6f
|
|
|
|
|
|
|