- 18 Sep, 2014 - 1 commit
-
-
Deb Mukherjee authored
Change-Id: Ie51c352a6b250547207cbc1ebba833a01ed053e3
-
- 16 Sep, 2014 - 1 commit
-
-
Deb Mukherjee authored
Adds various high bitdepth quantization functions. Change-Id: I36fc0bf75a1bd15128ed271df8723de0ac134b0c
-
- 12 Sep, 2014 - 1 commit
-
-
Deb Mukherjee authored
Adds various high bitdepth transform functions and tests. Much of the changes are related to using typedefs tran_low_t and tran_high_t for the final transform cofficients and intermediate stages of the transform computation respectively rather than fixed types int16_t/int. When vp9_highbitdepth configure flag is off, these map tp int16_t/int32_t, but when the flag is on, they map to int32_t/int64_t to make space for needed extra precision. Change-Id: I3c56de79e15b904d6f655b62ffae170729befdd8
-
- 10 Sep, 2014 - 1 commit
-
-
James Zern authored
don't bother decoding any further after receiving an earlier decode error until a key/intra-only frame is encountered. Change-Id: I381917b70d7a9e6f8d6de42e3d181bb113a4cec4
-
- 09 Sep, 2014 - 1 commit
-
-
James Zern authored
use the type names directly in the function declaration rather than (void *arg1, void *arg2) Change-Id: I3d1e6c42d384d8e628d7f2075fa561c2c5e20749
-
- 08 Sep, 2014 - 1 commit
-
-
Alex Converse authored
Check image format of reference frames. Change-Id: I7d8d7f097ba547839ff9cec3880bd15a4948ee06
-
- 05 Sep, 2014 - 2 commits
-
-
James Zern authored
allocations within vp9_alloc_context_buffers() rely on mi_rows/mi_cols individually, use those to determine whether to realloc rather than stride and stride * rows. this fixes a crash with some fuzzed files for invalid accesses into last_frame_seg_map and above_context. Change-Id: I7b9f40dcf170d443890f3bd2acd285507943c7d4
-
James Zern authored
proceeding using a corrupt (incompletely decoded) frame reference may lead to incorrect assumptions about allocation sizes leading to a crash. Change-Id: I76e74f2e1be127c2e2c7e1174bb3307497dfd23d
-
- 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
-
- 29 Aug, 2014 - 1 commit
-
-
James Zern authored
prevents any problems resuming decode after decoding a corrupt frame Change-Id: Ib7eb1b5c062aebe71074fef1ece32a32822c16be
-
- 28 Aug, 2014 - 1 commit
-
-
James Zern authored
this change is proactive: the loop filter expects valid input and may produce undefined results / crash in other cases. Change-Id: I6cc1e966062a91cbc6db981c87cd03d9129fc8fe
-
- 27 Aug, 2014 - 1 commit
-
-
James Zern authored
attempting to decode a frame after the previous frame failed has the potential of interrupting an earlier loop filter task Change-Id: I6f2b1ddcdf5b89c3e2ee8caf5289dada2a087d66
-
- 21 Aug, 2014 - 1 commit
-
-
Adrian Grange authored
The case where frame width increases but the overall memory size required to hold the mi arrays does not was not handled. Change-Id: I72e70b912a7d1766687ad682979f1c9ee124449b
-
- 14 Aug, 2014 - 1 commit
-
-
Adrian Grange authored
The test to determine if the mode info buffers need to be resized when the frame size changes was incorrect, as per bug 837. By storing the size of the allocated data structure, a simple test determines whether to allocate more memory when the frame size changes. Change-Id: I1544698f2882cf958fc672485614f2f46e9719bd
-
- 08 Aug, 2014 - 1 commit
-
-
Adrian Grange authored
This was shadowing the use of error_resilient_mode, but with the opposite sense. Change-Id: Ie4d30263a304fe4b3e94f0c7741db6888cc6afd8
-
- 07 Aug, 2014 - 1 commit
-
-
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
-
- 28 Jul, 2014 - 1 commit
-
-
Jim Bankoski authored
The issue was introduced by commit g9f37d149 with adding explicit restrictions on reference-frame scale factors. The restriction is checked against aligned-by-8 frame dimensions, not against original ones. So, for example, frame of 35×35 actually can refer to frame of 70×70, but the new check won't allow this. It will compare 35 vs 72 (not 70), so 2x downscale limit will be exceeded. Change-Id: Ic663693034440f64ac8312cbff9e1e773a921060
-
- 24 Jul, 2014 - 2 commits
-
-
Yaowu Xu authored
A previous change, https://gerrit.chromium.org/gerrit/#/c/70632, introduced a size validation for reference frames to insuare the input stream is a valid VP9 stream. However, the logic requiring all reference frames have valid size turned out to be too strict. In this commit, we modify the validation to require one of the reference frame has valid dimension. In addition, the decoder reports error whenever it detects the use of reference frame with invalid scalig ratio. Change-Id: If8efc312244087556cfe00f1fcbdff811268ebad
-
Adrian Grange authored
The patch: https://gerrit.chromium.org/gerrit/#/c/70814/ changed the test that determined whether the context frame buffers needed to be reallocated or not. The code checked for a change in total frame area to signal the need to reallocate context buffers. However, the above_context buffer needs to be resized i:xf only the width of the frame has increased. Change-Id: Ib89d75651af252908144cf662578d84f16cf30e6
-
- 21 Jul, 2014 - 2 commits
-
-
Alex Converse authored
Change-Id: Ic5d3a3a0dac10b49495771886a31e793bb78b5ca
-
Yunqing Wang authored
For gcc, when libvpx config option debug is disabled, added the flag -DNDEBUG to disable the assertions in libvpx for some speedup. Change-Id: Ifcb7b9e8ef5cbe5d07a24407b53b9a2923f596ee
-
- 18 Jul, 2014 - 2 commits
-
-
Adrian Grange authored
This patch adds back in code that checks that the frame size lies within defined bounds was inadvertantly removed by a previous patch: https://gerrit.chromium.org/gerrit/#/c/70814/ Change-Id: If526570ba559260c4b7e98098bc75f7700ae7f97
-
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
-
- 17 Jul, 2014 - 2 commits
-
-
Adrian Grange authored
This patch is the first step toward simplifying the frame buffer handling. The final goal is to have a common frame buffer handling framework for both encoder and decoder that incorporates the existing ability to use externally allocated memory. Change-Id: I2c378a4f54a39908915f46c4260e17a080db7ff1
-
Jim Bankoski authored
This is a practical concern to allow us to fail in a decoder instance if the size of a file is bigger than we can reasonably handle. Change-Id: I0446b5502b1f8a48408107648ff2a8d187dca393
-
- 11 Jul, 2014 - 1 commit
-
-
hkuang authored
Also fix bugs related with corrupted frame handling. Return VPX_CODEC_CORRUPT_FRAME when getting corrupted block. Change-Id: I7207ccc7c68c4df2b40b561315d16e49ccf7ff41
-
- 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
-
- 07 Jul, 2014 - 1 commit
-
-
hkuang authored
Prepare for frame parallel decoding, the reference count buffers need to be protected by mutex. Move vp9_thread.* to common folder so that those buffers could use cross-platform mutex from vp9_thread.*. Change-Id: I541277cf15eefed6641555944f67f4a0bcdc8154
-
- 01 Jul, 2014 - 2 commits
-
-
Jim Bankoski authored
Change-Id: I74fc5f1a7bab3128cdd49441b83ec3a25aee65ca
-
James Zern authored
pull the latest from WebP, which adds a worker interface abstraction allowing an application to override init/reset/sync/launch/execute/end this has the side effect of removing a harmless, but annoying, TSan warning. Original source: http://git.chromium.org/webm/libwebp.git 100644 blob 08ad4e1fecba302bf1247645e84a7d2779956bc3 src/utils/thread.c 100644 blob 7bd451b124ae3b81596abfbcc823e3cb129d3a38 src/utils/thread.h Local modifications: - s/WebP/VP9/g - camelcase functions -> lower with _'s - associate '*' with the variable, not the type Change-Id: I875ac5a74ed873cbcb19a3a100b5e0ca6fcd9aed
-
- 30 Jun, 2014 - 1 commit
-
-
Jim Bankoski authored
Change-Id: I38bb2801ad3f059d5e2eb6513eec92397c67abcd
-
- 27 Jun, 2014 - 1 commit
-
-
Jim Bankoski authored
This patch checks that a decoder never tries to reference frame that's outside the range of 2x to 1/16th the size of this frame. Any attempt to do so causes a failure. Change-Id: I5c98fa7bb95ac4f29146f29dd92b62fe96164e4c
-
- 25 Jun, 2014 - 1 commit
-
-
James Zern authored
the max is 6. there are assumptions throughout the decode regarding this; fixes a crash with a fuzzed bitstream $ zzuf -s 5861 -r 0.01:0.05 -b 6- \ < vp90-2-00-quantizer-00.webm.ivf \ | dd of=invalid-vp90-2-00-quantizer-00.webm.ivf.s5861_r01-05_b6-.ivf \ bs=1 count=81883 Change-Id: I6af41bb34252e88bc156a4c27c80d505d45f5642
-
- 20 Jun, 2014 - 1 commit
-
-
Jim Bankoski authored
See: https://code.google.com/p/chromium/issues/detail?id=362697 The code properly catches an invalid stream but seg faults instead of returning an error due to a buffer not having been initialized. This code fixes that. Change-Id: I695595e742cb08807e1dfb2f00bc097b3eae3a9b
-
- 02 Jun, 2014 - 1 commit
-
-
Dmitry Kovalev authored
Change-Id: I3f74418f07c2dfdd7725a5b4a8ef5c5f4aca6289
-
- 21 May, 2014 - 3 commits
-
-
Dmitry Kovalev authored
Change-Id: I79576920efb7f3f6f197d386727409759d8bda8d
-
Dmitry Kovalev authored
The final goal is eventually to get rid of both itxm_add and fwd_txm4x4. This patch does it in the decoder. Change-Id: Ibb3db57efbcbb1ac387c6742538a9fcf2c6f24a5
-
hkuang authored
https://gerrit.chromium.org/gerrit/#/c/70162/ Change-Id: I797be6a4b21460de6d791125fc20d2be3a35364f
-
- 20 May, 2014 - 1 commit
-
-
hkuang authored
The current decode_tiles decodes the frame one tile by one tile and then loopfilter the whole frame or use another worker thread to do loopfiltering. |------|------|------|------| |Tile1-|Tile2-|Tile3-|Tile4-| |------|------|------|------| For example, if a tile video has one row and four cols, decode_tiles will decode the Tile1, then Tile2, then Tile3, then Tile4. And during decode each tile, decode_tile will decode row by row in each tile. For frame parallel decoding, decode_tiles will decode video in row order across the tiles. So the order will be: "Decode 1st row of Tile1" -> "Decode 1st row of Tile2" -> "Decode 1st row of Tile3" -> "Decode 1st row of Tile4" -> "Decode 2nd row of Tile1" -> "Decode 2nd row of Tile2" -> "Decode 2nd row of Tile3" -> "Decode 2nd row of Tile4"-> "loopfilter 1st row" Change-Id: I2211f9adc6d142fbf411d491031203cb8a6dbf6b
-
- 16 May, 2014 - 1 commit
-
-
Dmitry Kovalev authored
Change-Id: I9ef40f3d95ab8f94f69e92ea25678a40956bc1ce
-