1. 25 Sep, 2014 1 commit
  2. 20 Sep, 2014 1 commit
    • hkuang's avatar
      Remove mi_grid_* structures. · c70cea97
      hkuang authored
      mi_grid_* are arrays of pointer to pointer. They save the pointers that point
      to the MIs in cm->mi. But they are unnecessary and complicated. The original
      goal was to remove MODE_INFO_t copy. But with an extra MODE_INFO_t pointer
      inside MODE_INFO_t, same goal could be achieved.
      
      This commit totally removes the mi_grid_* structures. But there are still
      many dummy MODE_INFO_t inside cm->mi which are a waste of memory. Next commit
      will do on-demand MODE_INFO_t allocation in order to save these memories.
      
      Change-Id: I3a05cf1610679fed26e0b2eadd315a9ae91afdd6
      c70cea97
  3. 18 Sep, 2014 1 commit
  4. 16 Sep, 2014 1 commit
  5. 12 Sep, 2014 1 commit
    • Deb Mukherjee's avatar
      Adds high bitdepth transform functions and tests · 10783d4f
      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
      10783d4f
  6. 10 Sep, 2014 1 commit
  7. 09 Sep, 2014 1 commit
  8. 08 Sep, 2014 1 commit
  9. 05 Sep, 2014 2 commits
    • James Zern's avatar
      vp9: correct context buffer resize check · bb4950df
      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
      bb4950df
    • James Zern's avatar
      vp9: fail decode if block/frame refs are corrupt · 440f5097
      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
      440f5097
  10. 02 Sep, 2014 1 commit
    • Deb Mukherjee's avatar
      Adds config opt for highbitdepth + misc. vpx · 5acfafb1
      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
      5acfafb1
  11. 29 Aug, 2014 1 commit
  12. 28 Aug, 2014 1 commit
  13. 27 Aug, 2014 1 commit
  14. 21 Aug, 2014 1 commit
  15. 14 Aug, 2014 1 commit
    • Adrian Grange's avatar
      Fix bug 837: realloc mode info buffers on resize · 4e30565a
      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
      4e30565a
  16. 08 Aug, 2014 1 commit
  17. 07 Aug, 2014 1 commit
    • Deb Mukherjee's avatar
      Changes hdr for profiles > 1 for intraonly frames · 09bf1d61
      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
      09bf1d61
  18. 28 Jul, 2014 1 commit
    • Jim Bankoski's avatar
      Fix reference frame size restrictions. · 899585eb
      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
      899585eb
  19. 24 Jul, 2014 2 commits
    • Yaowu Xu's avatar
      Changed validation of reference frame size · 9261e1aa
      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
      9261e1aa
    • Adrian Grange's avatar
      Fix allocation of context buffers on frame resize · 423e8a97
      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
      423e8a97
  20. 21 Jul, 2014 2 commits
  21. 18 Jul, 2014 2 commits
  22. 17 Jul, 2014 2 commits
    • Adrian Grange's avatar
      Modified frame buffer handling · f68aaa38
      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
      f68aaa38
    • Jim Bankoski's avatar
      allow config options to limit max size of decode · 943e4327
      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
      943e4327
  23. 11 Jul, 2014 1 commit
  24. 08 Jul, 2014 1 commit
  25. 07 Jul, 2014 1 commit
    • hkuang's avatar
      Move vp9_thread.* to common. · 337e8015
      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
      337e8015
  26. 01 Jul, 2014 2 commits
    • Jim Bankoski's avatar
      validate uv block size when reading partition · abf0df08
      Jim Bankoski authored
      Change-Id: I74fc5f1a7bab3128cdd49441b83ec3a25aee65ca
      abf0df08
    • James Zern's avatar
      update vp9_thread.[hc] · e656f44c
      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
      e656f44c
  27. 30 Jun, 2014 1 commit
  28. 27 Jun, 2014 1 commit
    • Jim Bankoski's avatar
      Better validation of invalid files · 9f37d149
      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
      9f37d149
  29. 25 Jun, 2014 1 commit
    • James Zern's avatar
      vp9: check tile column count · b2b07755
      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
      b2b07755
  30. 20 Jun, 2014 1 commit
  31. 02 Jun, 2014 1 commit
  32. 21 May, 2014 3 commits