- 13 Feb, 2014 - 2 commits
-
-
Yaowu Xu authored
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
-
Dmitry Kovalev authored
Change-Id: I036e815ca63d00cba71202ae09ba0f6ef745dcb8
-
- 10 Feb, 2014 - 1 commit
-
-
Frank Galligan authored
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
-
- 01 Feb, 2014 - 1 commit
-
-
Jim Bankoski authored
Change-Id: Ifdd951f24932839f06d1c700371662511dde6ebe
-
- 31 Jan, 2014 - 1 commit
-
-
Yunqing Wang authored
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
-
- 29 Jan, 2014 - 2 commits
-
-
Dmitry Kovalev authored
Change-Id: I27a30b43eae026a77f92958e2238d02d9cdf7832
-
Dmitry Kovalev authored
Adding new RefCntBuffer struct which contains reference counter and image buffer. Change-Id: I71c1f532faa13442c32c43fc03ec45b6f88fb844
-
- 25 Jan, 2014 - 1 commit
-
-
Dmitry Kovalev authored
We don't use different filter kernels for x and y, it is always one kernel for both directions. Change-Id: Iefcbb02ec74bf46ea20d9dca672a3efd5d631517
-
- 24 Jan, 2014 - 2 commits
-
-
Dmitry Kovalev authored
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
-
Frank Galligan authored
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 9e41d569. Revert "Add external constants." This reverts commit bbf53047. Revert "Add frame buffer lru cache." This reverts commit fbada948. Conflicts: vpxdec.c Change-Id: I76fe42419923a6ea6c75d9997cbbf941d73d3005 Revert "Add support to pass in external frame buffers." This reverts commit 10f89169. 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
-
- 23 Jan, 2014 - 1 commit
-
-
Yaowu Xu authored
The change prevent a decoder crash for invalid stream with negative size. Change-Id: I7411765f3524c783058fa3d436549be4e75d8969
-
- 21 Jan, 2014 - 2 commits
-
-
hkuang authored
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
-
Adrian Grange authored
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
-
- 03 Jan, 2014 - 1 commit
-
-
Dmitry Kovalev authored
Adding RefBuffer to simplify reference buffer management. The struct has a pointer to image data and scale factors relative to the current frame. Change-Id: If38eb1491ff687cc11428aee339f3e052e2c5d9e
-
- 20 Dec, 2013 - 2 commits
-
-
Dmitry Kovalev authored
Change-Id: I50c009ff8108bda1c57427f23d63a79c04f7e776
-
Dmitry Kovalev authored
Moving back to scale_factors struct. We don't need anymore x_offset_q4 and y_offset_q4 because both values are calculated locally inside vp9_scale_mv function. Change-Id: I78a2122ba253c428a14558bda0e78ece738d2b5b
-
- 18 Dec, 2013 - 2 commits
-
-
Johann authored
Subtracting the pointers promoted to a signed type. Change-Id: Ied0e822a1756ed7b2f514efafcb6dce4efb9b9d6
-
Johann authored
Guard against incorrect size values moving *data past data_end. Check read length against the difference of the buffers. Change-Id: Ie0b54e2db517fd41a0f3ceb23402ee44839a4739
-
- 16 Dec, 2013 - 2 commits
-
-
hkuang authored
Change-Id: Id677df4d3dbbed6fdf7319ca6464f19cf32c8176
-
Frank Galligan authored
VP9 decoder can now use frame buffers passed in by the application. Change-Id: I599527ec85c577f3f5552831d79a693884fafb73
-
- 13 Dec, 2013 - 2 commits
-
-
Dmitry Kovalev authored
set_offsets() is a right place to configure all mi-related pointers. Change-Id: I7d2fda72de5fc27e86c6589543b41fa044681dbf
-
James Zern authored
string literal to int within an assert Change-Id: I0c889256b67a078e6e2a79577f0b7ae084243258
-
- 11 Dec, 2013 - 1 commit
-
-
James Zern authored
reorder the tiles based on size and their presumed complexity. this minimizes the cases where the main thread is waiting on a worker to complete. Change-Id: Ie80642c6a1d64ece884f41683d23a3708ab38e0c
-
- 10 Dec, 2013 - 1 commit
-
-
hkuang authored
the border now. Next commit will totally remove the border. Change-Id: Ic1e1ca9cc34f81c688715b3948689b47df63a151
-
- 09 Dec, 2013 - 1 commit
-
-
Dmitry Kovalev authored
Change-Id: I83ffed2b1878a35ac35f07f9ee74309adc9c7b11
-
- 06 Dec, 2013 - 3 commits
-
-
Dmitry Kovalev authored
Change-Id: Ic3bb862e93aedf6a489a33ea6f7e5097d96855ee
-
Dmitry Kovalev authored
Also adding BAND_COEFF_CONTEXTS macro to simplify for loop logic. Change-Id: I12a78a49cf1addf81e6b3fe2a3736ec2b79bd79e
-
Dmitry Kovalev authored
NUM_YV12_BUFFERS => FRAME_BUFFERS ALLOWED_REFS_PER_FRAME => REFS_PER_FRAME NUM_REF_FRAMES_LOG2 => REF_FRAMES_LOG2 NUM_REF_FRAMES => REF_FRAMES NUM_FRAME_CONTEXTS_LOG2 => FRAME_CONTEXTS_LOG2 NUM_FRAME_CONTEXTS => FRAME_CONTEXTS Change-Id: I4e1ada08f25d8fa30fdf03aebe1b1c9df0f87e63
-
- 05 Dec, 2013 - 2 commits
-
-
Tero Rintaluoma authored
- Disable mode info update in case where current frame is coded as "show existing frame". - Should fix issue 676. Change-Id: Ibee681850eb307f982da6528d3e31cb94f881c08
-
Frank Galligan authored
The old code would start in a mixed state, where all the reference frames were pointing to frame buffer 0, but the reference counts were 0. This is why we needed special code for the first frame. Change-Id: I734961012917654ff8c0c8b317aac00ab75ded1a
-
- 04 Dec, 2013 - 1 commit
-
-
Dmitry Kovalev authored
In the decoder we don't need to save eobs, we can pass eob as an argument. That's why removing eob arrays from VP9Decompressor and TileWorkerData, and moving eob pointer from macroblockd_plane to macroblock_plane. Change-Id: I8eb919acc837acfb3abdd8319af63d1bbca8217a
-
- 02 Dec, 2013 - 1 commit
-
-
Dmitry Kovalev authored
The difference with the old code is that originally the whole token_cache was initialized with zeros at the beginning of decode_coefs() function. Now we set several zero values explicitly with "token_cache[scan[c]] = 0". Change-Id: I88cc5031f01d13012d1a4491739c36cb44f9401e
-
- 27 Nov, 2013 - 2 commits
-
-
Dmitry Kovalev authored
We only need qcoeff buffers in the encoder. Reducing TileWorkerData struct and VP9Decompressor struct sizes by 24K. Change-Id: Id148868461f7ffa3d3dd634b371503ae9c57e207
-
Dmitry Kovalev authored
Change-Id: I17268af3e0cbf7e5788c3154466e404947c944b3
-
- 26 Nov, 2013 - 1 commit
-
-
Dmitry Kovalev authored
Renaming treed_read() to consistent vp9_read_tree() and moving it from deleted vp9_treereader.h to vp9_dboolhuff.h file. Change-Id: Iedd8655acbe25e4fcf62b79e5a13bdea69b6b004
-
- 25 Nov, 2013 - 1 commit
-
-
Jingning Han authored
The decoder will construct inter predictor using lazy border extension, while the encoder, going with multiple runs of motion search in the rate- distortion optimization loop for each block, does border extension at frame level. This commit makes separate the inter predictors for encoder and decoder, respectively. Change-Id: Ieca2fecba3a7201a6d64ef9f219e5d91e50559c3
-
- 23 Nov, 2013 - 1 commit
-
-
Dmitry Kovalev authored
List of renames: COMPPREDMODE_TYPE => REFERENCE_MODE SINGLE_PREDICTION_ONLY => SINGLE_REFERENCE COMP_PREDICTION_ONLY => COMPOUND_REFERENCE HYBRID_PREDICTION => REFERENCE_MODE_SELECT (like TX_MODE_SELECT) NB_PREDICTION_TYPES => REFERENCE_MODES Change-Id: If723dabe9435325d0165dcd028142a2c78b417b4
-
- 22 Nov, 2013 - 2 commits
-
-
Jingning Han authored
This commit takes out vp9_extend_frame_borders from vp9_setup_scale_factors. The refactoring is for the preparation of the use of lazy border extension at decoder. This makes it necessary to handle border extension separately at encoder/decoder. The use of vp9_extend_frame_borders will be removed, when lazy border extension is ready. Change-Id: Ia3baba3d179d5f11eee1634f19b3b319d2a59186
-
Dmitry Kovalev authored
Change-Id: I6a48d1f35ed5fe7a2c7499675b339994c9c3bdf2
-
- 21 Nov, 2013 - 1 commit
-
-
Jim Bankoski authored
This code only updates the token_cache if the result is non0. Change-Id: Idcabd0b993a926fea9c29dbec134b9c5c4859b40
-