1. 24 Feb, 2014 1 commit
    • Adrian Grange's avatar
      Trap request to display non-existant frame · 709fecac
      Adrian Grange authored
      If show_existing_frame indicates that the decoder should
      display an existing (previously decoded) frame, add a
      check to make sure that the signaled buffer does contain
      a valid decoded frame.
      
      Change-Id: Iac8c686b321827414d69a3f2d0467566911bcba2
      709fecac
  2. 19 Feb, 2014 1 commit
  3. 13 Feb, 2014 2 commits
    • Yaowu Xu's avatar
      Removed the reset of mode_info from previous frame · 896d79a5
      Yaowu Xu authored
      Prior to this commit, both encoder and decoder reset mode/mv info from
      previous frame in error resilient mode to ensure bitstreams are able to
      decode when there is loss of frame in decoder side. However, this is
      not necessary. This commit changed to remove the reset, so encoder can
      continue to use mode/mv/partition information from previously encoded
      frame without affecting decodeablilty under loss of frame.
      
      Change-Id: I0279f862900dc647fb471ae3389770bb1b9f454f
      896d79a5
    • Dmitry Kovalev's avatar
      Renaming skip_coeff to skip for consistency. · 004c8c63
      Dmitry Kovalev authored
      Change-Id: I036e815ca63d00cba71202ae09ba0f6ef745dcb8
      004c8c63
  4. 10 Feb, 2014 1 commit
    • Frank Galligan's avatar
      Add get release decoder frame buffer functions. · e8e15279
      Frank Galligan authored
      This CL changes libvpx to call a function when a frame buffer
      is needed for decode. Libvpx will call a release callback when
      no other frames reference the frame buffer. This CL adds a
      default implementation of the frame buffer callbacks. Currently
      only VP9 is supported. A future CL will add support for
      applications to supply their own frame buffer callbacks.
      
      Change-Id: I1405a320118f1cdd95f80c670d52b085a62cb10d
      e8e15279
  5. 01 Feb, 2014 1 commit
  6. 31 Jan, 2014 1 commit
    • Yunqing Wang's avatar
      vp9 decoder: row-based multi-threaded loopfilter · 903801f1
      Yunqing Wang authored
      Implemented parallel loopfiltering, which uses existing tile-
      decoding threads. Each thread works on one row, and when that row
      is loopfiltered, it moves to next unattended row. To ensure the
      correct filtering order, threads are synchronized and one
      superblock is filtered only if the superblocks it depends on are
      filtered already.
      
      To reduce synchronization overhead and speed up the decoder, we use
      nsync > 1 for high resolution.
      
      Performance tests:
      1. on desktop:
      8-tile 4k video using 8 threads, speedup: 70% - 80%
      4-tile HD video using 4 threads, speedup: ~35%
      2. on mobile device(Nexus 7):
      4-tile 1080p video using 4 threads, speedup: 18% - 25%
      4-tile 1080p video using 2 threads, speedup: 10% - 15%
      
      Change-Id: If54b4a11960dd706c22d5ad145ad94156031f36a
      903801f1
  7. 29 Jan, 2014 2 commits
  8. 25 Jan, 2014 1 commit
    • Dmitry Kovalev's avatar
      Removing subpix_fn_table struct. · 86915654
      Dmitry Kovalev authored
      We don't use different filter kernels for x and y, it is always one kernel
      for both directions.
      
      Change-Id: Iefcbb02ec74bf46ea20d9dca672a3efd5d631517
      86915654
  9. 24 Jan, 2014 2 commits
    • Dmitry Kovalev's avatar
      Renaming INTERPOLATION_TYPE to INTERP_FILTER. · 4264c938
      Dmitry Kovalev authored
      Corresponding renames:
        subpel_kernel              => interp_kernel
        vp9_get_filter_kernel()    => vp9_get_interp_kernel()
        pred_filter_type           => pred_interp_filter
        adaptive_pred_filter_type  => adaptive_pred_interp_filter
        mcomp_filter_type          => interp_filter
        read_interp_filter_type()  => read_interp_filter()
        write_interp_filter_type() => write_interp_filter()
        fix_mcomp_filter_type()    => fix_interp_filter()
      
      Change-Id: I1fa61fa1dc81ebbf043457c3ee2d8d4515bee6d3
      4264c938
    • Frank Galligan's avatar
      Revert external frame buffer code. · b1c72b63
      Frank Galligan authored
      A future CL will add external frame buffers
      differently.
      
      Squash commit of four revert commits:
      Revert "Increase required number of external frame buffers"
      
      This reverts commit 9e41d569.
      
      Revert "Add external constants."
      
      This reverts commit bbf53047.
      
      Revert "Add frame buffer lru cache."
      
      This reverts commit fbada948.
      
      Conflicts:
      	vpxdec.c
      
      Change-Id: I76fe42419923a6ea6c75d9997cbbf941d73d3005
      
      Revert "Add support to pass in external frame buffers."
      
      This reverts commit 10f89169.
      
      Conflicts:
      	test/external_frame_buffer_test.cc
      	vp9/common/vp9_alloccommon.c
      	vp9/common/vp9_reconinter.c
      	vp9/decoder/vp9_decodeframe.c
      	vp9/encoder/vp9_onyx_if.c
      	vp9/vp9_dx_iface.c
      	vpx/vpx_decoder.h
      	vpx/vpx_external_frame_buffer.h
      	vpx_scale/generic/yv12config.c
      	vpxdec.c
      
      Change-Id: I7434cf590f1c852b38569980e4247fad0d939c2e
      b1c72b63
  10. 23 Jan, 2014 1 commit
    • Yaowu Xu's avatar
      Changed to prevent decoder crash · 10b0813a
      Yaowu Xu authored
      The change prevent a decoder crash for invalid stream with negative
      size.
      
      Change-Id: I7411765f3524c783058fa3d436549be4e75d8969
      10b0813a
  11. 21 Jan, 2014 2 commits
  12. 03 Jan, 2014 1 commit
    • Dmitry Kovalev's avatar
      Adding RefBuffer struct. · ba41e9d4
      Dmitry Kovalev authored
      Adding RefBuffer to simplify reference buffer management. The struct has a
      pointer to image data and scale factors relative to the current frame.
      
      Change-Id: If38eb1491ff687cc11428aee339f3e052e2c5d9e
      ba41e9d4
  13. 20 Dec, 2013 2 commits
  14. 18 Dec, 2013 2 commits
    • Johann's avatar
      Cast away Windows warning · dc2c62eb
      Johann authored
      Subtracting the pointers promoted to a signed type.
      
      Change-Id: Ied0e822a1756ed7b2f514efafcb6dce4efb9b9d6
      dc2c62eb
    • Johann's avatar
      Fix incorrect size reading · 85770264
      Johann authored
      Guard against incorrect size values moving *data past data_end.
      
      Check read length against the difference of the buffers.
      
      Change-Id: Ie0b54e2db517fd41a0f3ceb23402ee44839a4739
      85770264
  15. 16 Dec, 2013 2 commits
  16. 13 Dec, 2013 2 commits
  17. 11 Dec, 2013 1 commit
    • James Zern's avatar
      vp9 mt decode: reorder tile decode · 345fbfef
      James Zern authored
      reorder the tiles based on size and their presumed complexity. this
      minimizes the cases where the main thread is waiting on a worker to
      complete.
      
      Change-Id: Ie80642c6a1d64ece884f41683d23a3708ab38e0c
      345fbfef
  18. 10 Dec, 2013 1 commit
  19. 09 Dec, 2013 1 commit
  20. 06 Dec, 2013 3 commits
  21. 05 Dec, 2013 2 commits
    • Tero Rintaluoma's avatar
      Fix show existing frame · 047b0b01
      Tero Rintaluoma authored
      - Disable mode info update in case where current frame is coded
        as "show existing frame".
      - Should fix issue 676.
      
      Change-Id: Ibee681850eb307f982da6528d3e31cb94f881c08
      047b0b01
    • Frank Galligan's avatar
      Fix the initial references to frame buffers. · 9ed616a5
      Frank Galligan authored
      The old code would start in a mixed state, where all the reference
      frames were pointing to frame buffer 0, but the reference counts
      were 0. This is why we needed special code for the first frame.
      
      Change-Id: I734961012917654ff8c0c8b317aac00ab75ded1a
      9ed616a5
  22. 04 Dec, 2013 1 commit
    • Dmitry Kovalev's avatar
      Moving eob array to the encoder. · f00d157c
      Dmitry Kovalev authored
      In the decoder we don't need to save eobs, we can pass eob as an argument.
      That's why removing eob arrays from VP9Decompressor and TileWorkerData,
      and moving eob pointer from macroblockd_plane to macroblock_plane.
      
      Change-Id: I8eb919acc837acfb3abdd8319af63d1bbca8217a
      f00d157c
  23. 02 Dec, 2013 1 commit
    • Dmitry Kovalev's avatar
      Using local variable for token_cache. · 5ab920d2
      Dmitry Kovalev authored
      The difference with the old code is that originally the whole token_cache
      was initialized with zeros at the beginning of decode_coefs() function.
      Now we set several zero values explicitly with "token_cache[scan[c]] = 0".
      
      Change-Id: I88cc5031f01d13012d1a4491739c36cb44f9401e
      5ab920d2
  24. 27 Nov, 2013 2 commits
  25. 26 Nov, 2013 1 commit
    • Dmitry Kovalev's avatar
      Deleting vp9_treereader.h file. · d7efe068
      Dmitry Kovalev authored
      Renaming treed_read() to consistent vp9_read_tree() and moving it from
      deleted vp9_treereader.h to vp9_dboolhuff.h file.
      
      Change-Id: Iedd8655acbe25e4fcf62b79e5a13bdea69b6b004
      d7efe068
  26. 25 Nov, 2013 1 commit
    • Jingning Han's avatar
      Use separate inter predictors for enc/dec · ba8b5e8d
      Jingning Han authored
      The decoder will construct inter predictor using lazy border extension,
      while the encoder, going with multiple runs of motion search in the rate-
      distortion optimization loop for each block, does border extension at
      frame level. This commit makes separate the inter predictors for encoder
      and decoder, respectively.
      
      Change-Id: Ieca2fecba3a7201a6d64ef9f219e5d91e50559c3
      ba8b5e8d
  27. 23 Nov, 2013 1 commit
    • Dmitry Kovalev's avatar
      Renaming COMPPREDMODE_TYPE enum and its members. · fb9c19c6
      Dmitry Kovalev authored
      List of renames:
        COMPPREDMODE_TYPE      => REFERENCE_MODE
        SINGLE_PREDICTION_ONLY => SINGLE_REFERENCE
        COMP_PREDICTION_ONLY   => COMPOUND_REFERENCE
        HYBRID_PREDICTION      => REFERENCE_MODE_SELECT (like TX_MODE_SELECT)
        NB_PREDICTION_TYPES    => REFERENCE_MODES
      
      Change-Id: If723dabe9435325d0165dcd028142a2c78b417b4
      fb9c19c6
  28. 22 Nov, 2013 1 commit
    • Jingning Han's avatar
      Separate setup_scale_factor/extend_frame_borders · 86d2a9b9
      Jingning Han authored
      This commit takes out vp9_extend_frame_borders from
      vp9_setup_scale_factors.
      
      The refactoring is for the preparation of the use of lazy border
      extension at decoder. This makes it necessary to handle border
      extension separately at encoder/decoder. The use of
      vp9_extend_frame_borders will be removed, when lazy border extension
      is ready.
      
      Change-Id: Ia3baba3d179d5f11eee1634f19b3b319d2a59186
      86d2a9b9