summaryrefslogtreecommitdiff
path: root/vp9/decoder/vp9_decodeframe.c
AgeCommit message (Collapse)Author
2014-03-26Removing prev_mi_8x8 from MACROBLOCKD.Dmitry Kovalev
Change-Id: I32beb5f18c10b5771146c55933b5555487f53633
2014-03-25Removing redundant references to VP9D_COMP struct.Dmitry Kovalev
Change-Id: I4c4772c0e6aca2c7d7085a72412ac8dba8874a3d
2014-03-25Moving above_context to VP9_COMMON.Dmitry Kovalev
Change-Id: I713af99d1e17e05a20eab20df51d74ebfd1a68d2
2014-03-24Merge "Align threading LFWorkerData to 32 bytes."Yaowu Xu
2014-03-24Merge "Making c++ compiler happier."Dmitry Kovalev
2014-03-24Align threading LFWorkerData to 32 bytes.Yaowu Xu
This is to silent a number misalignment warning reported by valgrind. Change-Id: Ia47a06010b28d7a88dde21f3e4ccb9308fc6f8cf
2014-03-21Making c++ compiler happier.Dmitry Kovalev
Change-Id: Ie224e968589bdb0774dc112e6f6df56cc0447465
2014-03-21Removing redundant {above, left}_seg_context manipulation code.Dmitry Kovalev
Change-Id: Ib3c1746e61220c629cbd971b2458aa686b5c9e36
2014-03-21Merge "Reusing {above, left}_seg_context vars in both encoder and decoder."Dmitry Kovalev
2014-03-20Reusing {above, left}_seg_context vars in both encoder and decoder.Dmitry Kovalev
Change-Id: Id1fa36c92cb007b73a450cc8552e810cedad38b9
2014-03-20Removing source & source_sz from VP9Decompressor struct.Dmitry Kovalev
Change-Id: If4c1a48c60e8b27dd021a83170289ccc5467c6de
2014-03-19Removing mi_stream.Dmitry Kovalev
Change-Id: If674140e30c223c88894b983fd22a583efb99dcf
2014-03-12Renaming decode_modes_{b, sb}.Dmitry Kovalev
decode_modes_b => decode_block decode_modes_sb => decode_partition Change-Id: I2a208f5f7bcaa1105f6a2244e37c53b8958c5d76
2014-03-12Merge "Moving mi_streams from VP9Decompressor to VP9Common."Dmitry Kovalev
2014-03-10Moving mi_streams from VP9Decompressor to VP9Common.Dmitry Kovalev
Change-Id: I7ad79c061ad4efbc4914ac49723b48183fdbdd47
2014-03-10Removing last_mi from MACROBLOCKD struct.Dmitry Kovalev
Change-Id: Ied12b39c55667b26fd3bf90eb331e601c53a10f6
2014-03-10Merge "Renaming vp9_onyxd.h and vp9_onyxd_if.c to vp9_decoder.{h, c}."Dmitry Kovalev
2014-03-10Merge "vp9_reconinter.h static functions in header converted to global"Jim Bankoski
2014-03-06Renaming vp9_onyxd.h and vp9_onyxd_if.c to vp9_decoder.{h, c}.Dmitry Kovalev
Change-Id: Ibd0892be1ddadd93b8a22fa2c2e2053001f2948f
2014-03-05Merge "Removing vp9_onyxd_int.h file."Dmitry Kovalev
2014-03-05Removing vp9_onyxd_int.h file.Dmitry Kovalev
Moving VP9Decompressor struct from vp9_onyxd_int.h to vp9_onyxd.h. Change-Id: Ic86c15e44130541a7f692db43ef9109293f99ae8
2014-03-05Renaming NMV_UPDATE_PROB to MV_UPDATE_PROB.Dmitry Kovalev
Change-Id: I7f3bcca103f0b1f6b3c064b61472543de9a8288a
2014-03-03vp9_reconinter.h static functions in header converted to globalJim Bankoski
Change-Id: I916944950deb22f4c2301d83a803b732bf3ecd77
2014-03-03Adding get_tx_type() instead of get_tx_type_{8x8, 16x16}.Dmitry Kovalev
Change-Id: I4a54b12e5229705222c5a101258b9d1f81e2948d
2014-03-02vp9_decodeframe.c: remove unused paramsYaowu Xu
Change-Id: Ie83e18802234199491dbb6e90886739814558f96
2014-02-28Fix unused parameters in vp9_extend_frame_bordersYaowu Xu
Change-Id: I7255b3bc47d760333f58ac4878becbcc8ad30967
2014-02-28Merge "Adding get_y_mode() function."Dmitry Kovalev
2014-02-27Reusing existing mem_{get, put}_be32() functions.Dmitry Kovalev
Change-Id: Iba128039534e16a6e0a8cfe7e58306c4655e9f0d
2014-02-27Adding get_y_mode() function.Dmitry Kovalev
Change-Id: Iaac57b24f79cd205a8c62bc1177412d22f5787a8
2014-02-25Merge "Consistent names for reference_mode functions."Dmitry Kovalev
2014-02-24Trap request to display non-existant frameAdrian Grange
If show_existing_frame indicates that the decoder should display an existing (previously decoded) frame, add a check to make sure that the signaled buffer does contain a valid decoded frame. Change-Id: Iac8c686b321827414d69a3f2d0467566911bcba2
2014-02-19Consistent names for reference_mode functions.Dmitry Kovalev
Change-Id: I48c9e5e4ca21e11740c750ca2eabf7e8a51c52d2
2014-02-13Merge "Removed the reset of mode_info from previous frame"Yaowu Xu
2014-02-13Removed the reset of mode_info from previous frameYaowu Xu
Prior to this commit, both encoder and decoder reset mode/mv info from previous frame in error resilient mode to ensure bitstreams are able to decode when there is loss of frame in decoder side. However, this is not necessary. This commit changed to remove the reset, so encoder can continue to use mode/mv/partition information from previously encoded frame without affecting decodeablilty under loss of frame. Change-Id: I0279f862900dc647fb471ae3389770bb1b9f454f
2014-02-12Renaming skip_coeff to skip for consistency.Dmitry Kovalev
Change-Id: I036e815ca63d00cba71202ae09ba0f6ef745dcb8
2014-02-10Add get release decoder frame buffer functions.Frank Galligan
This CL changes libvpx to call a function when a frame buffer is needed for decode. Libvpx will call a release callback when no other frames reference the frame buffer. This CL adds a default implementation of the frame buffer callbacks. Currently only VP9 is supported. A future CL will add support for applications to supply their own frame buffer callbacks. Change-Id: I1405a320118f1cdd95f80c670d52b085a62cb10d
2014-01-31static function convert to inline or global vp9_blockd.hJim Bankoski
Change-Id: Ifdd951f24932839f06d1c700371662511dde6ebe
2014-01-31Merge "Combining fb_idx_ref_cnt[] and yv12_fb[] arrays."Dmitry Kovalev
2014-01-31Merge "Renaming "mbskip" to "skip"."Dmitry Kovalev
2014-01-31vp9 decoder: row-based multi-threaded loopfilterYunqing Wang
Implemented parallel loopfiltering, which uses existing tile- decoding threads. Each thread works on one row, and when that row is loopfiltered, it moves to next unattended row. To ensure the correct filtering order, threads are synchronized and one superblock is filtered only if the superblocks it depends on are filtered already. To reduce synchronization overhead and speed up the decoder, we use nsync > 1 for high resolution. Performance tests: 1. on desktop: 8-tile 4k video using 8 threads, speedup: 70% - 80% 4-tile HD video using 4 threads, speedup: ~35% 2. on mobile device(Nexus 7): 4-tile 1080p video using 4 threads, speedup: 18% - 25% 4-tile 1080p video using 2 threads, speedup: 10% - 15% Change-Id: If54b4a11960dd706c22d5ad145ad94156031f36a
2014-01-29Renaming "mbskip" to "skip".Dmitry Kovalev
Change-Id: I27a30b43eae026a77f92958e2238d02d9cdf7832
2014-01-29Combining fb_idx_ref_cnt[] and yv12_fb[] arrays.Dmitry Kovalev
Adding new RefCntBuffer struct which contains reference counter and image buffer. Change-Id: I71c1f532faa13442c32c43fc03ec45b6f88fb844
2014-01-24Removing subpix_fn_table struct.Dmitry Kovalev
We don't use different filter kernels for x and y, it is always one kernel for both directions. Change-Id: Iefcbb02ec74bf46ea20d9dca672a3efd5d631517
2014-01-24Renaming INTERPOLATION_TYPE to INTERP_FILTER.Dmitry Kovalev
Corresponding renames: subpel_kernel => interp_kernel vp9_get_filter_kernel() => vp9_get_interp_kernel() pred_filter_type => pred_interp_filter adaptive_pred_filter_type => adaptive_pred_interp_filter mcomp_filter_type => interp_filter read_interp_filter_type() => read_interp_filter() write_interp_filter_type() => write_interp_filter() fix_mcomp_filter_type() => fix_interp_filter() Change-Id: I1fa61fa1dc81ebbf043457c3ee2d8d4515bee6d3
2014-01-24Merge "Revert external frame buffer code."Frank Galligan
2014-01-24Revert external frame buffer code.Frank Galligan
A future CL will add external frame buffers differently. Squash commit of four revert commits: Revert "Increase required number of external frame buffers" This reverts commit 9e41d569d7c84dd9ca8f0047c15377a883945685. Revert "Add external constants." This reverts commit bbf53047b03106e3c2e24b28cb836cc838db5ee8. Revert "Add frame buffer lru cache." This reverts commit fbada948fa345e67acf9aa41a8f9a78f5dfe8648. Conflicts: vpxdec.c Change-Id: I76fe42419923a6ea6c75d9997cbbf941d73d3005 Revert "Add support to pass in external frame buffers." This reverts commit 10f891696bc4c972c13cc9fde2c53470501a03e2. Conflicts: test/external_frame_buffer_test.cc vp9/common/vp9_alloccommon.c vp9/common/vp9_reconinter.c vp9/decoder/vp9_decodeframe.c vp9/encoder/vp9_onyx_if.c vp9/vp9_dx_iface.c vpx/vpx_decoder.h vpx/vpx_external_frame_buffer.h vpx_scale/generic/yv12config.c vpxdec.c Change-Id: I7434cf590f1c852b38569980e4247fad0d939c2e
2014-01-23Changed to prevent decoder crashYaowu Xu
The change prevent a decoder crash for invalid stream with negative size. Change-Id: I7411765f3524c783058fa3d436549be4e75d8969
2014-01-22Merge "Seperate the border size for encoder and decoder."hkuang
2014-01-21Seperate the border size for encoder and decoder.hkuang
Encoder's boarder is still 160, while decoder's boarder will be 32. With on demand and separate boarder buffer for boarder extension. The decoder's boarder does not need to to 160 anymore. Change-Id: I93d5aaff15a33a2213e9761eaa37c5f2870747db
2014-01-21Force show_frame=1 when show_existing_frame=1Adrian Grange
When showing a previously decoded frame, we need to explicitly set the show_frame flag. For the current frame being decoded this flag is explicitly set in the frame header. This should fix WebM Issue 696: http://code.google.com/p/webm/issues/detail?id=696 Change-Id: I5751a809813f88d2ca6f62c47c3878475ff9ba8d