summaryrefslogtreecommitdiff
path: root/vp9/decoder
AgeCommit message (Collapse)Author
2015-07-20vpx_dsp/bitreader_buffer.h: vp9_->vpx_Yaowu Xu
Replace vp9_ in names to vpx_ for non codec specific functions. Change-Id: Ib9e3b86cb0728d10b239f3493ceda18cc2c34e0f
2015-07-20vpx_dsp/bitreader.h: vp9_->vpx_Yaowu Xu
Replace vp9_ in names to vpx_ as they are not codec specific. Change-Id: I2e583aa63dee769353ada4b42417aa15c4074ebb
2015-07-20Merge "Correctly report "Unsupported bitstream profile""Yaowu Xu
2015-07-20Removed vp9_ prefix from vpx_dsp/bitreader file namesYaowu Xu
Change-Id: I0426126d0a65f13f9250983e44cc366b1b1a9c4a
2015-07-17Move bit reader files to vpx_dspYaowu Xu
Change-Id: Ib1cb1fbe92a39ff5312cee069559be6d3ea458d0
2015-07-17Correctly report "Unsupported bitstream profile"Yaowu Xu
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
2015-07-13Refactor intra block prediction and reconstruction processJingning Han
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
2015-07-13Refactor intra block prediction functionJingning Han
This commit simplifies the intra block boundary condition logic. It removes the block index from the argument set. Change-Id: If00142512eb88992613d6609356dfd73ba390138
2015-07-13Merge "Revert "Fill buffer speed up""Jim Bankoski
2015-07-13Revert "Fill buffer speed up"Jim Bankoski
This reverts commit 9b4f9f45eee4d63cef3cd10f24923ed0bdd5ab7b. Change-Id: I23545ac8c7464127f7466fc6a58de517874fe0cf
2015-07-09Merge "Fill buffer speed up"Jim Bankoski
2015-07-09Fill buffer speed upJim Bankoski
Eliminates the byte by byte read from bool decoder, by reading in a size_t and then shifting it into place. Change-Id: Id89241977103fc3b973e4ed172a5cbf246998e5d
2015-07-09Eliminate num_8x8 and num_4x4 width/height lookupsScott LaVarnway
Also some log2 lookups. Pass in 8x8 block width/height and log2 num4x4s instead. Change-Id: I8ea9a1ec1e0bbab23f8ba556954a1b5433f4d613
2015-07-08Refactor transform block loop for inter mode decodingJingning Han
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
2015-07-08Merge "Don't allocate dqcoeff in MACROBLOCKD."Alex Converse
2015-07-08Don't allocate dqcoeff in MACROBLOCKD.Alex Converse
The encoder gets its dqcoeff from the context tree. In the decoder move it to directly after MACROBLOCKD. Change-Id: I46c9b76f26956a360d17de0b26ecb994dae34ecb
2015-07-08Merge "Refactor inverse_transform_block argument list"Jingning Han
2015-07-08Merge "Reset dqcoeff[0] only if eob is 1"Jingning Han
2015-07-08Refactor inverse_transform_block argument listJingning Han
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
2015-07-08Merge "vp9_entropymv: remove vp9_get_mv_mag()"James Zern
2015-07-07Reset dqcoeff[0] only if eob is 1Jingning Han
If only the first dequantized coefficient is non-zero, reset dqcoeff[0] to zero directly. Change-Id: I0197ba72028a8ec436f0b1b9abcc1c0ae5d70abe
2015-07-07Rework scan order fetch logic for decoderJingning Han
Save redundant call for getting prediction mode to obtain scan order for detokenization. Change-Id: I0683ef119f1579d1261ed5d59052a1745b68ef6f
2015-07-07Add vp9_ prefix to init_macroblockdJingning Han
Change-Id: I202d4924e627eec94838741df004ed9259d38b88
2015-07-07Reduce dqcoeff array size in decoderJingning Han
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
2015-07-06vp9_entropymv: remove vp9_get_mv_mag()James Zern
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
2015-07-07Merge "inline vp9_reader_has_error()"James Zern
2015-07-06Merge "remove vp9_get_interp_kernel()"James Zern
2015-07-06remove vp9_get_interp_kernel()James Zern
expose filter_kernels[] and do the table lookup directly Change-Id: I0b10bff0327c3e01a723736141a9ffd377cd3d20
2015-07-06Merge "Rename vpx_thread to vpx_util"Jingning Han
2015-07-03Merge "Revert "Correct the inter prediction coordinate...""James Zern
2015-07-03Revert "Correct the inter prediction coordinate..."hkuang
Change in 92b199061a13173d29247257f4ef906d38b012bf leads to frame parallel decode failure in extreme case. addresses issue #1010 Change-Id: I4fa488dac8e8c584f5eef4cae1640a579130d387
2015-07-02Rename vpx_thread to vpx_utilJingning Han
Change the dir name to include more util tools. Change-Id: Id5b16062803ce5eed872fe2edb36d7e56b32eed8
2015-07-02Merge "Use vpx prefix for codec independent threading functions"Jingning Han
2015-07-02Merge "Move multi-threading module functions into vpx_thread folder"Jingning Han
2015-07-01inline vp9_reader_has_error()James Zern
this is tested for each block Change-Id: I229c6f0e9513fb206bdbce8be9699a4bf4008ca4
2015-07-02Merge "vp9_pred_common: inline vp9_get_tx_size_context"James Zern
2015-07-02Merge "vp9_pred_common: inline vp9_get_segment_id"James Zern
2015-07-02Use vpx prefix for codec independent threading functionsJingning Han
Replace vp9_ prefix with vpx_ for common multi-threading functions. Change-Id: I941a5ead9bfe8213fdad345511d2061b07797b55
2015-07-01Move multi-threading module functions into vpx_thread folderJingning Han
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
2015-06-30vp9_dsubexp: replace some divides with shiftsJames Zern
Change-Id: I24e10c37ea8f06600cd04b43512efa6170e23e5c
2015-06-30vp9/inv_remap_prob: simplify inv_map_table[]James Zern
add one to each entry to remove the universal 'value + 1'. Change-Id: I8919b1d7fde8155d1728196c4d577db3064e2c1e
2015-06-30vp9_dsubexp: remove clamp in inv_remap_prob()James Zern
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
2015-06-22Remove tile paramScott LaVarnway
and added to MACROBLOCKD. Change-Id: I0e60aaa9f84bcc9f2376d71bd934f251baee38db
2015-06-16Moved has_rows, has_cols in vp9_decodeframe.cScott LaVarnway
from read_partition() to decode_partition(). Change-Id: I6bee2a0e9ff315290a690c9d773c9648dd2a200d
2015-06-16Merge "Eliminated frame_type check in get_partition_probs()"Scott LaVarnway
2015-06-16Eliminated frame_type check in get_partition_probs()Scott LaVarnway
Moved the frame_type check to the tile level and stored the prob ptr in MACROBLOCKD. Change-Id: I10b5a4abd58213dc7610e3ade1a1583c01526842
2015-06-16Merge "Update use_prev_frame_mvs flag in decoder."Scott LaVarnway
2015-06-15vp9_pred_common: inline vp9_get_tx_size_contextJames Zern
+ drop 'vp9_' prefix Change-Id: If3f3ec32d03026af78b8fcd82749e587a3f43059
2015-06-15vp9_pred_common: inline vp9_get_segment_idJames Zern
+ drop 'vp9_' prefix Change-Id: Id5a3c8d416dbdf93d9f4f1bde662f7b2c2290168
2015-06-12Merge "decode_tiles_mt: remove incorrect TODO"James Zern