1. 24 Apr, 2013 2 commits
  2. 23 Apr, 2013 4 commits
    • John Koleszar's avatar
      Remove coeff from BLOCK · 48f3e66e
      John Koleszar authored
      Lookup the data per-plane from the MACROBLOCK struct.
      
      Change-Id: I9253c4d3cf886aa9ab4aeab23a2156bfcf994ede
      48f3e66e
    • John Koleszar's avatar
      Convert coeff to per-plane MACROBLOCK data · 138ec38c
      John Koleszar authored
      This commit moves the coeff storage from the MACROBLOCK struct to its
      per-plane part. The next commit will remove the coeff member from the
      BLOCK structure so that it is consistently accessed per-plane.
      
      Also refactors vp9_sb_block_error_c and vp9_sb_uv_block_error_c to be
      variable subsampling aware.
      
      Change-Id: I18c30f87f27c3a012119b6c1970d5fa499804455
      138ec38c
    • Jingning Han's avatar
      Remove the unused gf_active_ptr from MACROBLOCK · e6ac9180
      Jingning Han authored
      The variable gf_active_ptr is not used anywhere, hence is removed.
      
      Change-Id: I6badc20fade48ae12fd19e7e4cd8fe5e051c20ac
      e6ac9180
    • John Koleszar's avatar
      Move src_diff to per-plane MACROBLOCK data · cbd1315a
      John Koleszar authored
      First in a series of commits making certain MACROBLOCK members
      addressable per-plane. This commit also refactors the block subtraction
      functions vp9_subtract_b, vp9_subtract_sby_c, etc to be
      loops-over-planes and variable subsampling aware.
      
      Change-Id: I371d092b914ae0a495dfd852ea1a3d2467be6ec3
      cbd1315a
  3. 22 Apr, 2013 2 commits
    • Jim Bankoski's avatar
      new version of speed 1 · e7bddba1
      Jim Bankoski authored
      This version of speed 1 only disables modes at higher resolution that
      had distortions >2x the best mode we found...
      
      The hope is that this could be a replacement for speed 0 ...
      
      Change-Id: I7421f1016b8958314469da84c4dccddf25390720
      e7bddba1
    • Deb Mukherjee's avatar
      Removes the code_nonzerocount experiment · 0aa79be7
      Deb Mukherjee authored
      This patch does not seem to give any benefits.
      
      Change-Id: I9d2b4091d6af3dfc0875f24db86c01e2de57f8db
      0aa79be7
  4. 17 Apr, 2013 1 commit
  5. 10 Apr, 2013 1 commit
    • Ronald S. Bultje's avatar
      Make SB coding size-independent. · a3874850
      Ronald S. Bultje authored
      Merge sb32x32 and sb64x64 functions; allow for rectangular sizes. Code
      gives identical encoder results before and after. There are a few
      macros for rectangular block sizes under the sbsegment experiment; this
      experiment is not yet functional and should not yet be used.
      
      Change-Id: I71f93b5d2a1596e99a6f01f29c3f0a456694d728
      a3874850
  6. 05 Apr, 2013 1 commit
    • John Koleszar's avatar
      Move EOB to per-plane data · 05a79f2f
      John Koleszar authored
      Continue migrating data from BLOCKD/MACROBLOCKD to the per-plane
      structures.
      
      Change-Id: Ibbfa68d6da438d32dcbe8df68245ee28b0a2fa2c
      05a79f2f
  7. 26 Mar, 2013 1 commit
  8. 07 Mar, 2013 1 commit
    • Deb Mukherjee's avatar
      Coding con-zero count rather than EOB for coeffs · eb6ef241
      Deb Mukherjee authored
      This patch revamps the entropy coding of coefficients to code first
      a non-zero count per coded block and correspondingly remove the EOB
      token from the token set.
      
      STATUS:
      Main encode/decode code achieving encode/decode sync - done.
      Forward and backward probability updates to the nzcs - done.
      Rd costing updates for nzcs - done.
      Note: The dynamic progrmaming apporach used in trellis quantization
      is not exactly compatible with nzcs. A suboptimal approach has been
      used instead where branch costs are updated to account for changes
      in the nzcs.
      
      TODO:
      Training the default probs/counts for nzcs
      
      Change-Id: I951bc1e22f47885077a7453a09b0493daa77883d
      eb6ef241
  9. 05 Mar, 2013 1 commit
    • Ronald S. Bultje's avatar
      Make superblocks independent of macroblock code and data. · 111ca421
      Ronald S. Bultje authored
      Split macroblock and superblock tokenization and detokenization
      functions and coefficient-related data structs so that the bitstream
      layout and related code of superblock coefficients looks less like it's
      a hack to fit macroblocks in superblocks.
      
      In addition, unify chroma transform size selection from luma transform
      size (i.e. always use the same size, as long as it fits the predictor);
      in practice, this means 32x32 and 64x64 superblocks using the 16x16 luma
      transform will now use the 16x16 (instead of the 8x8) chroma transform,
      and 64x64 superblocks using the 32x32 luma transform will now use the
      32x32 (instead of the 16x16) chroma transform.
      
      Lastly, add a trellis optimize function for 32x32 transform blocks.
      
      HD gains about 0.3%, STDHD about 0.15% and derf about 0.1%. There's
      a few negative points here and there that I might want to analyze
      a little closer.
      
      Change-Id: Ibad7c3ddfe1acfc52771dfc27c03e9783e054430
      111ca421
  10. 27 Feb, 2013 1 commit
  11. 23 Feb, 2013 1 commit
  12. 15 Feb, 2013 2 commits
  13. 13 Feb, 2013 1 commit
    • Yaowu Xu's avatar
      enable bitstream lossless support · 17db5d00
      Yaowu Xu authored
      1. Added a bit in frame header to  to indicate if a frame is encoded
      in lossless mode, so decoder does not make the decision based on Q0
      2. Minor changes to make sure that lossy coding works same as when
      the lossless experiment is not enabled.
      3. Renamed function pointers for transforms to be consistent, using
      prefix fwd_txm and inv_txm for forward and inverse respectively
      
      To encode in lossless mode, using "--lossless=1 --min-q=0 --max-q=0"
      with vpxenc.
      
      Change-Id: Ifae53b26d2ffbe378d707e29d96817b8a5e6c068
      17db5d00
  14. 29 Jan, 2013 1 commit
    • Paul Wilkins's avatar
      Remove eob_max_offset markers. · 93762ca9
      Paul Wilkins authored
      Remove eob_max_offset markers and replace
      with the generic skip_block flag to indicate
      to the quantizer that all coeffs to be set to 0
      and eob position set to 0;
      
      Change-Id: Id477e8f8d4ec1a5562758904071013c24b76bfd7
      93762ca9
  15. 10 Jan, 2013 2 commits
  16. 08 Jan, 2013 1 commit
  17. 07 Jan, 2013 1 commit
  18. 06 Jan, 2013 1 commit
  19. 18 Dec, 2012 1 commit
  20. 10 Dec, 2012 1 commit
    • Paul Wilkins's avatar
      Further changes to mv reference code. · d1244659
      Paul Wilkins authored
      Some further changes and refactoring of mv
      reference code and selection of center point for
      searches. Mainly relates to not passing so many
      different local copies of things around.
      
      Some place holder comments.
      
      Change-Id: I309f10ffe9a9cde7663e7eae19eb594371c8d055
      d1244659
  21. 08 Dec, 2012 1 commit
    • Ronald S. Bultje's avatar
      Introduce vp9_coeff_probs/counts/stats/accum types. · 885cf816
      Ronald S. Bultje authored
      Use these, instead of the 4/5-dimensional arrays, to hold statistics,
      counts, accumulations and probabilities for coefficient tokens. This
      commit also re-allows ENTROPY_STATS to compile.
      
      Change-Id: If441ffac936f52a3af91d8f2922ea8a0ceabdaa5
      885cf816
  22. 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
  23. 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
  24. 30 Nov, 2012 1 commit
  25. 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
  26. 10 Nov, 2012 2 commits
    • Ronald S. Bultje's avatar
      Remove 'thismb' data pointer when superblock experiment is on. · 73987d14
      Ronald S. Bultje authored
      This should prevent inconsistent results between identical encodes with
      the superblock experiment turned on.
      
      Change-Id: I41a005fae53f2eb59736cc70041185fb7d63cfca
      73987d14
    • 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
  27. 08 Nov, 2012 1 commit
  28. 07 Nov, 2012 1 commit
  29. 01 Nov, 2012 2 commits
  30. 31 Oct, 2012 1 commit
  31. 29 Oct, 2012 1 commit