1. 15 May, 2012 3 commits
    • Paul Wilkins's avatar
      Further firstpass.c changes. · acf3c729
      Paul Wilkins authored
      base the static image test off a measure of 0,0 motion
      instead of the decay accumulator value.
      
      Change "transition to still detection" to compare the
      decay rate from successive frames.
      
      Minor tweak to the arf extra boost given based on the
      number of frames affected.
      
      Removed unused variable mod_err_per_mb_accumulator.
      
      Change-Id: Idd8360083ad409e45f133ce97dd2488259003e64
      acf3c729
    • Paul Wilkins's avatar
      Move / re-factor some of boost calculation code. · ae989ae8
      Paul Wilkins authored
      Some marginal impact due to the fact that it makes use of
      arf more likely / stable even in hard sections.
      
      Change-Id: Ic72fda0f63eefc9433914b5d9cd374d515810129
      ae989ae8
    • Paul Wilkins's avatar
      Firstpass.c refactoring · 0529320a
      Paul Wilkins authored
      Removed unused function.
      
      Added tentative code to take error score of an older frame
      into account when calculating Q range. However, for now
      it is disabled pending merging other changes and testing.
      
      Change-Id: Ie89955e70319dac31b79e3b833e3352712a061ec
      0529320a
  2. 14 May, 2012 2 commits
    • Paul Wilkins's avatar
      Two pass refactoring continued. · e237fd7c
      Paul Wilkins authored
      Remove testing of whether we estimate that it will be possible
      to code an arf at a lower Q than the ambient Q.  This adds quite
      a bit of extra code and complexity for marginal gain.
      
      Factored out some code relating to ARNR selection to a separate
      function as this is likely to be changed / simplified soon.
      
      Change-Id: Ia1cf060405637ef5bbf7018355437be21d12375f
      e237fd7c
    • Paul Wilkins's avatar
      Two pass rc refactoring. · 59a5c7d5
      Paul Wilkins authored
      Removed odd *100 >> 4 factor from boost calculations. Not all the
      calculations exactly match what was there before so there may be
      some minor impact on results.
      
      Some other minor tidying up in regard to coding conventions.
      
      The specific values of factors and thresholds will likely change as
      part of subsequent patches.
      
      Change-Id: Id976321484ac02ba50294cf54fafbc17dda85686
      59a5c7d5
  3. 11 May, 2012 3 commits
    • Paul Wilkins's avatar
      First pass overhaul preparatory change. · 35358320
      Paul Wilkins authored
      This is the first patch in a series of changes to the first
      pass code. (Broken down for ease of testing/merging/review).
      
      This patch introduces a new stats element "sr_coded_error".
      This is the coded error recorded vs the second reference
      frame (which is updated such that it lags by at least one frame).
      No use is made of the new structure in this change so this patch
      should have no material effect.
      
      Removed some ifdefs and deprecated code (#if NEW_BOOST).
      Removed twopass.gf_decay_rate (not used any more)
      
      Change-Id: I1be672a73017f7c13fd50fb4f99236aa2ed30916
      35358320
    • Jim Bankoski's avatar
      Fix configure issue with unit test add. · a5d11f29
      Jim Bankoski authored
      Change-Id: I960c6eb81f8d76c958e8af989700447f581a8812
      a5d11f29
    • James Berry's avatar
      add unit test support via google test · a0769f70
      James Berry authored
      adds unit testing via google test
      
      Change-Id: I144b50a976d79251fc5135186a4e0a5051ed0e8c
      a0769f70
  4. 08 May, 2012 1 commit
    • Yaowu Xu's avatar
      a number of fixes to entropy stats collection · 54cf1d9a
      Yaowu Xu authored
      1. block types
      There are only three types of blocks for 8x8 transformed MBs, i.e. Y
      block with DC does not exist for 8x8 transformed MBs as all MB using
      8x8 transform have 2nd order haar transform. This commit introduced
      a new macro BLOCK_TYPES_8X8 to reflect such fact.
      
      2. context counters
      This commit also fixed the mixed of context_counters between 4x4 and
      8x8 transformed MBs. The mixed use of the counters leads me to think
      the existing the context probabilities were not properly generated
      from 8x8 transformed MBs.
      
      3. redundant collecting in recoding
      The commit also corrected the code that accumulates entropy stats by
      making sure stats only collected for final packing, not during the
      recode loop
      
      Change-Id: I029f09f8f60bd0c3240cc392ff5c6d05435e322c
      54cf1d9a
  5. 04 May, 2012 1 commit
  6. 02 May, 2012 2 commits
    • Yaowu Xu's avatar
      chagned the decoder band to match the encoder · 3b909a6f
      Yaowu Xu authored
      missed the decoder side in last commit
      
      Change-Id: Ie97f35189e93f78783e3d8072a36eea768beed27
      3b909a6f
    • Yaowu Xu's avatar
      slight adjustment to coef band definition · bd69b7d4
      Yaowu Xu authored
      This commit adjusted slightly the 4x4 coefficents band definition to
      better classify coefficients with similar distributions and usages.
      It helps derf set about .1%, it is alos slightly positive for std-hd
      set, where 4x4 blocks are used less frequently.
      
      The commit also removed a const array not in use.
      
      Change-Id: I78d16905d4036641ec905b0c32c190c1def5b249
      bd69b7d4
  7. 01 May, 2012 1 commit
  8. 30 Apr, 2012 3 commits
  9. 27 Apr, 2012 2 commits
    • Adrian Grange's avatar
    • Adrian Grange's avatar
      Removed MV costing from ARNR filtering · 393440db
      Adrian Grange authored
      The ARNR filter uses a motion compensated temporal filter,
      but the motion estimation implementation accounts for the
      cost of the mv in its decision making process. The ARNR
      filter uses a dummy cost table initialized to 0 as a way
      to ignore the mv costs (which are irrelevant to the filter).
      
      This CL modifies the ARNR filter implementation to so that
      the mv costing is ignored without the requirement for
      dummy tables.
      
      Change-Id: I0dd9620c3b70682f938b2a70912c11d4d7c9284c
      393440db
  10. 26 Apr, 2012 1 commit
    • Deb Mukherjee's avatar
      Adds search option for best interpolation filter. · acdda50a
      Deb Mukherjee authored
      Adds a speed feature to conduct a brute force search among a set of
      available interpolation filters for the best one in an RD sense.
      
      There is a gain of 0.4% on derf, 1.0% on Std-HD.
      
      Patch 2: A macro added to determine if the encoder state is reset
      for each new filter tried.
      
      Patch 3: rebase, also fixes a bug (decodframe.c) introduced by a
      couple of missing function pointer assignements.
      
      Patch 4: rebase.
      
      Change-Id: Ic9ccca9d8c35c6af557449ae867391a2f996cc29
      acdda50a
  11. 25 Apr, 2012 2 commits
    • Yaowu Xu's avatar
      Merge QIMODE experiment · a16608ab
      Yaowu Xu authored
      This commit merge the QI mode experiment. As the experiment affects
      the encoding of intra coding modes on key frame only, the overall
      effect of the experiment on encoding tests is insignificant.
      
      Change-Id: I9e4e3933adface88867ad429cee3986e529c511d
      a16608ab
    • Yaowu Xu's avatar
      Merge UVINTRA experiment · c1814d26
      Yaowu Xu authored
      The commit merges the UVINTRA experiment and removed the related
      macros. The overall effect of the experiment is a small gain (.1%
      on derf)
      
      Change-Id: Ia34b3312fb9b5b34c9ba111bf0fa78c6f78ac80b
      c1814d26
  12. 24 Apr, 2012 3 commits
  13. 20 Apr, 2012 3 commits
    • Ronald S. Bultje's avatar
      Hide some code behind CONFIG_COMP_INTRA_PRED. · 2210767c
      Ronald S. Bultje authored
      Change-Id: I7c0597dede20cc71145c053f76bd99aaf759d144
      2210767c
    • Yaowu Xu's avatar
      change to allow 8x8 transform always · ade43d91
      Yaowu Xu authored
      This commit changed to enable the usage 8x8 transform for all frame
      type, all resolution and all quantizer range. This has an overall
      benefit .2% to .3% in term of compression, but more importantly,
      the difficult clips benefits much more, up to 2% to 3% on clips
      like football, harbour and so on.
      
      We observed some weird humps on very high end on a couple of youtube
      clips, but have determined the underly cause was the aggressive zbin
      having an effect of lowering rate with lower quality, which have
      an impact on slide show clips around 60DB.
      
      The commit does not change the association between prediction mode
      and transform size.
      
      Change-Id: I33043bdce6207528ae00b4a4b26d8ff63cfea1f4
      ade43d91
    • Yaowu Xu's avatar
      added reset of rate estimates for each mode · ecc28cda
      Yaowu Xu authored
      This is to prevent the evaluation of a mode from using values left
      over from a mode evaluated prior in the loop.
      
      Change-Id: Ife2c6ceb76d2f7365fd262515d3ae48229033c2d
      ecc28cda
  14. 19 Apr, 2012 1 commit
  15. 18 Apr, 2012 3 commits
  16. 17 Apr, 2012 2 commits
  17. 16 Apr, 2012 1 commit
  18. 13 Apr, 2012 1 commit
    • Adrian Grange's avatar
      Added save coding context & modified MV bounds · fa589adc
      Adrian Grange authored
      Added code to save the coding context in vp8_rd_pick_inter_mode
      when the coding mode is forced to ARF(0,0).
      
      Also, modified the MV bounds computation to comply with the
      change in MV border from 32 to 64 pixels.
      
      Change-Id: I96963a6f5f4d04ce84c807ae11e0635177c3ad6c
      fa589adc
  19. 12 Apr, 2012 4 commits
    • Deb Mukherjee's avatar
      Turning off interpolation filter selection · 237718dc
      Deb Mukherjee authored
      Turning off the interpolation filter selection based on edge
      proportion. This heuristics has not been working as well as
      expected and I have started a more rigorous investigation into
      this. We can turn this off for now since it is unnecessarily
      slowing things down.
      
      Rebase.
      
      Change-Id: Ic5958b2b3a35ec2d8eb73b6d81617ca8fbe07e74
      237718dc
    • Yaowu Xu's avatar
      a set of minor fixes · 636b2f38
      Yaowu Xu authored
      This commit tries to address an issue related to the oddity shown on
      HD _mobcal clip, where some rather ugly blocks shown in the second
      frame at low-mid bit rates if the third frame is not made a key frame
      by he encoder. The fixes include: 1)  made calls to sad_16x16 to be
      consistent with function prototype. 2) remove the error bias to intra
      and golden in mbgraph search. 3) changed the error accumulation on
      inter_segment encoding to avoid potential out-of-range. 1) has no
      effect on encoding results.
      
      Encoding test show that the overall effect of the commit helps about
      .2%(HD) to .3%(cif)
      
      Change-Id: I930975a2d0c06252f01c39e0a02351529774e30b
      636b2f38
    • Yaowu Xu's avatar
      Adjust the key frame placement condition · d6f4b71d
      Yaowu Xu authored
      The commit removed a limit on key frame detection, which caused a big
      drop in all metric measurements for standard HD clip such as _mobcal.
      
      This single change helps two standard HD clips by a huge amount, which
      help the overall std-hd set by 2.4% (glb psnr), 0.9% (avg_psnr), 2.1%
      (vpxssim).
      
      In the result page:
      http://pafr9.prod.google.com:26163/?/cns/rc-d/home/on2-prod/sunkaras/borg-test/yaowu
      
      2012_04_02_1649_yaowu_bugfix_std-hd
      2012_04_03_1452_yaowu_hump_std-hd
      represent the encoding test results and std-hd set prior and after this
      commit respectively.
      
      Change-Id: Ie4313e317c737ea0e699c3a7919c1376744baa1a
      d6f4b71d
    • Yaowu Xu's avatar
      changed function prototype for macro_block_yrd · d56acae6
      Yaowu Xu authored
      This commit has made macro_block_yrd_8x8 and macro_block_yrd_8x8 to
      take same parameters. It also removed a few unnecessary shifts that
      has the potential to create out-of-range distortion values.
      
      Change-Id: I4ec5afb307c3685c2a67a07c2850f0927d214455
      d56acae6
  20. 11 Apr, 2012 1 commit