- 28 Apr, 2015 1 commit
-
-
Scott LaVarnway authored
instead of calculating every block. Change-Id: Ib19ff2546be8441f8755ae971ba2910f29412029
-
- 21 Apr, 2015 1 commit
-
-
Scott LaVarnway authored
(see I3a05cf1610679fed26e0b2eadd315a9ae91afdd6) For the test clip used, the decoder performance improved by ~2%. This is also an intermediate step towards adding back the mode_info streams. Change-Id: Idddc4a3f46e4180fbebddc156c4bbf177d5c2e0d
-
- 09 Apr, 2015 1 commit
-
-
hkuang authored
Change-Id: Ia2956f06f409b9b0ca8320ca4c1ea5680e938402
-
- 08 Apr, 2015 1 commit
-
-
Frank Galligan authored
Refactor the loops in dec_build_inter_predictors to try and decrease the number of instructions. Limited testing saw about 1% perf increase on x86 and about 0.67 % perf increase on Arm. Change-Id: I69cfe6335bb562fbaaebf43fb3f5c5a2a28882a2
-
- 03 Apr, 2015 1 commit
-
-
hkuang authored
Change-Id: Ia4f3feb20df0e89cc51b02def858e12e927312cc
-
- 04 Mar, 2015 1 commit
-
-
Adrian Grange authored
Frame buffers are now allocated dynamically on-demand. Entries in the reference frame map, cm->ref_frame_map, may now be set to -1 (INVALID_IDX) to indicate that there is not a valid reference buffer in that "slot". All slots in the reference frame map are now initialized to the empty state (-1) and each buffer is initialized to have a reference count of 0. Change-Id: Id1afe98de98db4ae8b2dfefed7889c3b28c68582
-
- 03 Mar, 2015 2 commits
-
-
hkuang authored
A frame may be waiting for an out of border pixel from another frame. A frame's row progress variable is set to -1 when start being decoded and another frame may be waiting for -2 row pixel from this frame. In this case, vp9_frameworker_wait will return directly and skip the waiting which leads to tsan error between threads. Change-Id: Id16604915fb598b823e34393f696e3aa46fb6422
-
hkuang authored
Loopfilters are init in vp9_decode_frame. Change-Id: I4fbf6286b9b231451452e4ef3c19877a7b9a6768
-
- 23 Feb, 2015 1 commit
-
-
Yaowu Xu authored
This addresses the issue #960 Change-Id: Iddf45b4bd4f53cb0ddfd879e800a071cd843b915
-
- 19 Feb, 2015 1 commit
-
-
Hangyu Kuang authored
Change-Id: I00621ff7165bbe86a18794b4a816976c9effaf78
-
- 10 Feb, 2015 1 commit
-
-
hkuang authored
This border extension is not needed with on-demond border extension. Change-Id: I8501b37f5f756dc7e874cef4c1cfdbfa9a16112a
-
- 06 Feb, 2015 2 commits
-
-
Yunqing Wang authored
Moved vp9_accumulate_frame_counts to vp9_thread_common.c to eliminate the duplicate code. Change-Id: I9cf506d729603c8bf1494b4c86a3b7d47af1917a
-
Yunqing Wang authored
Renames the files to allow more common thread code to be moved to vp9/common. Change-Id: I7386e64e221086e3cdc087e79812f993c423413b
-
- 04 Feb, 2015 1 commit
-
-
Yunqing Wang authored
This patch continues the work to remove frame_parallel_decoding_mode requirement in VP9 multi-threaded tile decoder. In order to do that, the frame counts associated to each thread need to be accumulated together after the frame is decoded. Change-Id: Idba1a756cedfed3c154aef52ed82c8da3bbf9e0c
-
- 03 Feb, 2015 2 commits
-
-
Yunqing Wang authored
The current multi-threaded tile decoder requires that the videoes are encoded with frame_parallel_decoding_mode = 1. This requirement is not necessary, and is better to be removed. This patch includes the first part of the work. Change-Id: Ic7695fb3cfe13f9022582c9f0edd2aa6e2e36d28
-
hkuang authored
The merge did not merge the fix for issue #850. Change-Id: I0dc1377dbfcb9497fb01a13d4f78ac65bff5eb33
-
- 31 Jan, 2015 1 commit
-
-
hkuang authored
In frame parallel decode, libvpx decoder decodes several frames on all cpus in parallel fashion. If not being flushed, it will only return frame when all the cpus are busy. If getting flushed, it will return all the frames in the decoder. Compare with current serial decode mode in which libvpx decoder is idle between decode calls, libvpx decoder is busy between decode calls. Current frame parallel decode will only speed up the decoding for frame parallel encoded videos. For non frame parallel encoded videos, frame parallel decode is slower than serial decode due to lack of loopfilter worker thread. There are still some known issues that need to be addressed. For example: decode frame parallel videos with segmentation enabled is not right sometimes. * frame-parallel: Add error handling for frame parallel decode and unit test for that. Fix a bug in frame parallel decode and add a unit test for that. Add two test vectors to test frame parallel decode. Add key frame seeking to webmdec and webm_video_source. Implement frame parallel decode for VP9. Increase the thread test range to cover 5, 6, 7, 8 threads. Fix a bug in adding frame parallel unit test. Add VP9 frame-parallel unit test. Manually pick "Make the api behavior conform to api spec." from master branch. Move vp9_dec_build_inter_predictors_* to decoder folder. Add segmentation map array for current and last frame segmentation. Include the right header for VP9 worker thread. Move vp9_thread.* to common. ctrl_get_reference does not need user_priv. Seperate the frame buffers from VP9 encoder/decoder structure. Revert "Revert "Revert "Revert 3 patches from Hangyu to get Chrome to build:""" Conflicts: test/codec_factory.h test/decode_test_driver.cc test/decode_test_driver.h test/invalid_file_test.cc test/test-data.sha1 test/test.mk test/test_vectors.cc vp8/vp8_dx_iface.c vp9/common/vp9_alloccommon.c vp9/common/vp9_entropymode.c vp9/common/vp9_loopfilter_thread.c vp9/common/vp9_loopfilter_thread.h vp9/common/vp9_mvref_common.c vp9/common/vp9_onyxc_int.h vp9/common/vp9_reconinter.c vp9/decoder/vp9_decodeframe.c vp9/decoder/vp9_decodeframe.h vp9/decoder/vp9_decodemv.c vp9/decoder/vp9_decoder.c vp9/decoder/vp9_decoder.h vp9/encoder/vp9_encoder.c vp9/encoder/vp9_pickmode.c vp9/encoder/vp9_rdopt.c vp9/vp9_cx_iface.c vp9/vp9_dx_iface.c This reverts commit a18da976. Change-Id: I361442ffec1586d036ea2e0ee97ce4f077585f02
-
- 23 Jan, 2015 1 commit
-
- 17 Jan, 2015 1 commit
-
-
Yunqing Wang authored
1. Added row-based loopfilter in encoder; 2. Moved common multi-threaded loopfilter functions from decoder to common; 3. Merged multi-threaded loopfilter code, and made encoder/ decoder call same function to reduce code duplication. Encoder tests showed that 1% - 2% speedup was seen for good-quality 2-pass mode(at speed 3); 1% - 3% speedup using 2 threads and 4% - 6% speedup using 4 threads were seen for real-time mode(at speed 7). Change-Id: I8a4ac51c2ad9bab9fa7b864e90743931c53ec1c4
-
- 14 Jan, 2015 1 commit
-
-
Yaowu Xu authored
This commit adds encoder side control for vp9 to set color space info in the output compressed bitstream. It also amends the "vp9_encoder_params_get_to_decoder" test to verify the correct color space information is passed from the encoder end to decoder end. Change-Id: Ibf5fba2edcb2a8dc37557f6fae5c7816efa52650
-
- 13 Jan, 2015 1 commit
-
-
Yaowu Xu authored
This commit added a field to vpx_image_t for indicating color space, the field is also added to YUV_BUFFER_CONFIG. This allows the color space information pass through the decoder from input stream to the output buffer. The commit also updated compare_img() function with added verification of matching color space to ensure the color space information to be correctly passed from encode to decoder in compressed vp9 streams. Change-Id: I412776ec83defd8a09d76759aeb057b8fa690371
-
- 09 Jan, 2015 1 commit
-
-
Yaowu Xu authored
Replaced "color space" with "color format" in comments where color sampling format is concerned, so to differentiate from the concept defined in COLOR_SPACE. Change-Id: I8c935034c166b24307a99352dab1686531276bb8
-
- 30 Dec, 2014 1 commit
-
-
hkuang authored
macroblockd are init again inside decode_tiles and decode_tiles_mt. Change-Id: I1f42837864f095c319cdb24cec7d6aa6a3a4da50
-
- 19 Dec, 2014 1 commit
-
-
James Zern authored
this avoids longjmp'ing from another thread on error which will cause undesired behavior Change-Id: Ic9074ed8cc4243944bf2539d6e482f213f4e8c86
-
- 15 Dec, 2014 2 commits
-
-
Frank Galligan authored
This reverts commit 91471d6a. Fixes the compile issues if post_proc is enabled. Change-Id: Ib40a15ce2c194f9b5adfa65a17ab01ddf60f5a59
-
Paul Wilkins authored
Fails to compile. Bad calls to vp9_alloc_frame_buffer and vp9_realloc_frame_buffer in postproc.c This reverts commit 399823b6. Change-Id: I29f0e173f8e185d3a303cfdb17813e1eccb51e3a
-
- 12 Dec, 2014 1 commit
-
-
Frank Galligan authored
Add support for setting byte alignment on the Y, U, and V plane of the reference buffers. The byte alignment must be a power of 2, from 32 to 1024. A value of 0 sets legacy alignment. Change-Id: I7c1399622f7aa68e123646369216b32047dda73d
-
- 11 Dec, 2014 2 commits
-
-
hkuang authored
dqcoeff is set to be 0 on initialization. And set back to 0 after being used everytime. Change-Id: I32b8e149bba40a8d707849f737a8e49a691f319c
-
Alexander Voronov authored
If decoding starts with intra-only frame, there is a possibility of using uninitialized entropy context, what leads to undefined behavior. Change-Id: Icbb64b5b1bd1e5de2a4bfa2884e56bc0a20840af
-
- 08 Dec, 2014 1 commit
-
-
hkuang authored
Change-Id: I6e309e11f1641618d2424b7a2c0fe744b8974dec
-
- 04 Dec, 2014 1 commit
-
-
hkuang authored
No more checking of corrupted reference frame as we skip decoding any non-intra frame in case of frame corrupted. Change-Id: I77d41bbb02fc5f61972740e2d411441eb6a17073
-
- 01 Nov, 2014 1 commit
-
-
hkuang authored
This will save a lot of memory for decoder due to removing of prev_mi, but prev_mi is still needed in encoder. So this will increase a little bit memory for encoder. Change-Id: I24b2f1a423ebffa55a9bd2fcee1077dac995b2ed
-
- 23 Oct, 2014 1 commit
-
-
James Zern authored
Change-Id: I8a9c9019242ec10fa499a78db322221bf96a0275
-
- 22 Oct, 2014 2 commits
-
-
Yunqing Wang authored
This patch allocated frame contexts outside VP9_COMMON. This allows multiple threads to share the same copy of frame contexts, and reduces the overhead. It also guarantees the correct update of these contexts during bitstream packing. This patch doesn't change encoding result. Change-Id: Ic181a2460b891d1d587278a6d02d8057b9dbd353
-
Hangyu Kuang authored
Using 4 threads, frame parallel decode is ~3x faster than single thread decode and around 30% faster than tile parallel decode for frame parallel encoded video on both Android and desktop with 4 threads. Decode speed is scalable to threads too which means decode could be even faster with more threads. Change-Id: Ia0a549aaa3e83b5a17b31d8299aa496ea4f21e3e
-
- 16 Oct, 2014 4 commits
-
-
James Zern authored
Change-Id: I44d42a5098305a2d050ce8ff3c76baf7798c48af
-
James Zern authored
one less dependency on pbi Change-Id: I3f3a392416d3523f4aea6682c3965885baf85197
-
James Zern authored
a step towards removing the pbi dependency Change-Id: I10747b325e81c172f5e67031ea5159159fc26e91
-
James Zern authored
move them from VP9Worker::data[12] to allow the structure to be reused a bit more naturally by the multi-threaded loopfilter. Change-Id: I31b49c9e93ca744fd7f6d6ed8696671188fb2c1d
-
- 14 Oct, 2014 1 commit
-
-
hkuang authored
Change-Id: I59a53b419adda3a609d50b2a82f5a4a54849752e
-