summaryrefslogtreecommitdiff
path: root/vp9/decoder
AgeCommit message (Collapse)Author
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
2015-11-23VP9: Only zero counts when !frame_parallel_decoding_mode (2)Scott LaVarnway
The counts are never used when frame_parallel_decoding_mode is set. Change-Id: I293aa68abadcdd30973adacb9f5f5a3aecf8daa2
2015-11-17Fixed a few sanity checks.Zoe Liu
Change-Id: Ieec4a7be5945dc6de192e2d8292ab978baf47f53 (cherry picked from commit 2096296421c7fa56abb49470c0fbe7c4337b8a71)
2015-11-11Revert "VP9: Only zero counts when !frame_parallel_decoding_mode"James Zern
This reverts commit 380a5519cca999f54b17f37b709996a11f3204ea. This causes an assertion failure in debug_check_frame_counts() which probably isn't valid with this change; leaving the investigation for later now. Change-Id: Ieda5ca811ed2fa50a0cc6935919a8d10dca996e0
2015-11-09VP9: Only zero counts when !frame_parallel_decoding_modeScott LaVarnway
The counts are never used when frame_parallel_decoding_mode is set. Change-Id: Ic7a566a048297f7373c9ffbb48929ea09eff674f
2015-11-03Deduplicate some high bit depth tablesAlex Converse
Change-Id: I6977f7d155cc1e81ae2393933893caac6770821f
2015-10-29vp9_decodeframe.h: add missing includeJames Zern
Change-Id: I8ef772a016a79cab88bee8e9739530aa030baaa9
2015-10-27Shrink probability remap tables.Alex Converse
Saves 2288 bytes in vp8+vp9 libvpx.a. Change-Id: Iaa5712e59a9693ed58cea63de63781a96827e44e
2015-10-16Add a new enum type vpx_color_range_tYaowu Xu
to make meaning of color_range obvious. Change-Id: I303582e448b82b3203b497e27b22601cc718dfff
2015-10-10tile_worker_hook: fix -Wclobbered warningJames Zern
*tile should be marked volatile like the others due to the use of setjmp() Change-Id: I5dbf8e6792e4c0f34a683434b4fd06e3b4c75c4b
2015-10-07vp9/decode_tiles_mt: remove unnecessary localJames Zern
reuse the common loop index Change-Id: I9db45a93c219c2123917514cb8e9d4ea86454711
2015-10-06vp9/tile_worker_hook: pass pbi directlyJames Zern
reduces the size of TileWorkerData reusing the storage in the worker itself Change-Id: If8a62fcb35167037c3da5814ab84fb81893f9cab
2015-10-06vp9/tile_worker_hook: add multiple tile decodingJames Zern
this reduces the number of synchronizations in decode_tiles_mt() and improves overall performance when the number of threads is less than the number of tiles Change-Id: Iaee6082673dc187ffe0e3d91a701d1e470c62924
2015-09-30VP9: remove plane_type from macroblockd_planeScott LaVarnway
Change-Id: Ia5072a3a92212d8565f33359f6c146469bdfbbec
2015-09-29Merge "VP9: move loopfilter build masks to decode loop"Scott LaVarnway
2015-09-29VP9: move loopfilter build masks to decode loopScott LaVarnway
The loopfilter masks are now built in the decode loop. This is done so we can eventually reduce the number of MODE_INFO structs required by the decoder. The encoder builds the masks for the entire frame prior to calling the loopfilter. Change-Id: Ia2146b07e0acb8c50203e586dfae0c4c5b316f11
2015-09-25vp9/10: improve support for render_width/height.Ronald S. Bultje
In the decoder, map this to the output variable vpx_image_t.r_w/h. This is intended as an improved version of VP9D_GET_DISPLAY_SIZE, which doesn't work with parallel frame decoding. In the encoder, map this to a codec control func (VP9E_SET_RENDER_SIZE) that takes a w/h pair argument in a int[2] (identical to VP9D_GET_DISPLAY_SIZE). Also add render_size to the encoder_param_get_to_decoder unit test. See issue 1030. Change-Id: I12124c13602d832bf4c44090db08c1009c94c7e8
2015-09-25Rename display_{size,width,height} to render_*.Ronald S. Bultje
The name "display_*" (or "d_*") is used for non-compatible information (that is, the cropped frame dimensions in pixels, as opposed to the intended screen rendering surface size). Therefore, continuing to use display_* would be confusing to end users. Instead, rename the field to render_*, so that struct vpx_image can include it. Change-Id: Iab8d2eae96492b71c4ea60c4bce8121cb2a1fe2d
2015-09-24vp9/10 decoder_remove: check pbi pointerJames Zern
fixes crash on error Change-Id: Ibb1ef5565fb833cdee1a49335473d98f1187ef43
2015-09-17Merge changes from topic 'tile-thread-cleanup'James Zern
* changes: vp9/decode_tiles_mt: move frame count accum from loop VP9Decoder: remove duplicate tile_worker_info vp9/decode_tiles_mt: move some inits from inner loop vp9_accumulate_frame_counts: pass counts directly
2015-09-16Add support for color-range.Ronald S. Bultje
In decoder, export (eventually) into vpx_image_t.range field. In encoder, use oxcf->color_range to set it (same way as for color_space). See issue 1059. Change-Id: Ieabbb2a785fa58cc4044bd54eee66f328f3906ce
2015-09-09vp9: add extern "C" to headersJames Zern
Change-Id: I1b6927ad820f99340985b094d415aaab14defaf4
2015-09-04vp9/decode_tiles_mt: move frame count accum from loopJames Zern
the check performed within the while was redundant; simply place the accumulation after all tiles are decoded. Change-Id: I6a74e87257c775fd8bfc8ac4511e4a6ad8f18346
2015-09-04VP9Decoder: remove duplicate tile_worker_infoJames Zern
unnecessary since: 86f4a3d Remove tile param Change-Id: Iff75d3acf6c5aade833ea0a214c919279403cf97
2015-09-04vp9/decode_tiles_mt: move some inits from inner loopJames Zern
worker copies of pbi/xd/counts only need to be initialized once Change-Id: I0081a85b9c82d39573c22d2fd2c670ec2f7b8715
2015-09-04vp9_accumulate_frame_counts: pass counts directlyJames Zern
Change-Id: Ic3c6cfba5b1867c335f2834da936e20caec8597a
2015-08-31Include vpx_dsp_common.h when using VPXMIN/MAXJohann
Change-Id: I2e387a06484a06301f3cd6600c4ba2f4335b61ee
2015-08-26vpx_dsp_common: add VPX prefix to MIN/MAXJames Zern
prevents redeclaration warnings; vp8 has its own define which will be resolved in a future commit Change-Id: Ic941fef3dd4262fcdce48b73075fe6b375f11c9c
2015-08-14Change vp9_ prefix function names in vpx_scale to vpx_Jingning Han
Change-Id: Iac85902cbbb3e752801dc85de9a3c778e47304aa