1. 28 Feb, 2012 1 commit
    • Scott LaVarnway's avatar
      Eliminated reconintra_mt.c · bcba86e2
      Scott LaVarnway authored
      Reworked the code to use vp8_build_intra_predictors_mby_s,
      vp8_intra_prediction_down_copy, and vp8_intra4x4_predict_d_c
      functions instead.  vp8_intra4x4_predict_d_c is a decoder-only
      version of vp8_intra4x4_predict.  Future commits will fix this
      code duplication.
      
      Change-Id: Ifb4507103b7c83f8b94a872345191c49240154f5
      bcba86e2
  2. 21 Feb, 2012 1 commit
  3. 16 Feb, 2012 2 commits
  4. 02 Feb, 2012 2 commits
  5. 31 Jan, 2012 1 commit
    • Scott LaVarnway's avatar
      BLOCKD structure cleanup · 749bc986
      Scott LaVarnway authored
      Removed redundancies.  All of the information can be
      found in the MACROBLOCKD structure.
      
      Change-Id: I7556392c6f67b43bef2a5e9932180a737466ef93
      749bc986
  6. 30 Jan, 2012 6 commits
    • John Koleszar's avatar
      RTCD: add arnr functions · 109b69a7
      John Koleszar authored
      This commit continues the process of converting to the new RTCD
      system. It removes the last of the VP8_ENCODER_RTCD struct references.
      
      Change-Id: I2a44f52d7cccf5177e1ca98a028ead570d045395
      109b69a7
    • John Koleszar's avatar
      RTCD: add subpixel functions · f103dcef
      John Koleszar authored
      This commit continues the process of converting to the new RTCD
      system.
      
      Change-Id: I6c519ab61e4f4e0ebcc796f2df061f945c48cefe
      f103dcef
    • John Koleszar's avatar
      RTCD: add recon functions · fdb61a45
      John Koleszar authored
      This commit continues the process of converting to the new RTCD
      system.
      
      Change-Id: I9bfcf9bef65c3d4ba0fb9a3e1532bad1463a10d6
      fdb61a45
    • John Koleszar's avatar
      RTCD: add remaining IDCT functions · ab77b4e8
      John Koleszar authored
      This commit continues the process of converting to the new RTCD
      system.
      
      Change-Id: I03c4dbf30dfd3558b0e256ff9d3ff4c012aadc80
      ab77b4e8
    • John Koleszar's avatar
      RTCD: add loopfilter functions · 55f74c59
      John Koleszar authored
      This commit continues the process of converting to the new RTCD
      system.
      
      Change-Id: Ic8a4047d72ff3a54ec98977dd90e70c13213db71
      55f74c59
    • John Koleszar's avatar
      New RTCD implementation · a910049a
      John Koleszar authored
      This is a proof of concept RTCD implementation to replace the current
      system of nested includes, prototypes, INVOKE macros, etc. Currently
      only the decoder specific functions are implemented in the new system.
      Additional functions will be added in subsequent commits.
      
      Overview:
        RTCD "functions" are implemented as either a global function pointer
        or a macro (when only one eligible specialization available).
        Functions which have RTCD specializations are listed using a simple
        DSL identifying the function's base name, its prototype, and the
        architecture extensions that specializations are available for.
      
      Advantages over the old system:
        - No INVOKE macros. A call to an RTCD function looks like an ordinary
          function call.
        - No need to pass vtables around.
        - If there is only one eligible function to call, the function is
          called directly, rather than indirecting through a function pointer.
        - Supports the notion of "required" extensions, so in combination with
          the above, on x86_64 if the best function available is sse2 or lower
          it will be called directly, since all x86_64 platforms implement
          sse2.
        - Elides all references to functions which will never be called, which
          could reduce binary size. For example if sse2 is required and there
          are both mmx and sse2 implementations of a certain function, the
          code will have no link time references to the mmx code.
        - Significantly easier to add a new function, just one file to edit.
      
      Disadvantages:
        - Requires global writable data (though this is not a new requirement)
        - 1 new generated source file.
      
      Change-Id: Iae6edab65315f79c168485c96872641c5aa09d55
      a910049a
  7. 27 Jan, 2012 1 commit
    • John Koleszar's avatar
      Hook up VP8D_GET_LAST_REF_USED · 8be41bba
      John Koleszar authored
      Commit 892e23a5 introduced support for the VP8D_GET_LAST_REF_USED,
      but missed the mapping of the control id to the underlying function,
      so it was unavailable to applications.
      
      In addition, the underlying function vp8_references_buffer() is
      moved from common/postproc.c to decoder/onyxd_if.c as postproc.c is
      not built in all configurations.
      
      Change-Id: I426dd254e7e6c4c061b70d729b69a6c384ebbe44
      8be41bba
  8. 20 Jan, 2012 1 commit
    • Fritz Koenig's avatar
      Disconnect ARM tgt_isa from dsp extensions · 89210284
      Fritz Koenig authored
      A processor with ARMv7 instructions does not
      necessarily have NEON dsp extensions.  This CL
      has the added side effect of allowing the ability
      to enable/disable the dsp extensions cleanly.
      
      Change-Id: Ie1e879b8fe131885bc3d4138a0acc9ffe73a36df
      89210284
  9. 06 Jan, 2012 1 commit
  10. 22 Dec, 2011 1 commit
    • John Koleszar's avatar
      Remove legacy integer types · f56918ba
      John Koleszar authored
      Remove BOOL, INTn, UINTn, etc, in favor of C99-style fixed width
      types.
      
      Change-Id: I396636212fb5edd6b347d43cc940186d8cd1e7b5
      f56918ba
  11. 21 Dec, 2011 3 commits
  12. 16 Dec, 2011 1 commit
    • Scott LaVarnway's avatar
      Fixed mb_skip_coeff bug · 0ccefd2c
      Scott LaVarnway authored
      When mb_skip_coeff is set, the idct is not necessary.  Prior
      to this patch, the code would call idcts based on leftover
      eob information.  This patch will now skip the idct for
      SPLIT_MV and clear out the eobs for B_PRED, forcing the idct
      to be skipped.
      
      Change-Id: If5b0d2ed3ebd07789d30ec5160df927485fcaa17
      0ccefd2c
  13. 15 Dec, 2011 1 commit
    • Scott LaVarnway's avatar
      Moved dequant idct into common · a53d5a4c
      Scott LaVarnway authored
      These functions are now used by the encoder.
      This is WIP with the goal of creating a common idct/add for
      the encoder and decoder.  A boost of 1.8% was seen for
      the HD rt test clip used.
      
      [Tero] Added needed changes to ARM side.
      
      Change-Id: Ibbb8000be09034203d7adffc457d3c3f8b06a5bf
      a53d5a4c
  14. 28 Nov, 2011 1 commit
  15. 25 Nov, 2011 1 commit
    • Scott LaVarnway's avatar
      Modified the inverse walsh to output directly · 4a91541c
      Scott LaVarnway authored
      to the dqcoeff or qcoeff buffer.  The encoder would
      populate the dc coeffs of the y blocks as a separate
      stage (recon_dcblock) and the decoder would use a special
      version of the idct.  This change eliminates the extra copy
      and reduces the code footprint.
      
      [Tero] Added needed changes to armv6 and NEON assembly.
      
      Change-Id: I83202ffdbaf83f6e5dd69f4ba2519fcf0b13b3ba
      4a91541c
  16. 21 Nov, 2011 1 commit
  17. 09 Nov, 2011 1 commit
    • Tero Rintaluoma's avatar
      ARMv6 optimized Intra4x4 prediction · 5a2fd63a
      Tero Rintaluoma authored
      Added ARM optimized intra 4x4 prediction
       - 2x faster on Profiler compared to C-code compiled with -O3
       - Function interface changed a little to improve BLOCKD structure
         access
      
      Change-Id: I9bc2b723155943fe0cf03dd9ca5f1760f7a81f54
      5a2fd63a
  18. 01 Nov, 2011 1 commit
    • Stefan Holmer's avatar
      Changing decoder input partition API to input fragments. · 14272052
      Stefan Holmer authored
      Adding support for several partitions within one input fragment.
      This is necessary to fully support all possible packetization
      combinations in the VP8 RTP profile. Several partitions can
      be transmitted in the same packet, and they can only be split
      by reading the partition lengths from the bitstream.
      
      Change-Id: If7d7ea331cc78cb7efd74c4a976b720c9a655463
      14272052
  19. 31 Oct, 2011 1 commit
  20. 27 Oct, 2011 1 commit
    • Scott LaVarnway's avatar
      Improved decode_split_mv() · 6064384d
      Scott LaVarnway authored
      Tests showed ~1.2% performance boost on the HD clip used.
      Performance will vary based on material.
      
      Change-Id: Icbcf1a828750d5b4ae5252bf596b3ef594042e8a
      6064384d
  21. 26 Oct, 2011 1 commit
    • Scott LaVarnway's avatar
      Improved read_mb_modes_mv() · ff1d170e
      Scott LaVarnway authored
      Interleaved vp8_find_near_mvs and vp8_mv_ref_probs.
      2.5% to 4% performance improvement for the HD clips used.
      
      Change-Id: Id888b667cf5ae2f0e19da18743140f055ff7de8d
      ff1d170e
  22. 25 Oct, 2011 1 commit
    • Johann's avatar
      remove uninitialized variable warning · 9409af20
      Johann authored
      Restructure if statement to clarify the error condition. Trigger the
      error before clobbering pc-> variables.
      
      Change-Id: Id01cab798a341ce9899078fdcec265a0e942a0b7
      9409af20
  23. 24 Oct, 2011 3 commits
  24. 21 Oct, 2011 1 commit
  25. 19 Oct, 2011 1 commit
    • Scott LaVarnway's avatar
      Improved token decoder · 5e540857
      Scott LaVarnway authored
      Tests showed over 2% improvement on various HD clips.
      
      Change-Id: I94a30d209c92cbd5fef285122f9fc570688635fe
      5e540857
  26. 18 Oct, 2011 1 commit
    • Scott LaVarnway's avatar
      Remove usage of predict buffer for decode · ed9c66f5
      Scott LaVarnway authored
      Instead of using the predict buffer, the decoder now writes
      the predictor into the recon buffer.  For blocks with eob=0,
      unnecessary idcts can be eliminated.  This gave a performance
      boost of ~1.8% for the HD clips used.
      
      Tero: Added needed changes to ARM side and scheduled some
            assembly code to prevent interlocks.
      
      Patch Set 6:  Merged (I1bcdca7a95aacc3a181b9faa6b10e3a71ee24df3)
      into this commit because of similarities in the idct
      functions.
      Patch Set 7: EC bug fix.
      
      Change-Id: Ie31d90b5d3522e1108163f2ac491e455e3f955e6
      ed9c66f5
  27. 22 Sep, 2011 1 commit
  28. 19 Sep, 2011 1 commit
    • Stefan Holmer's avatar
      Fix necessary for input partitions iface to match the RTP profile · e529a825
      Stefan Holmer authored
      These changes fixes a glitch between the RTP profile and the input
      partitions interface. Since there's no way for the user to know the
      actual number of partitions, the decoder have to read the
      multi_token_paritition bits also when input partitions mode is
      enabled.
      
      Included are also a couple of fixes for issues with independent
      partitions and uninitialized memory reads.
      
      Change-Id: I6f93b15287d291169ed681898ed3fbcc5dc81837
      e529a825
  29. 16 Sep, 2011 1 commit
    • Scott LaVarnway's avatar
      clamp_mvs() using the wrong motion vector information · c0ee870b
      Scott LaVarnway authored
      In the "Removed bmi copy to/from BLOCKD" commit, the copy
      to the bmi in BLOCKD was eliminated.  The clamp_mvs() used
      the bmi in BLOCKD, which now contains incorrect values.  This
      patch fixes this problem.
      
      Change-Id: I8eca1eaf4015052b0b63e90876f7ad321aba7cff
      c0ee870b