1. 24 Feb, 2011 3 commits
    • Scott LaVarnway's avatar
      Removed vp8_block2type · 861175ef
      Scott LaVarnway authored
      and used defines instead.
      Change-Id: Idb56e0295d004793f406dfd2d8d8c546aad62e03
    • Scott LaVarnway's avatar
      Revisited rd_pick_intra4x4block · 658454a0
      Scott LaVarnway authored
      Removed unnecessary copies.  No noticeable speed gains.
      Change-Id: I996c50c23fedd06d54ee7a3e762cbf559cc4a9d1
    • Paul Wilkins's avatar
      Overflow of frame error accumulators. · b862c108
      Paul Wilkins authored
      This fixes an overflow problem in the frame error accumulators.
      The overflow condition is extreme but did trigger when Frank B.
      coded some high motion interlaced HD content.
      The observed effect was a catastrophic  breakdown of the rate
      control leading to massive undershoot and poor bit allocation.
      All the error values should really be unsigned but I will look at this
      Change-Id: I9745f5c5ca2783620426b66b568b2088b579151f
  2. 18 Feb, 2011 6 commits
  3. 17 Feb, 2011 2 commits
  4. 16 Feb, 2011 1 commit
    • Yunqing Wang's avatar
      Allocate source buffers to be multiples of 16 · da227b90
      Yunqing Wang authored
      Currently, when the video frame width is not multiples of 16, the
      source buffer has a stride of non-multiples of 16, which forces
      an unaligned load in SAD function and hurts the performance. To
      avoid that, this change allocates source buffers to be multiples
      of 16.
      Change-Id: Ib7506e3eb2cea06657d56be5a899f38dfe3eeb39
  5. 15 Feb, 2011 1 commit
  6. 14 Feb, 2011 4 commits
    • Scott LaVarnway's avatar
      Improved vp8_rd_pick_intra_mbuv_mode · 94d4fee0
      Scott LaVarnway authored
      Eliminated unnecessary calculations. Very small change
      to performance.
      Change-Id: Ib7213d43c64e36955177c4d47950ff472266f822
    • Yunqing Wang's avatar
      Improve vp8_sad16x16_sse3 function · 2debd5b5
      Yunqing Wang authored
      In real-time mode, vp8_sad16x16 function is called heavily in
      motion search part. Improvement of this function gives 1.2%
      encoding performance gain (real-time mode, tulip clip).
      Change-Id: I23c401fc40c061f732a9767e8d383737a179bd58
    • James Berry's avatar
      mem leak fix for cpi->tplist · d3dfcde0
      James Berry authored
      checks added to make sure that cpi->tplist
      is freed correctly in vp8_dealloc_compressor_data
      and vp8_alloc_compressor_data.
      Change-Id: I66149dbbd25c958800ad94f4379d723191d9680d
    • Scott LaVarnway's avatar
      Improved rd_pick_intra4x4block · d419b93e
      Scott LaVarnway authored
      Eliminated unnecessary calculations.  Improved performance
      by 10% on keyframes and 1.6% overall for the test clip used.
      Change-Id: I87671b26af5e2cc439e81d0fee3b15c7cd2a3309
  7. 11 Feb, 2011 3 commits
    • Johann's avatar
      remove assembly detokenizer · bb6bcbcc
      Johann authored
      hasn't been kept up to date. remove it to avoid confusion.
      Change-Id: I52ffde19b59fec5c7a381299ca2e85cb38330be7
    • Yunqing Wang's avatar
      Add improved_mv_pred flag in real-time mode · 9d0b2cbb
      Yunqing Wang authored
      As mentioned in check-in "Improve motion search in real-time mode",
      MV prediction calculation causes speed loss for speed 7 and above.
      This change added a flag to turn off this calculation for speed>6
      in real-time mode.
      Change-Id: I9f4ae5a8bf449222d1784b54e7d315fc8347b2d1
    • Tero Rintaluoma's avatar
      ARMv6 optimized sad16x16 · 1ef86980
      Tero Rintaluoma authored
      Adds a new ARMv6 optimized function vp8_sad16x16_armv6 to encoder.
      Change-Id: Ibbd7edb8b25cb7a5b522d391b1e9a690fe150e57
  8. 10 Feb, 2011 2 commits
    • John Koleszar's avatar
      Fix relative include paths · 02321de0
      John Koleszar authored
      Allow compiling without adding vp8/{common,encoder,decoder} to the
      include paths.
      Change-Id: Ifeb5dac351cdfadcd659736f5158b315a0030b6c
    • Yunqing Wang's avatar
      Improve motion search in real-time mode · 41e6eceb
      Yunqing Wang authored
      Applied better MV prediction in real-time mode, which improves
      the encoding quality.
      Used quarter-pixel search instead of iterative sub-pixel search
      for speed >=5 to improve encoding performance.
      Tests on the test set showed:
      1. For speed=-5, quality improvement: 1.7% on AvgPSNR and 2.1%
      on SSIM, performance improvement: 3.6% (This counts in the
      performance lose caused by MV prediction calculation in "Improve
      MV prediction in vp8_pick_inter_mode() for speed>3").
      2. For speed=-8, quality improvement: 2.1% on AvgPSNR and 2.5%
      on SSIM. but, 6.9% performance decrease because of MV prediction
      calculation. This should be improved later.
      Change-Id: I349a96c452bd691081d8c8e3e54419e7f477bebd
  9. 09 Feb, 2011 5 commits
    • Scott LaVarnway's avatar
      Redefining good quality speed settings · 19054ab6
      Scott LaVarnway authored
      Created a new speed 1 which is in the middle of the old
      speed 0 and speed 1. (for both quality and performance)
      Change-Id: I4802133cdb43f359ca787646c090899679dd5d84
    • James Berry's avatar
      fixed stride in vp8_temporal_filter_predictors_mb_c · fffa2a61
      James Berry authored
      stride would not be calculated correctly for material
      with odd sized frame widths.
      Change-Id: I1710f6aef9ebb93d36249c9239c68c5baa9791f8
    • John Koleszar's avatar
      correct cost for implicit bit in mvs · 9954d05c
      John Koleszar authored
      Use 0xFFF0 vice 240 (0xF0) for determining whether the sometimes
      implicit bit 3 will be transmitted. This is consistent with the decoder
      and encode_mvcomponent().
      Change-Id: Ic1304d0ab56844bed8236edd1c5243a6767fc6b1
    • Gaute Strokkenes's avatar
      Put more code under #if CONFIG_MULTITHREAD. · 315e3c25
      Gaute Strokkenes authored
      Change-Id: Icf4b692099d7d249fe3553852b1022b027b28e4b
    • Tero Rintaluoma's avatar
      Adds armv6 optimized variance calculation · cb14764f
      Tero Rintaluoma authored
      Adds vp8_sub_pixel_variance16x16_armv6 function to encoder. Integrates
      ARMv6 optimized bilinear interpolations from vp8/common/arm/armv6
      and adds new assembly file for variance16x16 calculation.
       - vp8_filter_block2d_bil_first_pass_armv6   (integrated)
       - vp8_filter_block2d_bil_second_pass_armv6  (integrated)
       - vp8_variance16x16_armv6 (new)
       - bilinearfilter_arm.h (new)
      Change-Id: I18a8331ce7d031ceedd6cd415ecacb0c8f3392db
  10. 08 Feb, 2011 4 commits
    • Johann's avatar
      clean up bilinear filter · e5aaac24
      Johann authored
      make reference version of bilinear_filters short.
      use reference versions of bilinear_filters and sub_pel_filters when
      recognize that Width was being passed into
      filter_block2d_bil_first_pass multiple times. ARM version had already
      fixed this. propegate to C.
      change references to src_pixels_per_line to src_pitch and standardize on
      src/dst (instead of input/output).
      recognize that first_pass is only run in the verticle and second_pass
      only horizontal. ARM version had already fixed this. propegate to C
      Change-Id: I292d376d239a9a7ca37ec2bf03cc0720606983e2
    • Scott LaVarnway's avatar
      Added early breakout for vp8_rd_pick_intra4x4mby_modes · 13db80c2
      Scott LaVarnway authored
      Improved performance of good quality, speed 0 (3% average)
      with no average quality loss.
      Change-Id: Ica34473f99bd74260eaebde6b132185e09e3c09d
    • Johann's avatar
      clarify *_offsets.asm differences · 40dcae9c
      Johann authored
      it's difficult to mux the *_offsets.c files because of header conflicts.
      make three instead, name them consistently and partititon the contents
      to allow building them as required.
      Change-Id: I8f9768c09279f934f44b6c5b0ec363f7943bb796
    • James Berry's avatar
      vp8e_get_preview fixed for resized frames · ddacf1cf
      James Berry authored
      preview_img d_w and d_h along with w and h
      would not be updated for resized frames.
      now uses sd.y_width and sd.y_height
      Change-Id: I52241de4cc1de5e73f865e668bd70a7cbd954390
  11. 07 Feb, 2011 2 commits
    • Johann's avatar
      move one of the offset files · 3273c7b6
      Johann authored
      common/arm/vpx_asm_offsets moves up a level. prepare for muxing with
      Change-Id: I89a04a5235447e66571995c9d9b4b6edcb038e24
    • Yunqing Wang's avatar
      Fix link error in real-time mode · 58d2e70f
      Yunqing Wang authored
      make vp8_mv_pred() and vp8_cal_sad() available in real-time mode.
      Change-Id: I71dbae241b486ba943458dcbae552ec4a51689d3
  12. 04 Feb, 2011 3 commits
    • Johann's avatar
      remove unused dboolhuff code · bb9c95ea
      Johann authored
      we were holding on to this "just in case." purge it instead
      Change-Id: I77a367b36d0821d731019f2566ecfffdae1d4b8a
    • John Koleszar's avatar
      correct quantizer initialization · 63fc44df
      John Koleszar authored
      The encoder was not correctly catching transitions in the quantizer
      deltas. If a delta_q was set, then the quantizer would be reinitialized
      on every frame, but if they transitioned to 0, the quantizer would
      not be reinitialized, leading to a encode-decode mismatch.
      This bug was triggered by commit 999e155f, which sets a Y2 delta Q
      for very low base Q levels.
      Change-Id: Ia6733464a55ee4ff2edbb82c0873980d345446f5
    • Gaute Strokkenes's avatar
      Remove duplicate loopfilter parameters. · ffc6aeef
      Gaute Strokkenes authored
      Change-Id: I0d41415e3961c2c9492d342290c1999f9d02e6d8
  13. 03 Feb, 2011 1 commit
  14. 02 Feb, 2011 1 commit
    • Attila Nagy's avatar
      Delay auto key frame insertion in realtime configuration · e5904f2d
      Attila Nagy authored
      Whe auto keyframe insertion is enabled and conditions are right (scene change)
      the encoder can decide to insert a key frame and does a re-encoding. This can
      introduce extra latency. In RT mode we do not do the re-encoding of the current
      frame but force the next frame to key frame.
      Change-Id: I15c175fa845ac4c1a1f18bea3676e154669522a7
  15. 01 Feb, 2011 2 commits