1. 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
  2. 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
  3. 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
  4. 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
  5. 26 Jul, 2014 1 commit
  6. 25 Jul, 2014 2 commits
  7. 18 Jul, 2014 1 commit
  8. 17 Jul, 2014 1 commit
  9. 16 Jul, 2014 1 commit
  10. 15 Jul, 2014 1 commit
  11. 11 Jul, 2014 1 commit
  12. 08 Jul, 2014 1 commit
  13. 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
  14. 03 Jul, 2014 1 commit
  15. 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
  16. 01 Jul, 2014 2 commits
  17. 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
  18. 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
  19. 24 Jun, 2014 1 commit
  20. 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
  21. 20 Jun, 2014 2 commits
  22. 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
  23. 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
  24. 11 Jun, 2014 1 commit
  25. 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
  26. 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
  27. 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
  28. 24 Apr, 2014 2 commits
  29. 23 Apr, 2014 1 commit
  30. 18 Apr, 2014 1 commit
  31. 09 Apr, 2014 1 commit
  32. 08 Apr, 2014 1 commit
    • Frank Galligan's avatar
      Fix decoder resolution change with tiles · 6ae58931
      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
      6ae58931
  33. 28 Mar, 2014 1 commit
    • Yaowu Xu's avatar
      [BITSTREAM]Fix the scaling calculation · 4f857bac
      Yaowu Xu authored
      For very large size video image, the scaling calculation may need use
      value beyond the range of int. This commit upgrade the value to 64bit
      to make sure the calculation do not wrap around INT_MAX.
      
      The change corrected the decoder behavior.
      
      The bug affects only very large resolution video because the scaling
      calculation was sufficient for image size smaller than 2^13.
      
      This resolves issue:
      https://code.google.com/p/webm/issues/detail?id=750
      
      Change-Id: I2d2ed303ca6482f31f819f3c07d6d3e98ef3adc5
      4f857bac