1. 05 Sep, 2014 1 commit
    • 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
  2. 03 Sep, 2014 1 commit
  3. 02 Sep, 2014 1 commit
  4. 29 Aug, 2014 1 commit
    • James Zern's avatar
      vp9: fix m/t loop filter invalid free · fec40f92
      James Zern authored
      store the number of allocated rows in VP9LfSync, the calculated values
      can not be relied on when dealing with corrupt material.
      
      Change-Id: I13b8bcec9738c299a71df726772ab7ac05511e5b
      fec40f92
  5. 27 Aug, 2014 2 commits
    • James Zern's avatar
      vp9: fix crash in inline loopfilter w/corrupt file · cde790c3
      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
      cde790c3
    • James Zern's avatar
      vp9: fix crash in mt loopfilter w/corrupt file · 4f27202d
      James Zern authored
      if the first frame was corrupt and loop filter not called, the next call
      would assume the necessary allocations had been done and segfault when
      accessing a NULL pointer
      
      Change-Id: Ib6ef505e5c594e6f0fe65ab0700172bcf06b92a6
      4f27202d
  6. 11 Aug, 2014 1 commit
    • James Zern's avatar
      vpx_codec_decode: check data size · 6a2e9ef2
      James Zern authored
      When a valid data pointer is given make sure the size is greater than
      zero.
      A previous check for vp9 was incorrectly removed in:
      70500747 Make the api behavior conform to api spec.
      
      No semantics for valid pointers + 0-sized frames are defined for VPx
      codecs, so move the check to vpx_codec_decode(). This avoids an assert
      in vp9.
      
      + add some basic invalid param testing for decoder init/decode/destroy
      
      Change-Id: I99f9cef6076d15874fd72ac973f2685d8a2353c3
      6a2e9ef2
  7. 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
  8. 26 Jul, 2014 1 commit
  9. 25 Jul, 2014 2 commits
  10. 18 Jul, 2014 1 commit
  11. 17 Jul, 2014 1 commit
  12. 16 Jul, 2014 1 commit
  13. 15 Jul, 2014 1 commit
  14. 11 Jul, 2014 1 commit
  15. 08 Jul, 2014 1 commit
  16. 05 Jul, 2014 1 commit
    • Deb Mukherjee's avatar
      Adds support for reading and writing 10/12-bit y4m · 5820c5d6
      Deb Mukherjee authored
      The y4m extension used is the same as the one used in ffmpeg/x264.
      The patch is adapted from the highbitdepth branch.
      
      Also adds unit tests for y4m header parsing and md5 check
      of the raw frame data, as well as y4m writing.
      
      [build fix for Mac/VS by not using tuples with strings]
      
      Change-Id: I40897ee37d289e4b6cea6fedc67047d692b8cb46
      5820c5d6
  17. 03 Jul, 2014 1 commit
  18. 02 Jul, 2014 1 commit
    • Deb Mukherjee's avatar
      Adds support for reading and writing 10/12-bit y4m · 82dc1332
      Deb Mukherjee authored
      The y4m extension used is the same as the one used in ffmpeg/x264.
      The patch is adapted from the highbitdepth branch.
      
      Also adds unit tests for y4m header parsing and md5 check
      of the raw frame data, as well as y4m writing.
      
      Change-Id: Ie2794daf6dbafd2f128464f9b9da520fc54c0dd6
      82dc1332
  19. 01 Jul, 2014 2 commits
  20. 27 Jun, 2014 2 commits
    • Alex Converse's avatar
      Add a CPU speed test with screen content. · 5d088123
      Alex Converse authored
      Encoding screen content exercises various fast skip paths that are
      missed by natural video content.
      
      Change-Id: Ie359884ef9be89cbe5dda6d82f1f79360604a090
      5d088123
    • 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
  21. 25 Jun, 2014 2 commits
    • James Zern's avatar
      test.mk: remove renamed file · 3abfee9a
      James Zern authored
      vp90-2-15-fuzz-flicker.webm was renamed in:
      c3db2d8b error check vp9 superframe parsing
      
      Change-Id: I229dd6ca4c662802c457beea0f7b4128153a65dc
      3abfee9a
    • 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
  22. 24 Jun, 2014 1 commit
  23. 23 Jun, 2014 1 commit
    • Jim Bankoski's avatar
      error check vp9 superframe parsing · c3db2d8b
      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
      c3db2d8b
  24. 20 Jun, 2014 2 commits
  25. 18 Jun, 2014 1 commit
    • Alex Converse's avatar
      BITSTREAM: Handle transform size and motion vectors more logically for non-420. · 7557a65d
      Alex Converse authored
      This breaks the profile 1 bitstream.
      
      Don't force non420 uv transform size to 1/4 y size. In the 4:2:0 case the
      chroma corresponding to a luma block is 1/4 its size. In the 4:4:4 case
      chroma and luma planes are the same size. Disallowing larger transforms
      can result in a loss of compression efficiency and is inconsistent.
      
      For sub-8x8 blocks only average corresponding motion vectors.
      
      4:2:0 and profile 0 behavior remains unchanged.
      
      Change-Id: I560ae07183012c6734dd1860ea54ed6f62f3cae8
      7557a65d
  26. 13 Jun, 2014 1 commit
    • Jingning Han's avatar
      Fix out of boundary memory read in fuzz test on vpxdec · 1ba18717
      Jingning Han authored
      This commit fixes frame header decoding for superframe index, to
      prevent out of boundary memory read triggered by fuzz test
      vector. It resolves a chromium security violation issue
      crbug.com/376802.
      
      The issue was introduced in the change:
      
      Add VPXD_SET_DECRYPTOR support to the VP9 decoder.
      cl-id I88f86c8ff9af34e0b6531028b691921b54c2fc48
      
      where the buffer was read before validation check on index offset
      applied.
      
      A test vector is added accordingly.
      
      Change-Id: I41c988e776bbdd1033312a668e03a3dbcf44ca99
      1ba18717
  27. 11 Jun, 2014 1 commit
  28. 15 May, 2014 1 commit
    • James Zern's avatar
      make spatial svc an experiment · f12ebfc9
      James Zern authored
      disabled by default, enable with:
      --enable-experimental --enable-spatial-svc
      
      this disables vp9_spatial_svc_encoder and svc_test, further work is
      needed to remove internal lib references
      
      Change-Id: I6a487ecbf07eb98843a99d96e17f08f960b63088
      f12ebfc9
  29. 09 May, 2014 1 commit
    • Yaowu Xu's avatar
      Add another test vector · fea5eab7
      Yaowu Xu authored
      The test vector has segment enabled with different quantizer used for
      different segments for bot the first frame(key) frame and the rest of
      non-key frames.
      
      Change-Id: I7e21122183050ee046219caba483c18cbc34afe7
      fea5eab7
  30. 07 May, 2014 1 commit
    • Yaowu Xu's avatar
      Added a test vector · f641d6bc
      Yaowu Xu authored
      The test vector is produced to have a single key frame, with segment
      map enabled and transmitted. Yet no segment feature is active.
      
      Change-Id: I365d62f00d05c07098b9a76fc8d3a991e427ec1a
      f641d6bc
  31. 24 Apr, 2014 2 commits
  32. 23 Apr, 2014 1 commit
  33. 18 Apr, 2014 1 commit