- 13 Feb, 2015 1 commit
-
-
Adrian Grange authored
Adds a control function that allows the caller to get the size of the current frame. Change-Id: Iddfdedc0f3aa9aa46119f87d294681c82f275c9f
-
- 09 Feb, 2015 1 commit
-
-
hkuang authored
This will fix the frame parallel decode hang on windows due to not enough semaphores. This will also make the frame parallel decode safer as the number of frame buffers could only support maximum 8 threads. Change-Id: Id9ef50692819dcbebbd74a0aabffbfb3f39a4309
-
- 07 Feb, 2015 1 commit
-
-
hkuang authored
Change-Id: Ief6b526486bc729dcb787358bc0b781f278bdc66
-
- 04 Feb, 2015 1 commit
-
-
hkuang authored
After syncing the frame worker thread, avaiable thread count should increase by 1 even the worker thread does not have displayable frame to output. Change-Id: I9eeb87720fed82dfe38555286833ff88e8a8e746
-
- 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
-
- 16 Jan, 2015 1 commit
-
-
Yaowu Xu authored
This is to make the usage of the variable name consistent across the code base. Change-Id: I698739e55841c59358d1c6e5cc97c96088772943
-
- 06 Jan, 2015 1 commit
-
-
Yaowu Xu authored
With "show_existing_frame" frames: Minimum data size for profile 0 and 1 is 1 byte (8bits) Minimum data size for profile 2 and 3 is 2 bytes (9bits) Otherwise: Minimum data size is 8 bytes. This resolves the VP9 failure in fuzzing test build #56. Change-Id: I146d9d37688f535dd68d24aacc76d464ccffdf04
-
- 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 2 commits
-
-
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
-
Jim Bankoski authored
Change-Id: Id316b3786214bf1028992968955da917e3f2d4a3
-
- 08 Dec, 2014 1 commit
-
-
hkuang authored
Change-Id: I6e309e11f1641618d2424b7a2c0fe744b8974dec
-
- 14 Nov, 2014 1 commit
-
-
hkuang authored
A flush bug is discovered during putting frame parallel decoder into Android. This test will expose that bug. Change-Id: Ia047f27972f4da0471649f79f1f91e7695297473
-
- 22 Oct, 2014 1 commit
-
-
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
-
- 29 Sep, 2014 1 commit
-
-
Deb Mukherjee authored
Also includes yv12 config changes. Change-Id: Iacf40d8bf486815b54c32a127ce3cd4516b7e44f
-
- 04 Sep, 2014 1 commit
-
-
Dmitry Kovalev authored
Change-Id: I811526a9ee9f237604f72abe7fc677e39e0f457f
-
- 03 Sep, 2014 1 commit
-
-
Dmitry Kovalev authored
Change-Id: I5a03496de035fbcf31e4527cd25fcae4627a57a0
-
- 02 Sep, 2014 1 commit
-
-
Deb Mukherjee authored
Adds config parameter vp9_highbitdepth, to support highbitdepth profiles. Also includes most vpx level high bit-depth functions. However encode/decode in the highbitdepth profiles will not work until the rest of the code is in place. Change-Id: I34c53b253c38873611057a6cbc89a1361b8985a6
-
- 28 Aug, 2014 1 commit
-
-
Dmitry Kovalev authored
In order to understand memory layout consider the declaration of the following structs. The first one is a part of our API: struct vpx_codec_ctx { // ... struct vpx_codec_priv *priv; }; The second one is defined in vpx_codec_internal.h: struct vpx_codec_priv { // ... }; The following struct is defined 4 times for encoder/decoder VP8/VP9: struct vpx_codec_alg_priv { struct vpx_codec_priv base; // ... }; Private data allocation for the given ctx: struct vpx_codec_ctx *ctx = <get> struct vpx_codec_alg_priv *alg_priv = <allocate> ctx->priv = (struct vpx_codec_priv *)alg_priv; The cast works because vpx_codec_alg_priv has a vpx_codec_priv instance as a first member 'base'. Change-Id: I10d1afc8c9a7dfda50baade8c7b0296678bdb0d0
-
- 21 Aug, 2014 1 commit
-
-
Dmitry Kovalev authored
We don’t need to introduce new macro for the null value. Change-Id: I59dbae25feeebb4e8359095801aecc8bb17d7764
-
- 20 Aug, 2014 1 commit
-
-
Dmitry Kovalev authored
The iface pointer is already in vpx_codec_ctx struct. Change-Id: I9fffe27c613a7c94476f185a1e5a53ff6d99f1c6
-
- 18 Aug, 2014 1 commit
-
-
Minghai Shang authored
1. Clean the code for encode frame tests 2. Add encode w/ and w/o alt reference frame test 3. Add encode SNR layers test 4. Add encode multiple layers but decode partial layers test Change-Id: Ibd2c9bc02525db584a6f931a98405f2d851b3cd6
-
- 13 Aug, 2014 1 commit
-
-
James Zern authored
if the decode of the first frame fails, frame_to_show may not be set. fixes a crash in vpxdec with corrupt data. Change-Id: I5ab9476d005778a13fd42a39d05876bb6c90a93c
-
- 08 Aug, 2014 1 commit
-
-
Adrian Grange authored
Replaced encoder and decoder functions to get a pointer to a reference frame with a common function, vp9_get_ref_frame, and simplified it. Change-Id: Icb206fcce8caace3bfd1db3dbfa318dde79043ee
-
- 07 Aug, 2014 2 commits
-
-
hkuang authored
master branch. Change-Id: I7323ec4cf8b8b7841e37f2bf90548cefa9de9795
-
Deb Mukherjee authored
Specifies the bit-depth, color sampling and colorspace for intra only frames for profiles > 0 Also adds checks to ensure that profile 1 and 3 are exclusively used for non 420 streams. Change-Id: Icfb15fa1acccbce8f757c78fa8a2f60591360745
-
- 06 Aug, 2014 1 commit
-
-
Hangyu Kuang authored
When no more data is available, vpx_codec_decode should be called with NULL as data and 0 as data_sz. vpx_codec_get_frame iterates over a list of the frames available for display. The iterator storage should be initialized to NULL to start the iteration. Iteration is complete when this function returns NULL. Also change the unit test to conform to the api spec. Change-Id: I4b258b309f5df3d37d10c82f01492c0394181c2a
-
- 05 Aug, 2014 1 commit
-
-
Dmitry Kovalev authored
Change-Id: I60ffee7cf78e748792fa6d109322ec32f92e40a9
-
- 31 Jul, 2014 1 commit
-
-
Jim Bankoski authored
Change-Id: I1092239e21c1cde188ee2dcb765f4c6fc8c5cdec
-
- 21 Jul, 2014 1 commit
-
-
Alex Converse authored
Change-Id: Ic5d3a3a0dac10b49495771886a31e793bb78b5ca
-
- 18 Jul, 2014 1 commit
-
-
Deb Mukherjee authored
Separates HBD profile int two profiles (2 and 3) consistent with the highbitdepth branch. This patch is ported from the original highbitdepth branch patch: https://gerrit.chromium.org/gerrit/#/c/70460/ Two of the invalid file tests needed to be updated. Change-Id: I6a4acd2f7a60b1fb4cbcc8e0dad4eab4248431e3
-
- 08 Jul, 2014 1 commit
-
-
Adrian Grange authored
This patch fixes bug 633: https://code.google.com/p/webm/issues/detail?id=633 The first decoded frame does not have to be a keyframe, it could be an inter-frame that is coded intra-only. This patch fixes the handling of intra-only frames. A test vector has also been added that encodes 3 intra-only frames at the start of the clip. The test vector was generated using the code in the following patch: https://gerrit.chromium.org/gerrit/#/c/70680/ Change-Id: Ib40b1dbf91aae2bc047e23c626eaef09d1860147
-
- 03 Jul, 2014 1 commit
-
-
hkuang authored
The relationship of the user private data at runtime is not preserved from decode() to this call which may occur at an unknown point in the future Change-Id: Ia7eb25365c805147614574c3af87aedbe0305fc6
-
- 02 Jul, 2014 2 commits
-
-
hkuang authored
Prepare for frame parallel decoding, the frame buffers must be separated from the encoder and decoder structure, while the encoder and decoder will hold the pointer of the BufferPool. Change-Id: I172c78f876e41fb5aea11be5f632adadf2a6f466
-
- 28 Jun, 2014 1 commit
-
-
James Zern authored
This reverts commit b3363561. This causes a hang in: VP9/InvalidFileTest.ReturnCode/3 the change to test/user_priv_test.cc remains with a minor update Change-Id: I4a8a272ca37ea329b0f413f0b1cd827a238bd9fd
-
- 25 Jun, 2014 1 commit
-
-
hkuang authored
This patch reverts the previous revert from Jim and also add a variable user_priv in the FrameWorker to save the user_priv passed from the application. In the decoder_get_frame function, the user_priv will be binded with the img. This change is needed or it will fail the unit test added here: https://gerrit.chromium.org/gerrit/#/c/70610/ This reverts commit 9be46e45. Change-Id: I376d9a12ee196faffdf3c792b59e6137c56132c1
-
- 23 Jun, 2014 1 commit
-
-
Jim Bankoski authored
This patch insures that the last byte of a chunk that contains a valid superframe marker byte, actually has a proper superframe index. If not it returns an error. As part of doing that the file : vp90-2-15-fuzz-flicker.webm now fails to decode properly and moves to the invalid file test from the test vector suite. Change-Id: I5f1da7eb37282ec0c6394df5c73251a2df9c1744
-
- 21 Jun, 2014 1 commit
-
-
Jim Bankoski authored
Avoids failures: MSE_ClearKey/EncryptedMediaTest.Playback_VP9Video_WebM/0 MSE_ClearKey_Prefixed/EncryptedMediaTest.Playback_VP9Video_WebM/0 MSE_ExternalClearKey_Prefixed/EncryptedMediaTest.Playback_VP9Video_WebM/0 MSE_ExternalClearKey/EncryptedMediaTest.Playback_VP9Video_WebM/0 MSE_ExternalClearKeyDecryptOnly/EncryptedMediaTest.Playback_VP9Video_WebM/0 MSE_ExternalClearKeyDecryptOnly_Prefixed/EncryptedMediaTest.Playback_VP9Video_WebM/0 SRC_ExternalClearKey/EncryptedMediaTest.Playback_VP9Video_WebM/0 SRC_ExternalClearKey_Prefixed/EncryptedMediaTest.Playback_VP9Video_WebM/0 SRC_ClearKey_Prefixed/EncryptedMediaTest.Playback_VP9Video_WebM/0 Patches are This reverts commit 9bc04085 This reverts commit 6f5aba06 This reverts commit 9bc04085 I1f250441 Revert "Refactor the vp9_get_frame code for frame parallel." Ibfdddce5 Revert "Delay decreasing reference count in frame-parallel decoding." I00ce6771 Revert "Introduce FrameWorker for decoding." Need better testing in libvpx for these commits Change-Id: Ifa1f279b0cabf4b47c051ec26018f9301c1e130e
-