- 21 Jul, 2014 1 commit
-
-
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
-
- 15 May, 2014 2 commits
- 14 May, 2014 1 commit
-
-
Yaowu Xu authored
Change-Id: I0315cea6a5e58182bc2556e9825ec2ef0b1480c3
-
- 12 May, 2014 2 commits
-
-
Dmitry Kovalev authored
Inline loopfilter has been already handled in vp9_decode_frame(). Collecting all similar code in one place now. Change-Id: I358a0280fc7c2b27cca520bc1e8c16c4eb6491dd
-
Dmitry Kovalev authored
Change-Id: I910c437b80af90c50831e1fbff75842d4276a027
-
- 09 May, 2014 1 commit
-
-
Adrian Grange authored
Fixes the idecoder in the case where: cm->error_resilient_mode == 0, and cm->frame_parallel_decoding_mode == 0, but new_fb->corrupted == 1. The assert in debug_check_frame_counts fails to take into account the case of a corrupt frame. Change-Id: Idf318a68458cc88d65d6f3f408a10d8ffe87e43f
-
- 08 May, 2014 1 commit
-
-
Dmitry Kovalev authored
We only used two members from that struct: max_threads and inv_tile_order. Moving them directly to VP9Decoder struct. Change-Id: If696a4e5b5b41868a55f3cc971e1d7c1dd9d5f69
-
- 30 Apr, 2014 1 commit
-
-
Jim Bankoski authored
Don't update the stats if we have a corrupted frame. Change-Id: I65a13adc50e0389b4201d3b671f0225195dfaff4 TODO: Test case that shows this problem.
-
- 23 Apr, 2014 2 commits
-
-
Joey Parrish authored
Change-Id: I88f86c8ff9af34e0b6531028b691921b54c2fc48
-
Dmitry Kovalev authored
Actually, it would be great to have two separate enums INTRA_MODES and INTER_MODES in future. Change-Id: I6c4147cf0002853da9c1e03fe9514eab876f01c8
-
- 09 Apr, 2014 2 commits
-
-
Dmitry Kovalev authored
This reverts commit 22a3e307 Change-Id: I460d905edf5fb2006da58c18fbe02c04d0c631bb
-
Frank Galligan authored
Change-Id: I7a5230852cb24ce22bfe85ea2608cdb4619b5200
-
- 08 Apr, 2014 3 commits
-
-
Deb Mukherjee authored
Adds some high-level hooks for profile 2 before further progress on the implementation. According to the definitiion in this patch: 1. Profile 2 only supports 10 or 12 bit color but not 8 2. Profile 2 supports all color sampling modes: 444, 422 and 420, and alpha plane. 3. Profile 3 is currently undefined. Please consider the definition carefully and suggest modifications to the definition as needed. Change-Id: I5b284fc679e54ac5aee171af72fa7994cfd28995
-
Frank Galligan authored
There was a bug with the decoder that if you started the decoder with more threads than the first frame had tile columns. Afterwards tried to decode a frame with more tile columns than the first frame, the decoder would hang. E.g. run vpxdec --threads=4. The first frame had two tile columns, then the next key frame had 4 tile columns, the decoder would hang. If you started with 4 tiles and switched to 2 tiles the decoder would be fine. The issue is that the worker the thread loop is using is stale. I added a test vector "vp90-2-14-resize-848x480-1280x720.webm" that exhibited the bug. Change-Id: I7bdd47241a52ac0fe1c693a609bc779257e94229
-
Dmitry Kovalev authored
Change-Id: Ieb9b455b8aaef9884391021b7f640ef24c554687
-
- 07 Apr, 2014 1 commit
-
-
Dmitry Kovalev authored
Change-Id: Iad4002d7aecaae0e25d88e286bacde7e6cd7264f
-
- 03 Apr, 2014 1 commit
-
-
Dmitry Kovalev authored
Now interp_kernel is obtained when it is really required (based on mbmi->interp_filter value). Change-Id: I4c7a93c179d1045eba16e7526c293d02c9b8b47e
-
- 02 Apr, 2014 2 commits
-
-
Dmitry Kovalev authored
Change-Id: I88e018442c527cf21eac791f0768e805dda244f1
-
Dmitry Kovalev authored
Renames: mi_8x8 -> mi mode_info_stride -> mi_stride Change-Id: I66f3e5fd1e7b7f46f108af5bb711c5fd9493c1be
-
- 01 Apr, 2014 1 commit
-
-
Dmitry Kovalev authored
Change-Id: Ie2ea9dd8bd338cc9fe12ca9033df64f7644c68b3
-