1. 10 Apr, 2013 3 commits
    • 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
  2. 09 Apr, 2013 5 commits
  3. 08 Apr, 2013 5 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
    • Ronald S. Bultje's avatar
      Don't use BLOCKD in vp9_invtrans.c. · f42bee7e
      Ronald S. Bultje authored
      Change-Id: I40524170334109e2864b06e3c73c8b34e5aa8b0f
      f42bee7e
    • 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
    • Ronald S. Bultje's avatar
      Fix typo which breaks 4x4 splitmv compound prediction RD code. · aeefa6e1
      Ronald S. Bultje authored
      0.15% quality increase on derf, particularly noticeable on hard clips
      at the higher bitrate end.
      
      Change-Id: I02415a96eb9bbc361cba923069625fae71844bc9
      aeefa6e1
  4. 05 Apr, 2013 9 commits
  5. 04 Apr, 2013 10 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
    • Yaowu Xu's avatar
      make one_shot_q an experiment · 9780d58e
      Yaowu Xu authored
      so it is configurable to faciliate testings
      
      Change-Id: I247b62736c3a08ec2934793959d1ae605a05efa3
      9780d58e
    • 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
    • Deb Mukherjee's avatar
      Bugfix in encode_inter_mb_segment_8x8 · 73031aaa
      Deb Mukherjee authored
      Fixes an indexing bug. Looks like the bug has been there for a while.
      
      Change-Id: I9fc04b0c30754bcb47366ad94a08112925600c4d
      73031aaa
    • 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
    • Paul Wilkins's avatar
      Fixed incorrect use of compute_qdelta() · 9b9136f8
      Paul Wilkins authored
      This function expects real Q values as inputs
      not index values.
      
      The use-age her impacts the Q chosen for force key
      frames. Though this is a bug fix I have not yet verified
      whether following the bug fix the q multiplier value used is
      correct.
      
      Change-Id: I49f6da894d90baeb1e86c820c335f02dc80d3b66
      9b9136f8
    • 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
  6. 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
  7. 02 Apr, 2013 3 commits