1. 14 Dec, 2016 3 commits
    • Jingning Han's avatar
      Make entropy context scalable to atom transform block size · aa8a4a59
      Jingning Han authored
      This commit makes the entropy context operation scalable to the
      atom transform block size. No coding statistics change is incurred.
      
      Change-Id: Id10161116d297a2e65815e115993b79542e5a031
      aa8a4a59
    • Debargha Mukherjee's avatar
      Change scaling of rectangular fwd transforms · f0aa420c
      Debargha Mukherjee authored
      Modifies the C fwd txfms to have correct scaling. Rectangular
      transforms now are always implemented in a way that the samller
      side is transformed first.
      
      The SSE2 tests are temporarily disabled until the SSSE2 code
      is modified to be consistent with the C code.
      
      Also includes a fdct32 fix.
      
      borgtest results show a slight improvement.
      
      Change-Id: I9417fd0b833d79e0ab13c85d3210d9ea8f2029a4
      f0aa420c
    • Jingning Han's avatar
      Refactor first pass to support scalable mode_info size · fb9529e1
      Jingning Han authored
      Replace hard coded assumptions of mode_info size with table fetch.
      The codebase coding statistics remain identical. This prepares to
      introduce 4x4 mode_info array.
      
      Change-Id: I5d75b86b7e7aa5bc7104c5f6f0b326d6ad0f67bb
      fb9529e1
  2. 13 Dec, 2016 1 commit
    • Yunqing Wang's avatar
      Not to call reset_use_upsampled_references() while encoding key frames · fe1e58ec
      Yunqing Wang authored
      A crash was reported while encoding >1080p file using best mode.
      (aom issue 107 and issue 108). The cause was that the speed features
      were initialized using good mode in AV1. The patch(commit f330ca)
      disabled the upsampled reference usage only for good mode, but not for
      best mode. So, for 1st key frame, the encoder incorrectly called
      reset_use_upsampled_references() that caused the segfault.
      
      The patch(commit e4e93b) disabled the upsampled reference usage for all
      encoding modes and resolved the issue. This patch fixed issue 108 and
      further made sure the upsampled references would be used correctly.
      
      BUG=aomedia:108
      
      Change-Id: I8362cc7cd82be324fd77f0bec315aeba509903bd
      fe1e58ec
  3. 12 Dec, 2016 3 commits
    • Debargha Mukherjee's avatar
      Replace bilateral filter with domain transform RF · 0e67b25c
      Debargha Mukherjee authored
      The main objective is to reduce computational complexity.
      The domain transform filter has an effect of edge preserving smoothing
      at a lower computational cost than the bilateral filter, and can be
      readily paralelized.
      
      A little drop in coding efficiency about 0.06% for lowres, 0.16% for
      midres.
      
      Change-Id: Id949406b7e5afe9b64588d130065c63a76e4f3f9
      0e67b25c
    • Debargha Mukherjee's avatar
      Refines the recode loop · 705544c2
      Debargha Mukherjee authored
      Uses number of 4x4 blocks using global motion as metric to
      decide whether to recode or not.
      
      Improves performance a little.
      lowres: -0.658%
      
      Change-Id: I6b1913b7bd31d7a25ca8ca5c75c9b6bb87151a78
      705544c2
    • Yaowu Xu's avatar
      Update entropy context after trellis quant · fd873807
      Yaowu Xu authored
      BUG=aomedia:110
      
      Change-Id: Icd64aebf61e945ae3ee5f95e463599c77fa55e8a
      fd873807
  4. 10 Dec, 2016 3 commits
  5. 09 Dec, 2016 3 commits
    • hui su's avatar
      Add intra-interp experiment flag · eda3d764
      hui su authored
      intra-interp experiment allows intra prediction to use different
      interpolation filters. It was part of the ext-intra in the nextgenv2
      branch.
      
      Change-Id: I27ab692494dc79bb92e457dbf9a72988577f1c6d
      eda3d764
    • Tristan Matthews's avatar
      pvq: sync with daala · f95a0c14
      Tristan Matthews authored
      This means that all shared PVQ code is now in fixed-point.
      Applies the following patches from daala:
      
      963d3a9 pvq: fix artificial chroma boost with --enable-float-pvq
      7522712 pvq: cosmetics: drop OD_ROUND32 where it is a noop
      3395f61 pvq: in float pvq case, mag must default to 1.0
      29193bb pvq: fix typo
      c774e25 pvq: convert od_init_qm to int
      b5607d6 pvq: use small LUT for integer sqrt((n+3)/2) sqrt((n+2)/2)
      a989c43 pvq: use od_beta_rcp in od_gain_compand
      12c31ea pvq: use od_rcp_beta in od_compute_k
      
      Change-Id: I0ad6a896c9f9fdd752f3b65a0df313efc0db5e63
      f95a0c14
    • Debargha Mukherjee's avatar
      Support affine/homography models for global motion · b0f6bd44
      Debargha Mukherjee authored
      With this patch affine or homography models can be enabled
      by simply changing the value of the GLOBAL_TRANS_TYPES
      macro in common/mv.h to 4 and 5 respectively. Currently
      it is left at supporting only rotzoom. There is a small
      gain with enabling affine.
      
      Also refactors costing to change based on the model type.
      
      Change-Id: I46c1759de06c42c176c64ec21307ff347ddcc259
      b0f6bd44
  6. 08 Dec, 2016 2 commits
  7. 07 Dec, 2016 10 commits
  8. 06 Dec, 2016 6 commits
    • Jingning Han's avatar
      Increase the transform block number in context_tree allocation · 45874274
      Jingning Han authored
      The pixel number remains the same.
      
      Change-Id: I40e54f4c0893db8f9452624f8167ead994b71f1d
      45874274
    • David Barker's avatar
      Improve rdopt decisions for ext-inter · ac37fa3d
      David Barker authored
      Relative to previous ext-inter:
      lowres: -0.177%
           or -0.029% (with USE_RECT_INTERINTRA = 0)
      
      * When predicting interintra modes, the previous code did not provide
        the intra predictor with the correct context during rdopt. Add an
        explicit 'ctx' parameter to the relevant functions, to provide this
        context.
        This fixes a nondeterminism bug, which was causing test failures in
        *EncoderThreadTest*
      
      * For rectangular blocks, build_intra_predictors_for_interintra needs
        to overwrite part of the context buffer in order to set up the
        correct context for intra prediction. We now restore the original
        contents afterwards.
      
      * Add a flag to enable/disable rectangular interintra prediction;
        disabling improves encoding speed but reduces BDRATE improvement.
      
      Change-Id: I7458c036c7f94df9ab1ba0c7efa79aeaa7e17118
      ac37fa3d
    • Jingning Han's avatar
      Handle the block offset using min transform block size · 81492267
      Jingning Han authored
      Map the block offset to pixel positions in the unit of minimum
      transform block size. This change retains the same coding
      statistics. The encoding speed is slightly faster (<1%).
      
      Change-Id: I2641d2b1e317ef4cdf477718c446ef025b8eef41
      81492267
    • Jingning Han's avatar
      Refactor get_entropy_contexts_plane() block step count · 9eef06df
      Jingning Han authored
      Make this scalable to minimum transform block size.
      
      Change-Id: I13b0ac841df4e87e6c6bcd8be358d817b4be4328
      9eef06df
    • Jingning Han's avatar
      Increase entropy_context buffer size in sub8x8 RD · 276c2943
      Jingning Han authored
      Temporarily increase the buffer size from 2 to 4 in the sub8x8
      rate-distortion search for cb4x4. These functions will be deprecated
      after cb4x4 is fully enabled.
      
      Change-Id: I6aecaf55bd21a9416713cf31e75e7b4d9b68f83c
      276c2943
    • Debargha Mukherjee's avatar
      Add domain transform recursive filter · 3981be93
      Debargha Mukherjee authored
      This filter is meant to replace the bilateral filter,
      but is currently added in addition to the bilateral filter
      for testing.
      
      Change-Id: Ia529701e69833d47c11b3367d5bf804eb8498079
      3981be93
  9. 05 Dec, 2016 1 commit
  10. 03 Dec, 2016 2 commits
  11. 02 Dec, 2016 6 commits