1. 08 Jan, 2013 1 commit
  2. 06 Jan, 2013 1 commit
  3. 02 Jan, 2013 1 commit
  4. 26 Dec, 2012 1 commit
  5. 18 Dec, 2012 1 commit
  6. 11 Dec, 2012 1 commit
  7. 08 Dec, 2012 1 commit
    • Yaowu Xu's avatar
      experiment with CONTEXT conversion · ab480ced
      Yaowu Xu authored
      This commit changed the ENTROPY_CONTEXT conversion between MBs that
      have different transform sizes.
      
      In additioin, this commit also did a number of cleanup/bug fix:
      1. removed duplicate function vp9_fix_contexts() and changed to use
      vp8_reset_mb_token_contexts() for both encoder and decoder
      2. fixed a bug in stuff_mb_16x16 where wrong context was used for
      the UV.
      3. changed reset all context to 0 if a MB is skipped to simplify the
      logic.
      
      Change-Id: I7bc57a5fb6dbf1f85eac1543daaeb3a61633275c
      ab480ced
  8. 07 Dec, 2012 1 commit
    • Ronald S. Bultje's avatar
      32x32 transform for superblocks. · c456b35f
      Ronald S. Bultje authored
      This adds Debargha's DCT/DWT hybrid and a regular 32x32 DCT, and adds
      code all over the place to wrap that in the bitstream/encoder/decoder/RD.
      
      Some implementation notes (these probably need careful review):
      - token range is extended by 1 bit, since the value range out of this
        transform is [-16384,16383].
      - the coefficients coming out of the FDCT are manually scaled back by
        1 bit, or else they won't fit in int16_t (they are 17 bits). Because
        of this, the RD error scoring does not right-shift the MSE score by
        two (unlike for 4x4/8x8/16x16).
      - to compensate for this loss in precision, the quantizer is halved
        also. This is currently a little hacky.
      - FDCT and IDCT is double-only right now. Needs a fixed-point impl.
      - There are no default probabilities for the 32x32 transform yet; I'm
        simply using the 16x16 luma ones. A future commit will add newly
        generated probabilities for all transforms.
      - No ADST version. I don't think we'll add one for this level; if an
        ADST is desired, transform-size selection can scale back to 16x16
        or lower, and use an ADST at that level.
      
      Additional notes specific to Debargha's DWT/DCT hybrid:
      - coefficient scale is different for the top/left 16x16 (DCT-over-DWT)
        block than for the rest (DWT pixel differences) of the block. Therefore,
        RD error scoring isn't easily scalable between coefficient and pixel
        domain. Thus, unfortunately, we need to compute the RD distortion in
        the pixel domain until we figure out how to scale these appropriately.
      
      Change-Id: I00386f20f35d7fabb19aba94c8162f8aee64ef2b
      c456b35f
  9. 05 Dec, 2012 1 commit
    • Paul Wilkins's avatar
      Change to MV reference search. · 4cc657ec
      Paul Wilkins authored
      This patch reduces the cpu cost of the MV ref
      search by only allowing insert for candidates
      that would be in the current top 4.
      
      This could alter the outcome and slightly favors
      near candidates which are tested first but also
      limits the worst case loop count to 4 and means in
      many cases it will drop out and not happen.
      
      Change-Id: Idd795a825f9fd681f30f4fcd550c34c38939e113
      4cc657ec
  10. 30 Nov, 2012 1 commit
  11. 29 Nov, 2012 2 commits
    • Jim Bankoski's avatar
      more rtcd cleanup · 13dbf1fb
      Jim Bankoski authored
      Change-Id: Ieefd76e164ca4aa87597da0412977614ddfbacb7
      13dbf1fb
    • Deb Mukherjee's avatar
      Fixing 8x8/4x4 ADST for intra modes with tx select · 0742b1e4
      Deb Mukherjee authored
      This patch allows use of 8x8 and 4x4 ADST correctly for Intra
      16x16 modes and Intra 8x8 modes when the block size selected
      is smaller than the prediction mode. Also includes some cleanups
      and refactoring.
      
      Rebase.
      
      Change-Id: Ie3257bdf07bdb9c6e9476915e3a80183c8fa005a
      0742b1e4
  12. 28 Nov, 2012 1 commit
  13. 27 Nov, 2012 1 commit
    • John Koleszar's avatar
      Add vp9_ prefix to all vp9 files · fcccbcbb
      John Koleszar authored
      Support for gyp which doesn't support multiple objects in the same
      static library having the same basename.
      
      Change-Id: Ib947eefbaf68f8b177a796d23f875ccdfa6bc9dc
      fcccbcbb
  14. 25 Nov, 2012 1 commit
  15. 16 Nov, 2012 1 commit
    • Deb Mukherjee's avatar
      Compound inter-intra experiment · 0c917fc9
      Deb Mukherjee authored
      A patch on compound inter-intra prediction.
      
      In compound inter-intra prediction, a new predictor for
      16x16 inter coded MBs are obtained by combining a single
      inter predictor with a 16x16 intra predictor, in a manner
      that the weight varies with distance from the top/left
      boundary. The current search strategy is to combine the best
      inter mode with the best intra mode obtained independently.
      
      Results so far:
      
      derf +0.31%
      yt +0.32%
      std-hd +0.35%
      hd +0.42%
      
      It is conceivable that the results would improve somewhat
      with a more thorough search strategy where all intra modes
      are searched given the best mv, or even a joint search for
      the best mv and the best intra mode.
      
      Change-Id: I7951f1ed0d6eb31ca32ac24d120f1585bcd8d79b
      0c917fc9
  16. 14 Nov, 2012 1 commit
    • Ronald S. Bultje's avatar
      Don't use hybrid transform (ADST) for superblocks. · 1e3dd49f
      Ronald S. Bultje authored
      This is in line with other cases where we disable ADST if prediction
      size and transform size don't match. Before this patch, the RD loop
      will use ADST for superblocks, but frame encoding/decoding won't.
      
      Change-Id: I700368c632eb72b5e089c22ef25649d99d7697d0
      1e3dd49f
  17. 13 Nov, 2012 1 commit
    • Deb Mukherjee's avatar
      A fix in MV_REF experiment · 7de64f35
      Deb Mukherjee authored
      This fix ensures that the forward prob update is not turned off for
      motion vectors.
      
      Change-Id: I0b63c9401155926763c6294df6cca68b32bac340
      7de64f35
  18. 12 Nov, 2012 2 commits
    • Paul Wilkins's avatar
      New inter mode context · 2669f42b
      Paul Wilkins authored
      This change is a fix / extension of the newbestrefmv
      experiment. As such it is presented without IFDEF.
      
      The change creates a new context for coding inter modes
      in vp9_find_mv_refs(). This replaces the context that
      was previously calculated in vp9_find_near_mvs().
      The new context is unoptimized and not necessarily
      any better at this stage (results pending), but eliminates
      the need for a legacy call to vp9_find_near_mvs().
      Based on numbers from Scott, this could help decode
      speed by several %.
      
      In a later patch I will add support for forward update of
      context (assuming this helps) and refine the context as
      necessary.
      
      Change-Id: I1cd991b82c8df86cc02237a34185e6d67510698a
      2669f42b
    • Paul Wilkins's avatar
      Restrict ref mv search range. · 6fb8953c
      Paul Wilkins authored
      Experiment to test speed trade off of reducing the
      extent of the ref mv search.
      
      Reducing the maximum number of tested candidates to 9 had
      minimal net effect on quality in any of the tests sets.
      
      Reduction to 7 has a small negative impact (worst was STD-HD
      at about -0.2%).
      
      This change is in response to the apparently high number of
      decode cycles reported in regard to mv-ref selection.
      
      Change-Id: I0e92e92e324337689358495a1ec9ccdeb23dc774
      6fb8953c
  19. 10 Nov, 2012 1 commit
    • Deb Mukherjee's avatar
      New b-intra mode where direction is contextual · d01357bb
      Deb Mukherjee authored
      Preliminary patch on a new 4x4 intra mode B_CONTEXT_PRED where the
      dominant direction from the context is used to encode. Various decoder
      changes are needed to support decoding of B_CONTEXT_PRED in conjunction
      with hybrid transforms since the scan order and tokenization depends on
      the actual direction of prediction obtained from the context. Currently
      the traditional directional modes are used in conjunction with the
      B_CONTEXT_PRED, which also seems to provide the best results.
      
      The gains are small - in the 0.1% range.
      
      Change-Id: I5a7ea80b5218f42a9c0dfb42d3f79a68c7f0cdc2
      d01357bb
  20. 07 Nov, 2012 1 commit
  21. 06 Nov, 2012 2 commits
    • James Zern's avatar
      fix test builds · 2e3e6857
      James Zern authored
      s/([vV][pP])8/$19/
      additionally dct.h was removed; declare the _c functions that are used
      in the tests. the TODO for conversion to parameterized tests still
      remains.
      
      Change-Id: I73db9425a57075bbb78a92693ba6b320578981cd
      2e3e6857
    • Yaowu Xu's avatar
      silent a lot of MSVC compiler warnings · 8a336b0d
      Yaowu Xu authored
      there are still a couple type of warning left, which are related to
      double constants assigned to float type. As those would be addressed
      by the conversion of transforms into integer version. This commit
      has left those un-dealt with.
      
      Change-Id: I48fd9b489c0c27ad6b543f4177423419f929f2bb
      8a336b0d
  22. 02 Nov, 2012 1 commit
    • Yunqing Wang's avatar
      Fix eobs data type · d41b0e64
      Yunqing Wang authored
      The block sizes for decoding tokens are up to 16x16, which means
      eobs is within [0, 256]. Using (signed) char is not enough. Changed
      eobs data type to unsigned short to fix the problem.
      
      Change-Id: I88a7d3098e1f1604c336d6adb88ffec971fb03a6
      d41b0e64
  23. 01 Nov, 2012 2 commits
  24. 31 Oct, 2012 3 commits
  25. 30 Oct, 2012 1 commit
    • Paul Wilkins's avatar
      Remove old experiment. · e05e6e10
      Paul Wilkins authored
      Delete code relating to featureupdates experiment.
      
      Change-Id: If218762c658bb8cbb3007cf2069123b3e05adcbc
      e05e6e10
  26. 29 Oct, 2012 1 commit
  27. 26 Oct, 2012 1 commit
    • Paul Wilkins's avatar
      Explicit MV reference experiment. · ba30e774
      Paul Wilkins authored
      Coding and costing of mv reference signal.
      
      Issues in updating MV ref with COMPANDED_MVREF_THRESH
      to be resolved. Ideally the MV precision should be defined based
      on absolute MV magnitude not as now the MV ref magnitude.
      
      Update to mv counts moved into bitstream.c because otherwise
      if the motion reference is changed at the last minute the encoder
      and decoder get out of step in terms of the counts used to update
      entropy probs.
      
      Code working on a few test clips but no results yet re benefit vs
      signaling cost and no tuning of red loop to test lower cost alternatives
      based on the available reference values.
      
      Patch 3. Added check to make sure we don't pick a reference
      that would give rise to an uncodeable / out of range residual.
      
      Patch 6-7: Attempt to rebase. OK to submit but best to leave flag off for now.
      
      Patch 9. Remove print no longer needed.
      
      Change-Id: I1938c2ffe41afe6d3cf6ccc0cb2c5d404809a712
      ba30e774
  28. 23 Oct, 2012 1 commit
    • Deb Mukherjee's avatar
      Merging in the Switchable interp experiment · 53731197
      Deb Mukherjee authored
      There is a macro DEFAULT_INTERP_FILTER defined in encoder/onyx_if.c that
      is set as EIGHTTAP for now - so SWITCHABLE is not really used. Ideally,
      this should be SWITCHABLE but that would make the encoder quite a bit slower.
      We will change the default filter to SWITCHABLE once we find a faster way to
      search for switchable filters.
      
      Change-Id: Iee91832cdc07e6e14108d9b543130fdd12fc9874
      53731197
  29. 22 Oct, 2012 3 commits
  30. 21 Oct, 2012 1 commit
  31. 19 Oct, 2012 2 commits
    • John Koleszar's avatar
      Remove bc, bc2 from pbi,cpi,xd · e9fd1eac
      John Koleszar authored
      Pass the bool coder to be used explicitly. This avoids cases where two
      different bool coders can be addressed from the same function. Also be
      more consistent with bool coder variable naming, start to standardize
      on 'bc'.
      
      Change-Id: I1c95e2fdbe24ebe8c0f84924daa1728e3b054a31
      e9fd1eac
    • Deb Mukherjee's avatar
      Some cleanups and fixes. · f3208f36
      Deb Mukherjee authored
      Separates the logic on transform type selection previously spread out
      over a number of files into a separate function. Currently the tx_type
      field in b_mode_info is not used, but still left in there to eventually
      use for signaling the transform type in the bitstream.
      
      Also, now for tx_type = DCT_DCT, the regular integer DCT is used, as
      opposed to the floating point DCT used in conjuction with hybrid
      transform.
      
      Results change somewhat due to the transform change, but are within
      reasonable limits. The hd/std-hd sets are slightly up, while derf/yt
      are slightly down.
      
      Change-Id: I5776840c2239ca2da31ca6cfd7fd1148dc5f9e0f
      f3208f36