1. 29 Sep, 2014 1 commit
  2. 04 Sep, 2014 1 commit
  3. 03 Sep, 2014 1 commit
  4. 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
  5. 28 Aug, 2014 1 commit
    • Dmitry Kovalev's avatar
      Removing alg_priv from vpx_codec_priv struct. · 73edeb03
      Dmitry Kovalev authored
      In order to understand memory layout consider the declaration of the
      following structs. The first one is a part of our API:
      
      struct vpx_codec_ctx {
        // ...
        struct vpx_codec_priv *priv;
      };
      
      The second one is defined in vpx_codec_internal.h:
      
      struct vpx_codec_priv {
        // ...
      };
      
      The following struct is defined 4 times for encoder/decoder VP8/VP9:
      
      struct vpx_codec_alg_priv {
        struct vpx_codec_priv base;
        // ... 
      };
      
      Private data allocation for the given ctx:
      
      struct vpx_codec_ctx *ctx = <get>
      struct vpx_codec_alg_priv *alg_priv = <allocate>
      ctx->priv = (struct vpx_codec_priv *)alg_priv;
      
      The cast works because vpx_codec_alg_priv has a
      vpx_codec_priv instance as a first member 'base'.
      
      Change-Id: I10d1afc8c9a7dfda50baade8c7b0296678bdb0d0
      73edeb03
  6. 21 Aug, 2014 1 commit
  7. 20 Aug, 2014 1 commit
  8. 18 Aug, 2014 1 commit
    • Minghai Shang's avatar
      [spatial svc]Add a few different encode frame tests. · e1b5d248
      Minghai Shang authored
      1. Clean the code for encode frame tests
      2. Add encode w/ and w/o alt reference frame test
      3. Add encode SNR layers test
      4. Add encode multiple layers but decode partial layers test
      
      Change-Id: Ibd2c9bc02525db584a6f931a98405f2d851b3cd6
      e1b5d248
  9. 13 Aug, 2014 1 commit
  10. 08 Aug, 2014 1 commit
  11. 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
  12. 06 Aug, 2014 1 commit
    • Hangyu Kuang's avatar
      Make the api behavior conform to api spec. · 70500747
      Hangyu Kuang authored
      When no more data is available, vpx_codec_decode should
      be called with NULL as data and 0 as data_sz.
      
      vpx_codec_get_frame iterates over a list of the frames
      available for display. The iterator storage should be initialized
      to NULL to start the iteration. Iteration is complete when this
      function returns NULL.
      
      Also change the unit test to conform to the api spec.
      
      Change-Id: I4b258b309f5df3d37d10c82f01492c0394181c2a
      70500747
  13. 05 Aug, 2014 1 commit
  14. 31 Jul, 2014 1 commit
  15. 21 Jul, 2014 1 commit
  16. 18 Jul, 2014 1 commit
  17. 08 Jul, 2014 1 commit
  18. 28 Jun, 2014 1 commit
  19. 25 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. 21 Jun, 2014 1 commit
    • Jim Bankoski's avatar
      Revert 3 patches from Hangyu to get Chrome to build: · 9be46e45
      Jim Bankoski authored
      Avoids failures:
      MSE_ClearKey/EncryptedMediaTest.Playback_VP9Video_WebM/0
      MSE_ClearKey_Prefixed/EncryptedMediaTest.Playback_VP9Video_WebM/0
      MSE_ExternalClearKey_Prefixed/EncryptedMediaTest.Playback_VP9Video_WebM/0
      MSE_ExternalClearKey/EncryptedMediaTest.Playback_VP9Video_WebM/0
      MSE_ExternalClearKeyDecryptOnly/EncryptedMediaTest.Playback_VP9Video_WebM/0
      MSE_ExternalClearKeyDecryptOnly_Prefixed/EncryptedMediaTest.Playback_VP9Video_WebM/0
      SRC_ExternalClearKey/EncryptedMediaTest.Playback_VP9Video_WebM/0
      SRC_ExternalClearKey_Prefixed/EncryptedMediaTest.Playback_VP9Video_WebM/0
      SRC_ClearKey_Prefixed/EncryptedMediaTest.Playback_VP9Video_WebM/0
      
      Patches are
      This reverts commit 9bc04085
      This reverts commit 6f5aba06
      This reverts commit 9bc04085
      
      I1f250441	Revert "Refactor the vp9_get_frame code for frame parallel."
      Ibfdddce5	Revert "Delay decreasing reference count in frame-parallel decoding."
      I00ce6771	Revert "Introduce FrameWorker for decoding."
      
      Need better testing in libvpx for these commits
      
      Change-Id: Ifa1f279b0cabf4b47c051ec26018f9301c1e130e
      9be46e45
  22. 20 Jun, 2014 2 commits
  23. 19 Jun, 2014 1 commit
    • hkuang's avatar
      Add superframe support for frame parallel decoding. · 1eb6e683
      hkuang authored
      A superframe is a bunch of frames that bundled as one frame. It is mostly
      used to combine one or more non-displayable frames and one displayable frame.
      
      For frame parallel decoding, libvpx decoder will only support decoding one
      normal frame or a super frame with superframe index.
      
      If an application pass a superframe without superframe index or a chunk
      of displayable frames without superframe index to libvpx decoder, libvpx
      will not decode it in frame parallel mode. But libvpx decoder still could
      decode it in serial mode.
      
      Change-Id: I04c9f2c828373d64e880a8c7bcade5307015ce35
      1eb6e683
  24. 13 Jun, 2014 2 commits
    • 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
    • hkuang's avatar
      Delay decreasing reference count in frame-parallel decoding. · e4c5f7e2
      hkuang authored
      The current decoding scheme will decrease the reference count
      of the output frame when finish decoding. Then the application
      could copy the frame from the decoder buffer to application buffer.
      In frame-parallel decoding, a decoded frame will not be outputted
      until several frames later which depends on thread numbers. So
      the decoded frame's reference count should be decreased only
      after application finish copying the frame out. But due to the
      limitation of vpx_codec_get_frame, decoder could not know when
      application finish decoding. So use a index last_show_frame to
      release the last output frame's reference count.
      
      Change-Id: I403ee0d01148ac1182e5a2d87cf7dcc302b51e63
      e4c5f7e2
  25. 12 Jun, 2014 1 commit
    • hkuang's avatar
      Initially add frame_parallel_decode flag. · 537cb060
      hkuang authored
      Stub flag temporarily set to 0 until frame parallel
      decoding implementations are finished.
      
      Change-Id: I8ab768138e8f8f8eb809875703b2502ea0fe7cea
      537cb060
  26. 30 May, 2014 1 commit
    • hkuang's avatar
      Refactor the vp9_get_frame code for frame parallel. · 6f5aba06
      hkuang authored
      In frame parallel decoding mode,  there will be still several frames inside
      the decoder when application stop calling vpx_codec_decode to decode frames.
      The application will need to keep calling vpx_codec_get_frame to get all the
      remaining decoded frames in the decoder.
      
      Change-Id: I2ce8260a91282f045bb9a6093ff8a606b1990f14
      6f5aba06
  27. 28 May, 2014 1 commit
  28. 27 May, 2014 1 commit
  29. 21 May, 2014 1 commit
  30. 15 May, 2014 2 commits
  31. 14 May, 2014 3 commits
  32. 12 May, 2014 1 commit
    • Dmitry Kovalev's avatar
      Removing decode_one_iter() function. · f4b736a6
      Dmitry Kovalev authored
      When superframe index is available we completely rely on it and use frame
      size values from the index.
      
      Change-Id: I0011d08b223303a8b912c2bcc8a02b74d0426ee0
      f4b736a6
  33. 09 May, 2014 2 commits
  34. 08 May, 2014 1 commit
    • Dmitry Kovalev's avatar
      Removing VP9DecoderConfig. · 0dacecaf
      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
      0dacecaf