1. 21 Mar, 2012 1 commit
  2. 15 Mar, 2012 2 commits
    • Yaowu Xu's avatar
      added clamp for 2nd motion vector · 21d3612a
      Yaowu Xu authored
      The commit added a clamp to the 2nd motion vector used in compound
      prediction to insure mv within UMV borders. The clamp is similar to
      that of the first motion vector except that No SPLITMV is ever used
      for the 2nd motion vector.
      
      Change-Id: I26dd63c304bd66b2e03a083749cc98c641667116
      21d3612a
    • Yaowu Xu's avatar
      fixed a bug of context overwritten by key frame recoding · ea43ba4a
      Yaowu Xu authored
      The recoding loop save and restore frame coding context for recodes.
      However in recoding of key frames, some of the coding context saved
      was stale from last encoded inter frame. The save/restore sometimes
      overwrites the re-inintialized coding context with saved context
      from last frame, resulting in encoder/decoder mismatch
      
      Change-Id: I354ae2f71074d142602d51d06544c05a2462caaf
      ea43ba4a
  3. 12 Mar, 2012 1 commit
    • Yaowu Xu's avatar
      fixed .mk files to reflect add/remove of a header file · 3f5feb7d
      Yaowu Xu authored
      In a previous commit, the duplicate of headerfile defaultcoefcounts.h
      was identified. This commit updates the .mk file to ensure configure
      and make works properly for all platforms.
      
      Change-Id: I31a39c809a734ba438ee53db700f252e9a03eddd
      3f5feb7d
  4. 07 Mar, 2012 2 commits
    • Yaowu Xu's avatar
      removed duplicate a head file · 64439c2b
      Yaowu Xu authored
      Removed the copy in encoder and changed to use the one in common
      
      Change-Id: Ief0985a50ffd6053a269638fd4816b055ca273ec
      64439c2b
    • Paul Wilkins's avatar
      Snapshot candidate · 68033ca4
      Paul Wilkins authored
      Pulled out super block code for the snapshot as this
      is not quite ready and will need an extensive re-merge.
      
      Change-Id: I436369b511257447a7b0ea064016cb63f5011849
      68033ca4
  5. 06 Mar, 2012 2 commits
  6. 05 Mar, 2012 5 commits
    • Ronald S. Bultje's avatar
      Use per-MB compound intra prediction. · c3f5b293
      Ronald S. Bultje authored
      This gives a modest gain on derf overall, although at low bitrates the
      cost is still too high, so this can be improved further.
      
      Patch 2. Re-base and fix 80 column issues
      
      Change-Id: Ida2f9fa3fe75370669f6a27b37108dc602231c63
      c3f5b293
    • Yaowu Xu's avatar
      Changed how UV r/d estimates are done for Intra Modes · 6898e8b7
      Yaowu Xu authored
      The commit changed to compute UV intra RD estimates for 4x4 and 8x8
      separately to be used in mode decision for MB modes associated with
      the appropriate transform size respectively. Now finally after many
      other changes related 8x8 quantizer zbin boost and zbin_mode_boost,
      this change overall helps the HD(with 8x8) by around ~.13%.
      (avg .13%  glb .13% ssim .17%)
      
      The commit also has a few changes for eliminating compiler warnings.
      
      Change-Id: Ibab35dad44820c87e6b44799c66f8d519cc37344
      6898e8b7
    • Yaowu Xu's avatar
      Fixed zbin_mode_boost initialization · eaa955ba
      Yaowu Xu authored
      The commit added the correct Zbin_mode_boost initialization based on
      Intra Mode before using rate distortion to pick UV intra mode.
      
      Change-Id: I8e57878ff356a06672f6fa2431be860bf9b9a5c7
      eaa955ba
    • Yaowu Xu's avatar
      refactored code that checks if a macroblock is skippable · 848bccab
      Yaowu Xu authored
      Change-Id: I4ea6d819bbbde312792c4f813ab63ea50cf0cd1d
      848bccab
    • Paul Wilkins's avatar
      Allow for frame overheads in min frame bandwidth. · a0be3faa
      Paul Wilkins authored
      Change-Id: I6ade229ff400fe492709010ac5bada37f8afa73e
      a0be3faa
  7. 01 Mar, 2012 4 commits
  8. 29 Feb, 2012 4 commits
  9. 28 Feb, 2012 6 commits
    • Deb Mukherjee's avatar
      Initial refactoring of high_precision mv code. · 3e1cad9c
      Deb Mukherjee authored
      This is the first patch for refactoring of the code related to
      high-precision mv, so that 1/4 and 1/8 pel motion vectors can
      co-exist in the same bit-stream by use of a frame level flag.
      The current patch works fine for only use of 1/4th and
      only use of 1/8th pel mv, but there are some issues with the
      mode switching in between. Subsequent patches on this change Id
      will fix the remaining issues.
      
      Patch 2: Adds fixes to make sure that multiple mv precisions can
      co-exist in the bit-stream. Frame level switching has been tested
      to work correctly.
      
      Patch 3: Fixes lines exceeding 80 char
      
      Patch 4:
      http://www.corp.google.com/~debargha/vp8_results/enhinterp.html
      
      Results on derf after ssse3 bugfix, compared to everything
      enabled but the 8-tap, 1/8-subpel and 1/16-subpel uv. Overall the
      gains are about 3% now. Hopefully there are no more bugs lingering.
      Apparently the sse3 bug affected the quartel subpel results more than
      the eighth pel ones (which is understandabale because one bad predictor
      due to the bug, matters less if there are a lot more subpel options
      available as in the 1/8 subpel case).
      The results in the 4th column correspond to the current settings.
      The first two columns correspond to two settings of adaptive switching
      of the 1/4 or 1/8 subpel mode based on initial Q estimate. These
      do not work as good as just using 1/8 all the time yet.
      
      Change-Id: I3ef392ad338329f4d68a85257a49f2b14f3af472
      3e1cad9c
    • Paul Wilkins's avatar
      Merge new loop filter. · 19b9d28f
      Paul Wilkins authored
      Merge of the NEWLPF configuration experiment so it is always on.
      
      Change-Id: I7054772b6eab28bad1ff807bfa54d98f83de9308
      19b9d28f
    • Yaowu Xu's avatar
      Try to enable 8x8 tranform for smaller resolution · 42891098
      Yaowu Xu authored
      The commit overall on derf test is break even to very slightly positive
      comparing to all 4x4 transform.
      
      Change-Id: I2a7c19599aa54c2d3a5b35db0dc891ba8a6a2b26
      42891098
    • Paul Wilkins's avatar
      Experimental branch code clean up. · 25c127f5
      Paul Wilkins authored
      Removal of some further code relating to partitions
      and error resilience.
      
      Spelling correction.
      
      Change-Id: I36067aae67a4a23bec359541dda3400b0bbf26d0
      25c127f5
    • Paul Wilkins's avatar
      Code Simplification · b6f02c85
      Paul Wilkins authored
      Removal of code relating to token partitioning
      
      Change-Id: Iaf3c88d6758639a55bd92c3be5c51e6bed407a3c
      b6f02c85
    • Yaowu Xu's avatar
      fixed a wrong intialization value · eb87b56e
      Yaowu Xu authored
      The "update" variable was used as a flag in coef_prob update dry run
      that tests if a frame should encodes update at all. The wrong init
      value forced the update happening always. fixing this has a minor
      improvement in low bit rate situation when 8x8 transform is allowed.
      
      Change-Id: Icb498e8d6a62fd074dcbc2065b797cba9237cb51
      eb87b56e
  10. 27 Feb, 2012 1 commit
    • Paul Wilkins's avatar
      Corrected spelling · b00ed02a
      Paul Wilkins authored
      Apparently the correct spelling of segement is segment !
      
      Change-Id: I88593ee0523f251b3a96794c6166ef8c7898a029
      b00ed02a
  11. 26 Feb, 2012 1 commit
    • Paul Wilkins's avatar
      Code Cleanup. · 646e6221
      Paul Wilkins authored
      Removal of error_resilient_mode features.
      The interface has been left in place but does nothing.
      
      Change-Id: I2407863bd0d3c98407354507423ca48d29f63b17
      646e6221
  12. 25 Feb, 2012 2 commits
    • Paul Wilkins's avatar
      Removal of temporal re sampling code. · 80b873e3
      Paul Wilkins authored
      For now the interface elements have been left in place
      to make sure existing parameter files work but parameters
      relating to drop frame wont do anything.
      
      Change-Id: I579ee614726387381c546845dac4bc03c74c6a07
      80b873e3
    • Deb Mukherjee's avatar
      Bug fix in ssse3 variance computation. · 88b36eb0
      Deb Mukherjee authored
      Fixes a bug that was introduced in the high precision mv patch.
      
      Change-Id: Ieadb433ebe4c3ef3e0e63944dab11528bf8bd73a
      88b36eb0
  13. 24 Feb, 2012 4 commits
  14. 23 Feb, 2012 2 commits
    • Deb Mukherjee's avatar
      Clean ups and minor changes in high precision mv with 8-tap interpolation · fb472c5b
      Deb Mukherjee authored
      * Removes EDGE_PIXEL_FILTER for external sanpshot
      * changes the default 8-tap filter based on high precision results
      in http://www.corp.google.com/~debargha/vp8_results/enhinterpn.html
      * changes the default prob tables for high-precision mv encoding to
      favor zeros in the last bit (i.e. quarter pel). This is only important
      for short clips.
      
      Change-Id: I02bb0de8679d9eec06cdbcc8160dbf073cd847a4
      fb472c5b
    • Deb Mukherjee's avatar
      Supporting high precision 1/8-pel motion vectors · 18e90d74
      Deb Mukherjee authored
      This is the initial patch for supporting 1/8th pel
      motion. Currently if we configure with enable-high-precision-mv,
      all motion vectors would default to 1/8 pel. Encode and
      decode syncs fine with the current code. In the next phase
      the code will be refactored so that we can choose the 1/8
      pel mode adaptively at a frame/segment/mb level.
      
      Derf results:
      http://www.corp.google.com/~debargha/vp8_results/enhinterp_hpmv.html
      (about 0.83% better than 8-tap interpoaltion)
      
      Patch 3: Rebased. Also adding 1/16th pel interpolation for U and V
      
      Patch 4: HD results.
      http://www.corp.google.com/~debargha/vp8_results/enhinterp_hd_hpmv.html
      Seems impressive (unless I am doing something wrong).
      
      Patch 5: Added mmx/sse for bilateral filtering, as well as enforced
      use of c-versions of subpel filters with 8-taps and 1/16th pel;
      Also redesigned the 8-tap filters to reduce the cut-off in order to
      introduce a denoising effect. There is a new configure option
      sixteenth-subpel-uv which will use 1/16 th pel interpolation for
      uv, if the motion vectors have 1/8 pel accuracy.
      
      With the fixes the results are promising on the derf set. The enhanced
      interpolation option with 8-taps alone gives 3% improvement over thei
      derf set:
      http://www.corp.google.com/~debargha/vp8_results/enhinterpn.html
      
      Results on high precision mv and on the hd set are to follow.
      
      Patch 6: Adding a missing condition for CONFIG_SIXTEENTH_SUBPEL_UV in
      vp8/common/x86/x86_systemdependent.c
      
      Patch 7: Cleaning up various debug messages.
      
      Patch 8: Merge conflict
      
      Change-Id: I5b1d844457aefd7414a9e4e0e06c6ed38fd8cc04
      18e90d74
  15. 22 Feb, 2012 1 commit
    • Yaowu Xu's avatar
      Fixed skippable evaluation in mode decision · 2b4cd4cc
      Yaowu Xu authored
      Yunqing fixed an oddity in UVIntra skippable evaluation for stable
      branch, which brought up the fact that the evaluation is broken.
      The issue was that for MBs with 2nd order block, the eob for 1st
      order blocks is set at 1. The previous evaluation did not take that
      into account. This commit intend to fix the problem. The commit also
      absorbed Yunqing's fix for UVIntra skippable evalution.
      
      Test on hd showed some good gains in combination with LPF bias fix:
      http://www.corp.google.com/~yaowu/no_crawl/LPFBias_FixSkip.html
      (avg psnr: .34%, glb psnr: .32%, ssim: .22%)
      
      Change-Id: I36af11c8ef7f643e8ff46da7bf3a167b437039d4
      2b4cd4cc
  16. 18 Feb, 2012 1 commit
  17. 17 Feb, 2012 1 commit
    • Paul Wilkins's avatar
      Code base simplification. · 4cfb8ed4
      Paul Wilkins authored
      Removal of most code to do with 1 pass.
      Removal of cyclic refresh code.
      
      Change-Id: I74971082bc19dd76e795d4d2e781a0424cec5c8c
      4cfb8ed4