1. 12 Apr, 2013 1 commit
  2. 11 Apr, 2013 5 commits
    • Jingning Han's avatar
      Make intra predictor support rectangular blocks · 815e95fb
      Jingning Han authored
      The intra predictor supports configurable block sizes. It can handle
      intra prediction down to 4x4 sizes, when enabled in BLOCK_SIZE_TYPE.
      
      Change-Id: I7399ec2512393aa98aadda9813ca0c83e19af854
      815e95fb
    • Deb Mukherjee's avatar
      Turning model-based updates on with modelcoefprob · 66f413af
      Deb Mukherjee authored
      This patch changes the default with the modecoefprob expt
      to use mode-based forward updates with one-node pegged
      modeling.
      
      The maximum difference with fully trained tables is now
      less that 0.1%.
      
      Change-Id: I06b44322e10c6703f93f3c1d48d973b1136a0618
      66f413af
    • Scott LaVarnway's avatar
      WIP: removing predictor buffer usage from decoder · 6189f2bc
      Scott LaVarnway authored
      This patch will use the dest buffer instead of the
      predictor buffer.  This will allow us in future commits
      to remove the extra mem copy that occurs in the dequant
      functions when eob == 0.  We should also be able to remove
      extra params that are passed into the dequant functions.
      
      Change-Id: I7241bc1ab797a430418b1f3a95b5476db7455f6a
      6189f2bc
    • John Koleszar's avatar
      Remove vp9_reset_mb_tokens_context · c18b2617
      John Koleszar authored
      Use sb-common version instead.
      
      Change-Id: If2552b5a39fd2e5272f66a41c5667dda85fd3939
      c18b2617
    • Ronald S. Bultje's avatar
      A few more cases where sb_type was used arithmetically. · 4eb537c0
      Ronald S. Bultje authored
      With these fixed, the codec produces identical results regardless of
      what literal values are used for the enum members in BLOCK_SIZE_*.
      
      Change-Id: I26db8e08019b58ba432af1f0950ebe6b0eb4ad8c
      4eb537c0
  3. 10 Apr, 2013 4 commits
    • Jingning Han's avatar
      Make dequant/idct block size independent · bbd0063b
      Jingning Han authored
      The unified dequantization, inverse transform, and adding functions
      support rectangular block sizes. Also separate the operations on
      luma and chroma components, in the consideration of the txfm_size
      for uv components in rectangular block sizes.
      
      Change-Id: I2a13246b2a9086b37d575d346070990d854cc110
      bbd0063b
    • Jingning Han's avatar
      Make SB Decoding units size-independent · e63099d1
      Jingning Han authored
      Unify the sb32x32 and sb64x64 decoding units, which also allow for
      other rectangular block sizes.
      
      Change-Id: Ia5187ab2af56f98c3f99272bdf4dbcabe798ad5d
      e63099d1
    • 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
    • Dmitry Kovalev's avatar
      Adding setup_quantization function. · f370db0c
      Dmitry Kovalev authored
      Change-Id: I8fe25a905717a3cd2da5f87ba0403357536183cf
      f370db0c
  4. 09 Apr, 2013 4 commits
  5. 08 Apr, 2013 1 commit
    • Dmitry Kovalev's avatar
      Simplification of decoder's code. · 5811d7e8
      Dmitry Kovalev authored
      Removing several commented code blocks, using uint32_t and uint8_t types,
      removing redundant code.
      
      Change-Id: Ifc5cc9863897925ea2a7cab4f7309ccf28d80bfe
      5811d7e8
  6. 05 Apr, 2013 4 commits
  7. 04 Apr, 2013 6 commits
    • John Koleszar's avatar
      Move qcoeff, dqcoeff from BLOCKD to per-plane data · 4c05a051
      John Koleszar authored
      Start grouping data per-plane, as part of refactoring to support
      additional planes, and chroma planes with other-than 4:2:0
      subsampling.
      
      Change-Id: Idb76a0e23ab239180c818025bae1f36f1608bb23
      4c05a051
    • Deb Mukherjee's avatar
      Fixing the newbintramodes experiment · ffc92da4
      Deb Mukherjee authored
      Adds back special casing B_PRED mode decoding but protected
      within the experimental macro.
      
      Change-Id: If98dc8e56b0ecfb1202540c2b7dfdd070cb81ca0
      ffc92da4
    • Dmitry Kovalev's avatar
      Simplifying get_delta_q function. · 52128c58
      Dmitry Kovalev authored
      Change-Id: I3a1e9cc5c3ed5be01ff75a84a6c82ec02c75af9c
      52128c58
    • Dmitry Kovalev's avatar
      Fixing bug introduced by previous commit. · f857e074
      Dmitry Kovalev authored
      Inside decode_sb_4x4 it should be
      "get_tx_type_4x4(mb, y_idx * y_size + x_idx)"
      but it was
      "get_tx_type_4x4(mb, y_idx * (2 * y_size) + x_idx)".
      Also making code of decode_sb_4x4, decode_sb_8x8, and decode_sb_16x16
      formatted in the same way.
      
      Change-Id: I15c7bef4fb575f7e9da19f953912324cb35d24dd
      f857e074
    • Dmitry Kovalev's avatar
      General code cleanup. · d5a01730
      Dmitry Kovalev authored
      Making code more readable in different places.
      
      Change-Id: Iea92c9a35e64d257ee358879fc04fc926843d52e
      d5a01730
    • Dmitry Kovalev's avatar
      Adding decode_sb_16x16 function. · 50e02b94
      Dmitry Kovalev authored
      Moving command code from decode_sb32 and decode_sb64 into new
      decode_sb_16x16 function.
      
      Change-Id: I57a161300af085557adec2fe600f3c10a145faf2
      50e02b94
  8. 03 Apr, 2013 5 commits
    • John Koleszar's avatar
      Remove special case vp9_decode_coefs_4x4 · 1e5f25ec
      John Koleszar authored
      This code was only called in the BPRED case, but had no real special
      case associated with it. Made BPRED behave like all other modes. No
      bitstream change.
      
      Change-Id: I87ba11fe723928b6314d094979011228d5ba006f
      1e5f25ec
    • Yunqing Wang's avatar
      Modify vp9_setup_interp_filters function · 4ca882f3
      Yunqing Wang authored
      Took vp9_setup_scale_factors_for_frame() out from
      vp9_setup_interp_filters(), so that it is only called once per
      frame instead of per macroblock. Decoder tests showed a 1.5%
      performance gain.
      
      Change-Id: I770cb09eb2140ab85132f82aed388ac0bdd3a0aa
      4ca882f3
    • Dmitry Kovalev's avatar
      Reimplementation of setup_frame_size. · da0232fd
      Dmitry Kovalev authored
      General code cleanup in loopfilter code. Modification of setup_frame_size,
      so now VP9_COMMON is modified in one place after all width/height checks
      passed.
      
      Change-Id: Iedf32df43a912d7aae788ed276ac6c429973f6fe
      da0232fd
    • Dmitry Kovalev's avatar
      Adding setup_pred_probs and read_txfm_mode functions. · 59b2928d
      Dmitry Kovalev authored
      Decomposition vp9_decode_frame function, moving code into read_txfm_mode
      and setup_pred_probs functions.
      
      Change-Id: I90970dea43cbcef4d6d61fdef267c2094ddee65d
      59b2928d
    • Dmitry Kovalev's avatar
      Renaming sb32_coded and sb64_coded fields. · dca8ad17
      Dmitry Kovalev authored
      Renaming sb32_coded to prob_sb32_coded and sb64_coded to prob_sb64_coded.
      
      Change-Id: I6de5cad00a57c3e066d53467f8c38cb6073dce11
      dca8ad17
  9. 02 Apr, 2013 3 commits
    • Dmitry Kovalev's avatar
      Lower case names for struct members. · 626635c2
      Dmitry Kovalev authored
      Lower case member names inside VP9D_CONFIG and VP9D_COMP structs.
      
      Change-Id: I75af9ad2d929a35c357207a3fd9ebedddabf79c3
      626635c2
    • Dmitry Kovalev's avatar
      Adding functions with common code for superblock decoding. · 9738e2db
      Dmitry Kovalev authored
      Adding decode_sb_8x8 and decode_sb_4x4 with common code for superblock
      decoding. Renaming decode_superblock32 to decode_sb32 and
      decode_superblock64 to decode_sb64.
      
      Change-Id: Id006d7e398b9bfa3acec4326e1e0c537ebfefdd3
      9738e2db
    • Dmitry Kovalev's avatar
      Code cleanup. · 50e54c11
      Dmitry Kovalev authored
      Adding multiple16 function, removing redundant code, better formatting.
      
      Change-Id: I50195b78ac8ab803e3d05c8fb05a7ca134fab386
      50e54c11
  10. 28 Mar, 2013 1 commit
    • Deb Mukherjee's avatar
      Framework changes in nzc to allow more flexibility · fe9b5143
      Deb Mukherjee authored
      The patch adds the flexibility to use standard EOB based coding
      on smaller block sizes and nzc based coding on larger blocksizes.
      The tx-sizes that use nzc based coding and those that use EOB based
      coding are controlled by a function get_nzc_used().
      By default, this function uses nzc based coding for 16x16 and 32x32
      transform blocks, which seem to bridge the performance gap
      substantially.
      
      All sets are now lower by 0.5% to 0.7%, as opposed to ~1.8% before.
      
      Change-Id: I06abed3df57b52d241ea1f51b0d571c71e38fd0b
      fe9b5143
  11. 27 Mar, 2013 3 commits
  12. 26 Mar, 2013 3 commits
    • Deb Mukherjee's avatar
      Implicit weighted prediction experiment · 23144d23
      Deb Mukherjee authored
      Adds an experiment to use a weighted prediction of two INTER
      predictors, where the weight is one of (1/4, 3/4), (3/8, 5/8),
      (1/2, 1/2), (5/8, 3/8) or (3/4, 1/4), and is chosen implicitly
      based on consistency of the predictors to the already
      reconstructed pixels to the top and left of the current macroblock
      or superblock.
      
      Currently the weighting is not applied to SPLITMV modes, which
      default to the usual (1/2, 1/2) weighting. However the code is in
      place controlled by a macro. The same weighting is used for Y and
      UV components, where the weight is derived from analyzing the Y
      component only.
      
      Results (over compound inter-intra experiment)
      derf: +0.18%
      yt: +0.34%
      hd: +0.49%
      stdhd: +0.23%
      
      The experiment suggests bigger benefit for explicitly signaled weights.
      
      Change-Id: I5438539ff4485c5752874cd1eb078ff14bf5235a
      23144d23
    • Ronald S. Bultje's avatar
      Use above/left (instead of previous in scan-order) as token context. · 790fb132
      Ronald S. Bultje authored
      Pearson correlation for above or left is significantly higher than for
      previous-in-scan-order (absolute values depend on position in scan, but
      in general, we gain about 0.1-0.2 by using either above or left; using
      both basically just makes this even better). For eob branch skipping,
      we continue to use the previous token in scan order.
      
      This helps about 0.9% on derf after re-training on a limited data set.
      Full re-training and results on larger-resolution clips are pending.
      
      Note that this commit breaks trellis, so we can probably get further
      gains out of it by fixing trellis at some later point.
      
      Change-Id: Iead68e296fc3a105cca746b5e3da9555d6010cfe
      790fb132
    • Dmitry Kovalev's avatar
      Decomposition of vp9_decode_frame function. · 4a3d7860
      Dmitry Kovalev authored
      Moving code from vp9_decode_frame function into setup_loopfilter and
      setup_segmentation functions. A little bit of cleanup.
      
      Change-Id: I2cce1813e4d7aeec701ccf752bf57e3bdd41b51c
      4a3d7860