1. 03 Oct, 2012 2 commits
    • Adrian Grange's avatar
      Add initialization and per frame flag members · 4206c6dd
      Adrian Grange authored
      Modified EncoderTest class to have separate member variables
      for initialization time and per-frame.
      
      Change-Id: I08a1901f8f3ec16e45f96297e08e7f6df0f4aa0b
      4206c6dd
    • Adrian Grange's avatar
      Added Reset method to TwopassStatsStore · 30f58b52
      Adrian Grange authored
      The stats buffer needs to be reset between runs of the
      encoder. I added a Reset() function to TwopassStatsStore
      and called it at the beginning of each encode.
      
      This enables us to run multiple encodes which was
      previously not possible since there was no way to reset
      the stats between runs.
      
      Change-Id: Iebb18dab83ba9331f009f764cc858609738a27f9
      30f58b52
  2. 27 Sep, 2012 1 commit
    • Marco Paniconi's avatar
      Resetting of the cyclic_refresh_mode_index: · 9704cdec
      Marco Paniconi authored
      Reset the cyclie refresh mode index in alloc_compressor_data().
      This is needed to handle both cases of internal and
      external spatial resizing.
      
      Change-Id: I2697e12d45135eae2e8f0d45161811f24722312a
      9704cdec
  3. 26 Sep, 2012 1 commit
  4. 25 Sep, 2012 5 commits
  5. 24 Sep, 2012 6 commits
  6. 22 Sep, 2012 1 commit
    • Marco Paniconi's avatar
      Update to cyclic refresh. · 5979b89b
      Marco Paniconi authored
      -Increase the amount of mbs to be refreshed.
      -Replace the delta qp with a fixed and reduced delta.
      -Change to the mb update loop to try to always update same amount of mbs.
      
      Change-Id: I93ac88002fd8dc677d2337f77998ff93f64e4ff9
      5979b89b
  7. 21 Sep, 2012 1 commit
  8. 19 Sep, 2012 1 commit
    • Scott LaVarnway's avatar
      Moved vp8dx_get_raw_frame() call to vp8_get_frame() · e278673c
      Scott LaVarnway authored
      This change is necessary for the frame-based multithreading
      implementation.
      Since the postproc occurs in this call, vpxdec was modified to time around
      vpx_codec_get_frame()
      
      Change-Id: I389acf78b6003cd35e41becc16c893f7d3028523
      e278673c
  9. 17 Sep, 2012 5 commits
  10. 14 Sep, 2012 2 commits
  11. 13 Sep, 2012 3 commits
  12. 12 Sep, 2012 1 commit
  13. 11 Sep, 2012 3 commits
  14. 07 Sep, 2012 1 commit
    • Jim Bankoski's avatar
      valgrind caught uninitialized cond · 2ff6d350
      Jim Bankoski authored
      If the decoder crashes and returned an error before it set up
      block offsets but after it set up frame buffers.   We had a
      problem decoding the next keyframe because the block offsets
      were never set.
      
      Change-Id: Ied2866e9770d80fc66241d5e0d978d4f5f9cdd89
      2ff6d350
  15. 06 Sep, 2012 1 commit
  16. 04 Sep, 2012 1 commit
    • Deb Mukherjee's avatar
      Adjusting thresholds in mfqe post-processing · c6fd0a5d
      Deb Mukherjee authored
      Adjusts some of the qualification thresholds in mfqe to eliminate
      artifacts due to wrong decisions. Besides, a new qualification
      criteria is used to disable mfqe if the quality of the previous
      frame is itself not too good.
      
      Change-Id: I4097c20b7fd4fcc60cc3003c1e33e8faae2ff066
      c6fd0a5d
  17. 31 Aug, 2012 5 commits
    • Yunqing Wang's avatar
      7e9a519f
    • Yunqing Wang's avatar
      Encoder denoiser performance improvement · 64075c9b
      Yunqing Wang authored
      The denoiser function was modified to reduce the computational
      complexity.
      
      1. The denoiser c function modification:
      The original implementation calculated pixel's filter_coefficient
      based on the pixel value difference between current raw frame and last
      denoised raw frame, and stored them in lookup tables. For each pixel c,
      find its coefficient using
          filter_coefficient[c] = LUT[abs_diff[c]];
      and then apply filtering operation for the pixel.
      
      The denoising filter costed about 12% of encoding time when it was
      turned on, and half of the time was spent on finding coefficients in
      lookup tables. In order to simplify the process, a short cut was taken.
      The pixel adjustments vs. pixel diff value were calculated ahead of time.
          adjustment = filtered_value - current_raw
                     = (filter_coefficient * diff + 128) >> 8
      
      The adjustment vs. diff curve becomes flat very quick when diff increases.
      This allowed us to use only several levels to get a close approximation
      of the curve. Following the denoiser algorithm, the adjustments are
      further modified according to how big the motion magnitude is.
      
      2. The sse2 function was rewritten.
      
      This change made denoiser filter function 3x faster, and improved the
      encoder performance by 7% ~ 10% with the denoiser on.
      
      Change-Id: I93a4308963b8e80c7307f96ffa8b8c667425bf50
      64075c9b
    • Yaowu Xu's avatar
      added encode/decode matching validation to tests · c953aeac
      Yaowu Xu authored
      This commit adds the ability of validating matched encoder and
      decoder to unit tests.
      
      Change-Id: Ie00d69a42477b6a69b324a6bd134939684f7300b
      c953aeac
    • John Koleszar's avatar
      90625c3b
    • James Zern's avatar
      msvs/tests: fix data alignment for asm tests · 10f8b361
      James Zern authored
      Replace DECLARE_ALIGNED_ with vpx_memalign()
      
      DECLARE_ALIGNED (__declspec(align())) does not work as intended when
      used on class data members:
      
      Data in classes or structures is aligned within the class or structure
      at the minimum of its natural alignment and the current packing setting
      (from #pragma pack or the /Zp compiler option)
      
      Change-Id: I304aaa6c3716fbfae24675ecf192f4b40787e83e
      10f8b361