1. 13 Dec, 2013 1 commit
    • Jingning Han's avatar
      Enable adaptive pred filter type for sub8x8 · 3b5a90bd
      Jingning Han authored
      This commit enables an adaptive prediction filter type selection
      for sub8x8 block sizes. In speed 1, it re-uses the filter type of
      collocated 8x8 block if it is tested in the rate-distortion optimization
      loop, for the sub8x8 blocks. Otherwise, it runs the normal test
      over all the three filter types. In speed 2, it re-uses the 8x8
      block's prediction filter type, if available. Otherwise, force it
      to be EIGHTTAP.
      Compression and speed performance wise:
      speed 1
      derf -0.266%
      yt   -0.138%
      bus at 2000 kbps: 33766ms -> 30451ms (10% speed-up)
      football at 600 kbps: 48173ms -> 43786ms (9% speed-up)
      speed 2
      derf -0.026%
      yt   +0.134%
      bus at 2000 kbps: 18973ms -> 17698ms (6% speed-up)
      football at 600 kbps: 26748ms -> 25096ms (6% speed-up)
      Change-Id: I77e097533b969fd3472147225fa79fc98095d342
  2. 11 Dec, 2013 6 commits
  3. 10 Dec, 2013 7 commits
  4. 09 Dec, 2013 4 commits
  5. 06 Dec, 2013 13 commits
    • Dmitry Kovalev's avatar
      Renaming vp9_get_pred_context_tx_size() function. · cb92f4f0
      Dmitry Kovalev authored
      Change-Id: Ia6d6f4dfb1fd1ec0f8ba53796b59a802e9d7881d
    • Jingning Han's avatar
      Clean-ups in diamond_search_sad · 44627a96
      Jingning Han authored
      Use the pre-fetched stride value.
      Change-Id: I8d4aaedab7a83a4870be51c110da27e55ca3bc85
    • Yaowu Xu's avatar
      Disable early exit based on distortion in lossless · f8c06fb2
      Yaowu Xu authored
      In lossless coding, distortion is always 0. Early exit based on this
      metric was incorrect.
      This CL also changed to use best_rd instead of distortion as the metric
      for easly exit as requested by Jim.
      Change-Id: I8ef3e407ac03b4abc3283b273f936a68fad5c2ab
    • Jingning Han's avatar
      Full range motion search for regular block sizes · b295092b
      Jingning Han authored
      Add a full range motion search for regular block sizes. This runs
      exhaustive search within the given reference area. This commit further
      optimizes the search process by combining 4 points test into one
      pipeline, which gives 30% speed-up as compared to run each individual
      point at a time.
      This full range search serves as a best possible motion search reference.
      When replacing the diamond search with full range search, the speed 0
      runtime of bus CIF at 2000 kbps goes from 153872ms to 623051ms. The
      compression performance compared to speed 0 setting gains 0.585% for
      derf set.
      Change-Id: Ieef1225216b0b86b4ac4872fa7fb9e18bf2eabb3
    • Dmitry Kovalev's avatar
      Replacing b_width_log2 with num_4x4_blocks_wide_lookup. · 52618d28
      Dmitry Kovalev authored
      Change-Id: I8ab9bbe2595ed1743f35223b6a6ce6d023b9a20e
    • Dmitry Kovalev's avatar
      Renaming reference mode context calculation function. · 63963f51
      Dmitry Kovalev authored
        vp9_get_pred_context_comp_inter_inter => vp9_get_reference_mode_context
        vp9_get_pred_prob_comp_inter_inter    => vp9_get_reference_mode_prob
      Change-Id: I3bbb69481e6b0c848028667c9269f567f293d3bd
    • Dmitry Kovalev's avatar
      Removing BLOCK_TYPES and adding PLANE_TYPES constant instead. · d6b159d4
      Dmitry Kovalev authored
      Change-Id: Ic3bb862e93aedf6a489a33ea6f7e5097d96855ee
    • Paul Wilkins's avatar
      Remove rate correction factor. · 570b6d25
      Paul Wilkins authored
      Removed an adaptive rate correction factor that was having
      a negative impact on quality in many clips. This factor
      was influencing the Q range available to each frame
      independently of the bits allocated to each.
      Average results with DISABLE_RC_LONG_TERM_MEM.
      derf +0.199, -0.059.
      yt +3.957, +3.798
      std hd +1.577, +2.140
      yt hd +4.127, +4.513
      Average results without  DISABLE_RC_LONG_TERM_MEM
      derf -0.628, -0.665
      yt +3.432, +3.015
      std hd -0.105, +0.153
      yt hd +3.432, +3.015
      Change-Id: I45bab6b606f49a442e7b27a6d631f3ffd843bbce
    • Dmitry Kovalev's avatar
      Moving vp9_tree_probs_from_distribution() to encoder. · 4ac6a255
      Dmitry Kovalev authored
      Writing custom coeff branch count calculation (which is much clearer) in
      adapt_coef_probs() function. Removing vp9_treecoder.c file.
      Change-Id: I8880fb7a39996c8bcf6cd0acf9898a8c712ba91f
    • Dmitry Kovalev's avatar
      Renaming PREV_COEF_CONTEXTS to COEFF_CONTEXTS. · 377fa8af
      Dmitry Kovalev authored
      Also adding BAND_COEFF_CONTEXTS macro to simplify for loop logic.
      Change-Id: I12a78a49cf1addf81e6b3fe2a3736ec2b79bd79e
    • Dmitry Kovalev's avatar
      vp9_get_pred_context_intra_inter() clean up. · 6fd71e1b
      Dmitry Kovalev authored
       vp9_get_pred_context_intra_inter => vp9_get_intra_inter_context
       vp9_get_pred_prob_intra_inter    => vp9_get_intra_inter_prob
      Change-Id: I2c1affea2e84f4e616137c6df82adb11c7845781
    • Deb Mukherjee's avatar
      Further rate control cleanups · 52d27367
      Deb Mukherjee authored
      Includes various cleanups.
      Streamlines the interfaces so that all rate control state
      updates happen in the vp9_rc_postencode_update() function.
      This will hopefully make it easier to support multiple
      rate control schemes.
      Removes some unnecessary code, which in rare cases can casue
      a difference in the constrained quality mode output, but
      other than that there is no bitstream change yet.
      Change-Id: I3198cc37249932feea1e3691c0b2650e7b0c22fc
    • Dmitry Kovalev's avatar
      Renaming constants. · 0d4b8d7e
      Dmitry Kovalev authored
      NUM_REF_FRAMES          => REF_FRAMES
      Change-Id: I4e1ada08f25d8fa30fdf03aebe1b1c9df0f87e63
  6. 05 Dec, 2013 9 commits