Age | Commit message (Collapse) | Author |
|
Replace vp9_ in names to vpx_ for non codec specific functions.
Change-Id: Ib9e3b86cb0728d10b239f3493ceda18cc2c34e0f
|
|
Replace vp9_ in names to vpx_ as they are not codec specific.
Change-Id: I2e583aa63dee769353ada4b42417aa15c4074ebb
|
|
|
|
Change-Id: I0426126d0a65f13f9250983e44cc366b1b1a9c4a
|
|
Change-Id: Ib1cb1fbe92a39ff5312cee069559be6d3ea458d0
|
|
For vp9 decoder build without profile 2 and profile 3 support, this
commit changes to report error "Unsupported bitstream profile" for
input streams in profile 2 or 3, rather than other misleading error
information.
In addition, one of the invalid files in unit tests is actually coded
profile 2, this commit makes it tested only when the decoder is built
with vp9-highbitdepth.
This fixes issue #1028.
Change-Id: I8b6c1210787c8f89c703a546687dcf973ac20fc0
|
|
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 9b4f9f45eee4d63cef3cd10f24923ed0bdd5ab7b.
Change-Id: I23545ac8c7464127f7466fc6a58de517874fe0cf
|
|
|
|
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
|
|
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
|
|
|
|
The encoder gets its dqcoeff from the context tree. In the decoder move
it to directly after MACROBLOCKD.
Change-Id: I46c9b76f26956a360d17de0b26ecb994dae34ecb
|
|
|
|
|
|
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
|
|
|
|
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
|
|
Change-Id: I202d4924e627eec94838741df004ed9259d38b88
|
|
The decoding process handles detokenization and reconstruction per
transform block sequentially. There is no need to offset the dqcoeff
buffer according to the transform block index. This allows to
reduce the memory spill and improve cache performance.
Change-Id: Ibb8bfe532a7a08fcabaf6d42cbec1e986901d32d
|
|
inline the code directly in read_mv_component(), the only place where it
was being used; this removes a function call in a hot function
Change-Id: I66f99c0c9ce3bc310101dbca4a470f023cc6fb55
|
|
|
|
|
|
expose filter_kernels[] and do the table lookup directly
Change-Id: I0b10bff0327c3e01a723736141a9ffd377cd3d20
|
|
|
|
|
|
Change in 92b199061a13173d29247257f4ef906d38b012bf leads to frame parallel
decode failure in extreme case.
addresses issue #1010
Change-Id: I4fa488dac8e8c584f5eef4cae1640a579130d387
|
|
Change the dir name to include more util tools.
Change-Id: Id5b16062803ce5eed872fe2edb36d7e56b32eed8
|
|
|
|
|
|
this is tested for each block
Change-Id: I229c6f0e9513fb206bdbce8be9699a4bf4008ca4
|
|
|
|
|
|
Replace vp9_ prefix with vpx_ for common multi-threading functions.
Change-Id: I941a5ead9bfe8213fdad345511d2061b07797b55
|
|
This commit moves the primitive multi-threading files from vp9
folder to vpx_thread, which will be accessible by all vpx codec.
Change-Id: Ib51e66e9c69801c10631fab56d35a0c0aaed5883
|
|
Change-Id: I24e10c37ea8f06600cd04b43512efa6170e23e5c
|
|
add one to each entry to remove the universal 'value + 1'.
Change-Id: I8919b1d7fde8155d1728196c4d577db3064e2c1e
|
|
the max value of the lookup in expanded form is:
(((1 << 7) - 1) << 1) - 65 + 1 + 64 = 254
remove the clamp [0, 253] and add one table entry
Change-Id: I0b5d0c66702fdb0b8f1cc9ab9b0dac66326e85a6
|
|
and added to MACROBLOCKD.
Change-Id: I0e60aaa9f84bcc9f2376d71bd934f251baee38db
|
|
from read_partition() to decode_partition().
Change-Id: I6bee2a0e9ff315290a690c9d773c9648dd2a200d
|
|
|
|
Moved the frame_type check to the tile level and stored
the prob ptr in MACROBLOCKD.
Change-Id: I10b5a4abd58213dc7610e3ade1a1583c01526842
|
|
|
|
+ drop 'vp9_' prefix
Change-Id: If3f3ec32d03026af78b8fcd82749e587a3f43059
|
|
+ drop 'vp9_' prefix
Change-Id: Id5a3c8d416dbdf93d9f4f1bde662f7b2c2290168
|
|
|