1. 19 Sep, 2014 1 commit
  2. 18 Sep, 2014 2 commits
  3. 15 Sep, 2014 1 commit
    • Frank Galligan's avatar
      Remove memset of every external frame buffer. · 175d9dfe
      Frank Galligan authored
      Libvpx was memseting every external frame buffer before decode. This
      was to work around a valgrind issue in our C loop filter. Most of
      the time this was not needed and we have noticed some significant
      performance loss on some platforms. Now we require the application to
      zero out the buffers if it is using external frame buffers.
      
      Change-Id: I7330d00a315e65137ed30edd5f813e8929b76242
      175d9dfe
  4. 12 Sep, 2014 2 commits
  5. 11 Sep, 2014 2 commits
  6. 05 Sep, 2014 1 commit
  7. 04 Sep, 2014 1 commit
  8. 03 Sep, 2014 1 commit
  9. 02 Sep, 2014 2 commits
    • 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
    • Minghai Shang's avatar
      [svc] Temporal svc with two pass rate control · be3b08da
      Minghai Shang authored
      It's built based on current spatial svc code.
      We only support one spatial two temporal layers at this time.
      Change-Id: I1fdc8584354b910331e626bfae60473b3b701ba1
      be3b08da
  10. 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
  11. 25 Aug, 2014 2 commits
    • Dmitry Kovalev's avatar
      Passing const cfg pointer to vpx_codec_{dec,enc}_init_ver(). · 44609657
      Dmitry Kovalev authored
      Change-Id: I3e319f581215ccb814afca247c1d911be231a4ac
      44609657
    • Minghai Shang's avatar
      [spatial svc]Multiple frame context feature · d4a407c0
      Minghai Shang authored
      We can use one frame context for each layer so that we don't have
      to reset the probs every frame. But we can't use prev_mi since we
      may drop enhancement layers. So we have to generate a non vp9
      compatible bitstream and modify it in the player.
      1. We need to code all frames as invisible frame to let prev_mi
         not to be used. But in the bitstream we need to code the
         show_frame flag to 1 so that the publisher will know it's
         supposed to be a visible frame.
      2. In the player we need to change the show_frame flag to 0 for
         all frames. Then add an one byte frame into the super frame
         to tell the decoder which layer we want to show.
      Change-Id: I75b7304cf31f0ab952f043e33c034495e88f01f3
      d4a407c0
  12. 22 Aug, 2014 1 commit
  13. 21 Aug, 2014 1 commit
  14. 20 Aug, 2014 1 commit
  15. 19 Aug, 2014 2 commits
  16. 14 Aug, 2014 1 commit
  17. 13 Aug, 2014 1 commit
  18. 12 Aug, 2014 2 commits
  19. 11 Aug, 2014 2 commits
    • Minghai Shang's avatar
      [spatial svc]Remove CONFIG_SPATIAL_SVC for ss_enable_auto_alt_ref in... · 136a022d
      Minghai Shang authored
      [spatial svc]Remove CONFIG_SPATIAL_SVC for ss_enable_auto_alt_ref in vpx_codec_enc_cfg to fix heap-overflow issue in asan config
      
      Change-Id: Icdf08501db5f416285f751d316941dfacd2c69ba
      136a022d
    • 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
  20. 08 Aug, 2014 1 commit
  21. 05 Aug, 2014 2 commits
  22. 31 Jul, 2014 1 commit
  23. 22 Jul, 2014 1 commit
  24. 17 Jul, 2014 1 commit
  25. 15 Jul, 2014 1 commit
  26. 14 Jul, 2014 1 commit
    • Minghai Shang's avatar
      [spatial svc]Implement alt reference frames · e899859c
      Minghai Shang authored
      All changes are for spatial svc only.
      1. Enable encoding hidden frames in each layer and use alt reference idex to reference the hidden frame in each layer
      2. Use golden reference idx for spatial reference
      3. For those layers that don't have hidden frames (caused by lack of frame buffers), reference a hidden frame in lower layers
      4. Add "auto-alt-refs" in svc options
      Change-Id: Idf27d1fd2fb5f3ffd9e86d2119235e3dad36c178
      e899859c
  27. 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
  28. 03 Jul, 2014 1 commit
  29. 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
  30. 25 Jun, 2014 2 commits