1. 06 Feb, 2012 - 4 commits
    • Paul Wilkins's avatar
      Merged NEWNEAR experiment · 9c9300f5
      Paul Wilkins authored
      This commit merges the NEWNEAR experiment such that it
      is effectively always on.
      
      The fact that there were changes in the threading code again
      highlights the need to strip out such features during the
      bitstream development phase as trying to maintain this code
      (especially as it is not being tested) slows the development cycle.
      
      Change-Id: I8b34950a1333231ced9928aa11cd6d6459984b65
      9c9300f5
    • Paul Wilkins's avatar
      Coding the hybrid dual prediction signal. · 82b865da
      Paul Wilkins authored
      Initial modifications to make limited use of common prediction
      functions.
      
      The only functional change thus far is that updates to the probabilities are
      no longer "damped". This was a testing convenience but in fact seems to
      help by a little over 0.1% over the derf set.
      
      Change-Id: I8b82907d9d6b6a4a075728b60b31ce93392a5f2e
      82b865da
    • Paul Wilkins's avatar
      Moved prob_dualpred to common. · c98e9d28
      Paul Wilkins authored
      Moved the prob_dualpred[] sturcture to common.
      Created common prediction entry for Dual flag.
      
      Change-Id: I9ac3d128bae6114f09e5c18216d4b95cf36453d5
      c98e9d28
    • Paul Wilkins's avatar
      Modified prediction behavior for reference frame. · 58ec6fe8
      Paul Wilkins authored
      Trial of a modified prediction function that ranks each possible
      reference frame based on a combination of local usage and
      frame level probability. The code is a bit cleaner and simpler.
      
      In direct comparison with old unpredicted method with segment level
      coding turned off for mode,ref & EOB the prediction gives a gain on derf
      of around 0.4%. There is some further gain from bug fixes over earlier code.
      
      With segment coding on the prediction method is slightly -ve on some very
      easy clips (at low rates) due to slightly higher overheads, but better on harder
      clips. Overall neutral on derf in direct comparison on latest code base, but
      compared to earlier code without bug fixes about +0.7% overall psnr
      +0.3% SSIM.
      
      Change-Id: I5b8474658b208134d352d24f6517f25795490789
      58ec6fe8
  2. 03 Feb, 2012 - 1 commit
    • Paul Wilkins's avatar
      Reference frame prediction: · f0459549
      Paul Wilkins authored
      Extended prediction and coding of reference frame where
      a subset of options are flagged as available at the segment level.
      
      Updated copyright notices.
      
      Switch to SAD in mbgraph code as SATD problematic for the
      foreground and background separation as it can ignore large DC shifts.
      
      Change-Id: I661dbbb2f94f3ec0f96bb928c1655e5e415a7de1
      f0459549
  3. 02 Feb, 2012 - 2 commits
    • Adrian Grange's avatar
      Added encoding in Superblock Order · 5d0b5a17
      Adrian Grange authored
      As a precursor to encoding 32x32 blocks this cl adds the
      ability to encode the frame superblock (=32x32 block) at
      a time. Within a SB the 4 indiviual MBs are encoded in
      raster-order (NW,NE,SW,SE).
      
      This functionality is added as an experiment which can be
      enabled by ispecifying --enable-superblocks in the
      command line specified to configure (CONFIG_SUPERBLOCKS
      macro in the code).
      
      To make this work I had to disable the two intra
      prediction modes that use data from the top-right of the
      MB.
      
      On the tests that I have run the results produce
      almost exactly the same PSNRs & SSIMs with a very
      slightly higher average data rate (and slightly higher
      data rate than just disabling the two intra modes in
      the original code).
      
      NOTE: This will also break the multi-threaded code.
      
      This replaces the abandoned change:
      Iebebe0d1a50ce8c15c79862c537b765a2f67e162
      
      Change-Id: I1bc1a00f236abc1a373c7210d756e25f970fcad8
      5d0b5a17
    • Paul Wilkins's avatar
      Comment out segref segmentation filter changes. · 92ffb17c
      Paul Wilkins authored
      Commented out changes from earlier checking:
      
      "Change Iab7f1eff: vpnext use segref segmentation filter"
      
      Which in its current state breaks the decoder.
      
      Change-Id: I9185098aeda8ce65310f338c4c9375f4a39005d3
      92ffb17c
  4. 01 Feb, 2012 - 3 commits
  5. 31 Jan, 2012 - 8 commits
  6. 30 Jan, 2012 - 1 commit
  7. 27 Jan, 2012 - 3 commits
  8. 26 Jan, 2012 - 2 commits
  9. 24 Jan, 2012 - 2 commits
    • Yaowu Xu's avatar
    • Jim Bankoski's avatar
      vpn common -> implicit segmentation · 91325b8f
      Jim Bankoski authored
      This introduces base functions for introducing implicit segmentation.
      The code that actually stores the results to the segment map isn't
      here yet.   This just prints out the segmentation map results
      if you call it.
      
      Uses connected component labeling technique on mbmi info so that only
      if 2 mbs are horizontally or vertically touching do they get the same
      segment.
      
      vp8next - plumbing for rotation
      
      code to produce taps for rotation ( tapify. py ),  code
      for predicting using rotation ( predict_rotated.c ) ,  code
      for finding the best rotation find_rotation.c.
      
      didn't checkin code that uses this in the codec.   still work
      in progress.
      
      Fixed copyright notice
      
      Change-Id: I450c13cfa41ab2fcb699f3897760370b4935fdf8
      91325b8f
  10. 20 Jan, 2012 - 3 commits
    • Yaowu Xu's avatar
      changed loop filter for MBs using 8x8 transform · aebb16bf
      Yaowu Xu authored
      This commit added a set of loop filter functions for macroblocks
      using 8x8 transform. First we turned off the regular loop filtering
      on 4x4 block boundaries that do not exist in macroblocks using 8x8
      transform. Second, we change to use the same loop filter(mask and
      7 tap filter) that used for macroblock edge filtering.
      
      Change-Id: I3a00460b7674ced116917d86812ffc32578c1d3a
      aebb16bf
    • Yaowu Xu's avatar
      Added code to prevent I8X8_PRED mode for MBs using 8x8 transform · 5aab0c3f
      Yaowu Xu authored
      This fixed a conflict introduced by the change of adding 8x8 intra
      prediction modes. The 8x8 intra prediction mode code assumed the
      use of 4x4 transform, and causes encoder crashes when the codec is
      configured with --enable-t8x8.
      
      Change-Id: I00cc94df63e9725377ffba9eb51be6b77fe3fcf9
      5aab0c3f
    • Yaowu Xu's avatar
      reverted an accidental code deleting · be9af16e
      Yaowu Xu authored
      commit cf561bad accidentally deleted a line of code that sets the
      base_qindex for each frame, which leads to every frame is encoded
      at Q of 0.
      
      Change-Id: Ib5f8022e856bf3b3bd0d4147405e46241e3dcf2d
      be9af16e
  11. 18 Jan, 2012 - 3 commits
  12. 17 Jan, 2012 - 1 commit
    • Paul Wilkins's avatar
      Rate control on static scenes plus Y2dc delta Q fix. · cf561bad
      Paul Wilkins authored
      A problem can arise on static clips with force key frames where
      attempts to avoid popping lead to a progressive reduction in key
      frame Q that ultimately may lead to unexpected overspend against
      the  rate target.
      
      The changes in this patch help to insure that in such clips the
      quality of the key frames across the clip is more uniform (rather
      than starting bad and getting better - especially at low target rates).
      
      This patch also includes a fix that removes a delta on the Y2DC
      when the baseline q index < 4 as this is no longer needed.
      
      There is also a fix to try and prevent repeat single step Q adjustment in
      the recode loop leading to lots of recodes, especially where the use
      of forced skips as part of segmentation has made the impact of Q on
      the number of bits generated much smaller.
      
      Patch 2: Amend "last_boosted_qindex" calculation for arf overlay frames.
      
      Change-Id: Ia1feeb79ed8ed014e4239994fcf5e58e68fd9459
      cf561bad
  13. 11 Jan, 2012 - 1 commit
  14. 05 Jan, 2012 - 1 commit
    • Yaowu Xu's avatar
      Added an emms to prevent invalid stats output · a5ea6844
      Yaowu Xu authored
      In certain hardware configuration, where mmx code is enabled and
      other simd (sse2/sse3) disabled, lacking of this emms caused invalid
      internal stats outputs.
      
      Change-Id: I77c61cf6e0448d3f3b8c11781aa9e42f31d231c9
      a5ea6844
  15. 23 Dec, 2011 - 2 commits
  16. 21 Dec, 2011 - 2 commits
    • Christian Duvivier's avatar
      Fix a couple of warnings. · a7eb2176
      Christian Duvivier authored
      a7eb2176
    • Yaowu Xu's avatar
      changed mode_context update strategy · 4e9b4a15
      Yaowu Xu authored
      Previously, the mode context is always udpated based on stats of current
      frame, when there is no count, 50% is used for both left and right branch.
      However, it is observed that with such strategy, a small count or no count
      at all can skew the probability distribution significantly. This commmit
      changed the mode_context update strategy to prevent small counts from
      skewing the probability distributions.
      
      Tests on derf set showed a small gain:  .06% in psnr and .09% in ssim
      
      Change-Id: Ic812e64ae5f70251c170b0717f7b7fa587055488
      4e9b4a15
  17. 20 Dec, 2011 - 1 commit