1. 17 Jul, 2014 1 commit
    • Adrian Grange's avatar
      Modified frame buffer handling · f68aaa38
      Adrian Grange authored
      This patch is the first step toward simplifying the
      frame buffer handling.
      
      The final goal is to have a common frame buffer handling
      framework for both encoder and decoder that incorporates
      the existing ability to use externally allocated memory.
      
      Change-Id: I2c378a4f54a39908915f46c4260e17a080db7ff1
      f68aaa38
  2. 28 Jun, 2014 1 commit
    • James Zern's avatar
      vp9: disable postproc buffer alloc when unnecessary · 44472cde
      James Zern authored
      the buffer is only used in encoding and only when
      CONFIG_INTERNAL_STATS or CONFIG_VP9_POSTPROC is enabled.
      a future change should decouple this from the frame buffer allocation
      and make it conditional based on runtime flags when the above config
      options are enabled.
      reduces decode heap usage by at least 12%
      
      Change-Id: Id0b97620d4936afefa538d3aadf32106743d9caf
      44472cde
  3. 23 Jun, 2014 1 commit
    • Adrian Grange's avatar
      Allocate buffers based on correct chroma format · 8c1f071f
      Adrian Grange authored
      The encoder currently allocates frame buffers before
      it establishes what the chroma sub-sampling factor is,
      always allocating based on the 4:4:4 format.
      
      This patch detects the chroma format as early as
      possible allowing the encoder to allocate buffers of
      the correct size.
      
      Future patches will change the encoder to allocate
      frame buffers on demand to further reduce the memory
      profile of the encoder and rationalize the buffer
      management in the encoder and decoder.
      
      Change-Id: Ifd41dd96e67d0011719ba40fada0bae74f3a0d57
      8c1f071f
  4. 10 Jun, 2014 1 commit
    • hkuang's avatar
      Add mode info arrays and mode info index. · cdffeaaa
      hkuang authored
      In non frame-parallel decoding, this works the same way as
      current decoding scheme. Every time after decoder finish
      decoding a frame, it will swap the current mode info pointer
      and  previous mode info pointer if the decoded frame needs
      to be shown. Both mode info pointer and previous mode info
      pointer are from mode info arrays.
      
      In frame-parallel decoding, this will become more complicated
      as current frame's mode info pointer will be shared with next
      frame as previous mode info pointer. But when one decoder
      thread finishes decoding one frame and starts to work on next
      available frame, it needs to retain the decoded frame's mode
      info pointers until next frame finishes decoding. The mode info
      index will serve this purpose. The decoder will use different
      buffer in the mode info arrays and use the other buffer to save
      previous decoded frame’s mode info.
      
      Change-Id: If11d57d8eb0ee38c8876158e5482177fcb229428
      cdffeaaa
  5. 02 Apr, 2014 1 commit
  6. 25 Mar, 2014 1 commit
  7. 24 Mar, 2014 1 commit
  8. 21 Mar, 2014 1 commit
  9. 20 Mar, 2014 1 commit
  10. 19 Mar, 2014 1 commit
  11. 13 Mar, 2014 1 commit
  12. 10 Mar, 2014 1 commit
  13. 01 Mar, 2014 1 commit
    • Yaowu Xu's avatar
      Remove vp9_create_common() · 2f4eb5f0
      Yaowu Xu authored
      The function has evolved over time, now only calls vp9_rtcd(), so this
      commit removes the function and changes to call vp9_rtcd() directly.
      
      Change-Id: I8cfa6190daa4b28f6f3d1e11bb3a07f9c95322bf
      2f4eb5f0
  14. 27 Feb, 2014 1 commit
  15. 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
  16. 29 Jan, 2014 1 commit
  17. 24 Jan, 2014 1 commit
    • 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
  18. 21 Jan, 2014 1 commit
    • hkuang's avatar
      Seperate the border size for encoder and decoder. · 437004c7
      hkuang authored
      Encoder's boarder is still 160, while decoder's boarder will be 32.
      With on demand and separate boarder buffer for boarder extension.
      The decoder's boarder does not need to to 160 anymore.
      
      Change-Id: I93d5aaff15a33a2213e9761eaa37c5f2870747db
      437004c7
  19. 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
  20. 20 Dec, 2013 1 commit
  21. 16 Dec, 2013 2 commits
  22. 06 Dec, 2013 1 commit
    • Dmitry Kovalev's avatar
      Renaming constants. · 0d4b8d7e
      Dmitry Kovalev authored
      NUM_YV12_BUFFERS        => FRAME_BUFFERS
      ALLOWED_REFS_PER_FRAME  => REFS_PER_FRAME
      NUM_REF_FRAMES_LOG2     => REF_FRAMES_LOG2
      NUM_REF_FRAMES          => REF_FRAMES
      NUM_FRAME_CONTEXTS_LOG2 => FRAME_CONTEXTS_LOG2
      NUM_FRAME_CONTEXTS      => FRAME_CONTEXTS
      
      Change-Id: I4e1ada08f25d8fa30fdf03aebe1b1c9df0f87e63
      0d4b8d7e
  23. 05 Dec, 2013 1 commit
  24. 27 Nov, 2013 1 commit
  25. 26 Nov, 2013 3 commits
  26. 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
  27. 14 Nov, 2013 1 commit
  28. 28 Oct, 2013 1 commit
  29. 07 Oct, 2013 1 commit
  30. 01 Oct, 2013 1 commit
  31. 28 Sep, 2013 1 commit
    • Dmitry Kovalev's avatar
      Removing unnecessary function calls. · b10e6b29
      Dmitry Kovalev authored
      Both vp9_init_mbmode_probs() and vp9_zero(cm->ref_frame_sign_bias) are
      called inside vp9_setup_past_independence() which called in any case for
      encoder/decoder after VP9_COMMON struct creation.
      
      Change-Id: I3724d1a4fb8060101ff0290dd6a158f0b5c57bb4
      b10e6b29
  32. 11 Sep, 2013 1 commit
    • Scott LaVarnway's avatar
      New mode_info_context storage -- undo revert · ac6093d1
      Scott LaVarnway authored
      mode_info_context was stored as a grid of MODE_INFO structs.
      The grid now constists of pointers to MODE_INFO structs.  The
      MODE_INFO structs are now stored as a stream (decoder only),
      eliminating unnecessary copies and is a little more cache
      friendly.
      
      Change-Id: I031d376284c6eb98a38ad5595b797f048a6cfc0d
      ac6093d1
  33. 09 Sep, 2013 1 commit
  34. 06 Sep, 2013 1 commit
    • Scott LaVarnway's avatar
      New mode_info_context storage · dae17734
      Scott LaVarnway authored
      mode_info_context was stored as a grid of MODE_INFO structs.
      The grid now constists of a pointer to a MODE_INFO struct and
      a "in the image" flag.  The MODE_INFO structs are now stored
      as a stream, eliminating unnecessary copies and is a little
      more cache friendly.
      
      For the test clips used, the decoder performance improved
      by ~4.3% (1080p) and ~9.7% (720p).
      
      Patch Set 2: Re-encoded clips with latest. Now ~1.7% (1080p)
      and 5.9% (720p).
      
      Change-Id: I846f29e88610fce2523ca697a9a9ef2a182e9256
      dae17734
  35. 29 Aug, 2013 1 commit
  36. 22 Aug, 2013 1 commit
  37. 15 Aug, 2013 1 commit