summaryrefslogtreecommitdiff
path: root/vp9/decoder
AgeCommit message (Collapse)Author
2017-02-14apply clang-formatclang-format
Change-Id: I75e4a9e0b37bd4586f26c8d6c1fa27f3f6ff1bce
2016-11-22vp9,read_inter_block_mode_info: quiet msan warningJames Zern
best_sub8x8[1] won't be used meaningfully when is_compound is false, but may trigger an msan warning as the value is copied around and later clamped. BUG=667044 Change-Id: Icc24c3b72cdb550bebea44d4aaa4ff8bf3fbab56
2016-11-01vp9,tile_worker_hook: correctly set jmp targetJames Zern
vp9_init_macroblockd() resets the error_info to cm's global copy; this needs to be set to the thread-level target to avoid jumping to the incorrect stack, resulting in hang or crash. broken since: 1f4a6c8 vp9/tile_worker_hook: add multiple tile decoding includes v1.5.0, v1.6.0 BUG=629481 Change-Id: Icbf1696b25ba8c479e845fbf227b3c3ca73542f5
2016-09-28vp9_detokenize,decode_coefs: fix signed int overflowJames Zern
when decoding an invalid bitstream with --enable-vp9-highbitdepth BUG=webm:1297 Change-Id: I401d87033b4293f2ca595bc51678aad9951ecf15
2016-09-27Fix for compile error with range checkingPeter de Rivaz
Current version does not build with options: --enable-vp9-highbitdepth --enable-coefficient-range-checking Change-Id: Ic3285f1a3e0d6be88da7f2cd8fa5a631368dd03b
2016-09-23VP9: token decoder expansionScott LaVarnway
This version is based on Change 267683, but does not use the macros. Change-Id: I0619fa618decf8bdeef250584d75d70318b5d9a7
2016-09-23Merge "VP9: pass TileWorkerData instead of MACROBLOCKD and vpx_reader."Scott LaVarnway
2016-09-22VP9: pass TileWorkerData instead of MACROBLOCKD and vpx_reader.Scott LaVarnway
Change-Id: I869ef0f113c022143b531c44aefa0f1bb267052d
2016-09-19Code class0 using vpx_read() / vpx_write().Nathan E. Egge
The vp9_mv_class0_tree is a balanced tree with two leafs and can simply be coded as a boolean with probability class0[0]. Change-Id: If294dac825a5f945371092c74aa8e3f84cd962b6 (cherry picked from commit be8a8ab62ebdd111c6f2e9a33b15630570671eba)
2016-08-31Refactor uv tx size with lookup arraysDebargha Mukherjee
Change-Id: Ife6a3d301c5faaba89d16d188d638631083511f7
2016-08-03vp9/decoder,vp9/*.[hc]: apply clang-formatclang-format
Change-Id: Ic38ea06c7b2fb3e8e94a4c0910e82672a1acaea7
2016-07-21VP9: get_pred_context_switchable_interp() -- encoder sideScott LaVarnway
Change-Id: I7217c90d5cf38c51b76759a2dc4f10070f3a40ac
2016-07-06Merge "Remove decode asserts from better-hw-compatibility"Debargha Mukherjee
2016-07-06Remove decode asserts from better-hw-compatibilityDebargha Mukherjee
Safer to have the decoder operate normally and have better-hw-compatibility only implement encoding changes. Fixes some test failures. Change-Id: I0dd70d002e4e893992f0cd59774b9363e6f7fe76
2016-07-01Make set_reference control API work in VP9Yunqing Wang
Moved the API patch from NextGenv2. An example was included. To try it, for example, run the following command: $ examples/vpx_cx_set_ref vp9 352 288 in.yuv out.ivf 4 30 Change-Id: I4cf8f23b86d7ebd85ffd2630dcfbd799c0b88101
2016-06-21Add a hardware compatibility featurehui su
This commit adds an encoder workaround to support better compatibility with a non-compliant hardware vp9 profile 2 decoder. The known issue with this decoder is: The decoder assumes a wrong value, 127 instead of the correct value of 511 and 2047, for any assumed top-left corner pixel in UV planes for 10 and 12 bit, respectively. Such assumed top-left corner pixel is used for INTRA prediction when a real decoded/reconstructed pixel is not avalable, e.g. when it is located inside the row above the top row or inside the column left to the leftest column of a video image. Change-Id: Ic15a938a3107e1b85e96cb7903a5c4220986b99d
2016-05-25Prevent read to invalid RefBufferYaowu Xu
This commit adds check to validate RefBuffer before reading into the data structure, to prevent invalid read. BUG=https://bugs.chromium.org/p/chromium/issues/detail?id=614701 Change-Id: Ie111e95bd18e88fa19d8b25e097cdf52b7139cb6
2016-05-18Merge "Prevent invalid read"Yaowu Xu
2016-05-18Merge "Move, rename, and inline high_inter_predictor."Alex Converse
2016-05-18Move, rename, and inline high_inter_predictor.Alex Converse
The inlining mirrors what was done with the low bit depth inter_predictor. And the new highbd_inter_predictor name is more consistent with other high bit depth functions. Change-Id: I96437f745759aeec6260c6e39a974bf36f1c211c
2016-05-18Prevent invalid readYaowu Xu
This commit adds a check before reading into RefBuffer to prevent OOB read. BUG=https://bugs.chromium.org/p/chromium/issues/detail?id=612023 Change-Id: I5b02951932e7f457cfbe6b2e650790496b8577ae
2016-05-18Merge "VP9: _get_pred_context_switchable_interp()"Scott LaVarnway
2016-05-17VP9: _get_pred_context_switchable_interp()Scott LaVarnway
Remove unnecessary checks. Change-Id: Ic7bce8277ac5f4ae88d4ab7d0ae3ab110b2f225b
2016-05-17Promote to uint32_t before left shiftYaowu Xu
This commit change to promote uint8_t explicitly to uint32_t before left shift operation. BUG=https://bugs.chromium.org/p/chromium/issues/detail?id=612021 Change-Id: Id7059154efb5bdfa45889dabe72aaafd46d79f23
2016-04-15VP9: inline vp9_get_intra_inter_context()Scott LaVarnway
Change-Id: I71366140799b9b39474b9b459082cdb250bd1905
2016-04-10Merge "VP9: Combine TileData with TileWorkerData"Scott LaVarnway
2016-04-07VP9: Combine TileData with TileWorkerDataScott LaVarnway
Change-Id: I83536734a54ef7b85f90f56a51878d94fac7ff22
2016-04-06VP9: refactor read_switchable_interp_filter()Scott LaVarnway
Change-Id: I8f88b7ff21a0991297860c4a744a014629b0fa05
2016-04-01VP9: Refactor vp9_decode_block_tokens()Scott LaVarnway
Change-Id: I30ab27808ec903f9490f36621fb16c197bd35d16
2016-03-28Properly propagate out of memory errors.Jean-Yves Avenard
It would otherwise result in an infinite loop. Change-Id: Ic03fb220cc048538bd62dee599653187f2093079
2016-03-24Merge changes Id0a490bc,I1b4a0504James Zern
* changes: vp9/inverse_transform_block_inter: move eob check vp9/inverse_transform_block_intra: move eob check
2016-03-24VP9: Eliminate extra mv clamp in decoderScott LaVarnway
The mv is clamped in dec_find_mv_refs() to a smaller region than the clamp in dec_find_best_ref_mvs(). See clamp_mv_ref and clamp_mv2. Change-Id: I47dd5f7fa8b42f2cc593559b4d7c782fe7bcb1db
2016-03-23vp9/inverse_transform_block_inter: move eob checkJames Zern
1 level up. the function is a no-op for eob == 0 and shouldn't be called Change-Id: Id0a490bcce78c2b2ec6ea24d942191eb9b2bc16e
2016-03-23vp9/inverse_transform_block_intra: move eob checkJames Zern
1 level up. the function is a no-op for eob == 0 and shouldn't be called Change-Id: I1b4a050424cf2d0ea820120c8e7c4fb3065e39e7
2016-02-22Merge "VP9: rename vpx_read_mode_info to vp9_read_mode_info"Scott LaVarnway
2016-02-19VP9: rename vpx_read_mode_info to vp9_read_mode_infoScott LaVarnway
Change-Id: I3cb3da864e33012ba68d61ee8bafa8c42f00313c
2016-02-19VP9: remove x_mis, y_mis calculationsScott LaVarnway
Passed as arguments instead. Change-Id: I884a90baedf772692372e6e3520702c04a968f44
2016-02-17vp9/decoder,resize_mv_buffer: add missing alloc checkJames Zern
Change-Id: I3bc92175b07d5ef495bd75128638c340f3c2238f
2016-02-10VP9: Pass NULL scale_factors ptr when not scalingScott LaVarnway
to vp9_setup_pre_planes(), preventing the function unscaled_value() from being called. unscaled_value() returns the same value that was passed in. See scaled_buffer_offset() in vp9_reconinter.h. Change-Id: I2a6fbaf07972c2f212834929d29a2cbe72e399c3
2016-02-09VP9: Refactor read_inter_block_mode_info() -- 2Scott LaVarnway
Change-Id: I96d4764523b8d634eafb4cb3ed6eb3aee4052573
2016-02-02vp9_detokenize.c: remove unused macrosJames Zern
LOW_VAL_CONTEXT_NODE TWO_CONTEXT_NODE THREE_CONTEXT_NODE HIGH_LOW_CONTEXT_NODE CAT_ONE_CONTEXT_NODE CAT_THREEFOUR_CONTEXT_NODE CAT_THREE_CONTEXT_NODE CAT_FIVE_CONTEXT_NODE unused since: adaec4d Speeding up decode_coeffs(). Change-Id: Id07d2b0b76ff0ee6ef40d1b7a8e085e5e9e4aa8d
2016-02-01Merge "VP9: Refactor read_inter_block_mode_info()"Scott LaVarnway
2016-01-29VP9: Refactor read_inter_block_mode_info()Scott LaVarnway
Change-Id: I8e6a1a1b6eec17d0076660b559f6fc120a78c538
2016-01-27VP9: Refactor dec_build_inter_predictors_sb()Scott LaVarnway
Change-Id: I336fe2006288214977b5ee854124ee7b5bba5796
2016-01-19VP9: Eliminate MB_MODE_INFOScott LaVarnway
Change-Id: Ifa607dd2bb366ce09fa16dfcad3cc45a2440c185
2016-01-13VP9: inline vp9_use_mv_hp()Scott LaVarnway
Change-Id: Ib275bfc4c29c572d6c70e5ec6dbfc241590d3e3e
2016-01-12Merge "VP9: Eliminate unnecessary nearest/near searches"Scott LaVarnway
2016-01-12VP9: Eliminate unnecessary nearest/near searchesScott LaVarnway
Prior to this patch, read_inter_block_mode_info() would find the nearmv and nearestmv for all modes. Now it does not search for ZEROMV modes and breaks out early for NEARMV and NEWMV modes. Change-Id: Ifa7b1eaf58bb03b9c7792ea5012fef477527d0fd
2016-01-05Assert no mv clamping for scaled referencesYaowu Xu
Under --enable-better-hw-compabibility, this commit adds the asserts that no mv clamping is applied for scaled references, so when built with this configure option, decoder will assert if an input bitstream triggger mv clamping for scaled reference frames. Change-Id: I786e86a2bbbfb5bc2d2b706a31b0ffa8fe2eb0cb
2015-11-24Merge "Deduplicate some high bit depth tables"Alex Converse