1. 24 Feb, 2011 3 commits
    • Scott LaVarnway's avatar
      Removed vp8_block2type · 861175ef
      Scott LaVarnway authored
      and used defines instead.
      
      Change-Id: Idb56e0295d004793f406dfd2d8d8c546aad62e03
      861175ef
    • Scott LaVarnway's avatar
      Revisited rd_pick_intra4x4block · 658454a0
      Scott LaVarnway authored
      Removed unnecessary copies.  No noticeable speed gains.
      
      
      Change-Id: I996c50c23fedd06d54ee7a3e762cbf559cc4a9d1
      658454a0
    • 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
      separately.
      
      Change-Id: I9745f5c5ca2783620426b66b568b2088b579151f
      b862c108
  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
      da227b90
  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
      94d4fee0
    • 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
      2debd5b5
    • 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
      d3dfcde0
    • 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
      d419b93e
  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
      bb6bcbcc
    • 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
      9d0b2cbb
    • 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
      1ef86980
  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
      02321de0
    • 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
      41e6eceb
  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
      19054ab6
    • 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
      fffa2a61
    • 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
      9954d05c
    • Gaute Strokkenes's avatar
      Put more code under #if CONFIG_MULTITHREAD. · 315e3c25
      Gaute Strokkenes authored
      Change-Id: Icf4b692099d7d249fe3553852b1022b027b28e4b
      315e3c25
    • 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
      cb14764f
  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
      possible.
      
      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
      e5aaac24
    • 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
      13db80c2
    • 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
      40dcae9c
    • 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
      ddacf1cf
  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
      encoder/arm/vpx_vp8_enc_asm_offsets
      
      Change-Id: I89a04a5235447e66571995c9d9b4b6edcb038e24
      3273c7b6
    • 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
      58d2e70f
  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
      bb9c95ea
    • 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
      63fc44df
    • Gaute Strokkenes's avatar
      Remove duplicate loopfilter parameters. · ffc6aeef
      Gaute Strokkenes authored
      Change-Id: I0d41415e3961c2c9492d342290c1999f9d02e6d8
      ffc6aeef
  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
      e5904f2d
  15. 01 Feb, 2011 2 commits