1. 11 Apr, 2013 4 commits
  2. 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
  3. 09 Apr, 2013 4 commits
  4. 08 Apr, 2013 3 commits
    • John Koleszar's avatar
      detokenize: use consistent structure for all block sizes · e6deea4e
      John Koleszar authored
      Restructure the code to avoid the majority of per-block-size
      switches, code duplication, etc. All block types (mb/sb32/sb64)
      can be handled by the same code.
      
      Change-Id: I4022718d66e31a15a7074e43f3b98cd0a5124ea7
      e6deea4e
    • 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
    • Jingning Han's avatar
      Clamp inferred motion vectors only · 12bf0796
      Jingning Han authored
      Clamp only the motion vectors inferred from neighboring reference
      macroblocks. The motion vectors obtained through motion search in
      NEWMV mode are constrained during the search process, which allows
      a relatively larger referencing region than the inferred mvs.
      Hence further clamping the best mv provided by the motion search may
      affect the efficacy of NEWMV mode.
      
      Synchronized the decoding process. The decoded mvs in NEWMV modes
      should be guaranteed to fit in the effective range. Put a mv range
      clamping function there for security purpose.
      
      This improves the coding performance of high motion sequences, e.g.,
      derf set:
      foreman 0.233%
      husky   0.175%
      icd     0.135%
      mother_daughter 0.337%
      pamphlet        0.561%
      
      stdhd set:
      blue_sky 0.408%
      city     0.455%
      also saw sunflower goes down by -0.469%.
      
      Change-Id: I3fcbba669e56dab779857a8126a91b926e899cb5
      12bf0796
  5. 05 Apr, 2013 4 commits
  6. 04 Apr, 2013 7 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
    • Dmitry Kovalev's avatar
      Motion vector decoder cleanup. · 19fb4df8
      Dmitry Kovalev authored
      Better formatting, shorter code, adding read_switchable_filter_type
      function.
      
      Change-Id: Ib919b529385cae34c2d682b1c3093518b6942fc1
      19fb4df8
  7. 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
  8. 02 Apr, 2013 4 commits
  9. 28 Mar, 2013 2 commits
    • 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
    • Ronald S. Bultje's avatar
      Fix mix-up in pt token indexing. · 9eea9fa2
      Ronald S. Bultje authored
      This fixes uninitialized reads in the trellis, and probably makes the
      trellis do something again.
      
      Change-Id: Ifac8dae9aa77574bde0954a71d4571c5c556df3c
      9eea9fa2
  10. 27 Mar, 2013 3 commits
    • Dmitry Kovalev's avatar
      Extracting decode_tiles function. · 72f9f10c
      Dmitry Kovalev authored
      Extracting decode_tiles function from vp9_decode_frame.
      
      Change-Id: I02a465eeaf76138ef3559e1d46deb452c10e1219
      72f9f10c
    • Dmitry Kovalev's avatar
      Removing redundant function arguments. · 17cddb4e
      Dmitry Kovalev authored
      Almost all arguments for vp9_build_inter32x32_predictors_sb and
      vp9_build_inter64x64_predictors_sb can be deduced from the first macroblock
      argument.
      
      Change-Id: I5d477a607586d05698d5b3b9b9bc03891dd3fe83
      17cddb4e
    • Dmitry Kovalev's avatar
      General code cleanup. · 180cd5fa
      Dmitry Kovalev authored
      Removing redundant code, lower case variable names, better indentation,
      better parameter names, adding const to readonly parameters.
      
      Change-Id: Ibfdee00f60316fdc5b3f024028c7aaa76a627483
      180cd5fa