1. 01 Mar, 2017 1 commit
  2. 28 Feb, 2017 2 commits
    • Debargha Mukherjee's avatar
      Assign offsets correctly to compute warped motion · 246d2737
      Debargha Mukherjee authored
      Offsets for the least-squares for affine motion computation
      are now set at the top left corner of the current block.
      
      Improves stability and performance a little.
      
      Change-Id: I68ca7e74c6102502daa8ca3373af2b2dd59400c3
      246d2737
    • Jingning Han's avatar
      Disable compound mode in sub8x8 coding blocks · c41a549a
      Jingning Han authored
      Disable the support of compound prediction modes for sub8x8 codking
      blocks. Make the rate-distortion optimizations process account for
      such constraints.
      
      With the use 2x2 chroma prediction block, this makes the wrost case
      number of inter predictors same as vp9. It affects the coding
      gains by 0.35% for lowres, 0.17% for midres, and 0.08% for hdres.
      
      The encoding speed is up by 10%.
      
      Change-Id: Ieb2a83030676911baa403e586f1f800cbf485d81
      c41a549a
  3. 27 Feb, 2017 7 commits
    • Angie Chiang's avatar
      Remove redundant return in set_offsets · 44701f2c
      Angie Chiang authored
      Change-Id: Idf8f03052a7e21b8a273986204038545573d7962
      44701f2c
    • Debargha Mukherjee's avatar
      Better block center in gm_get_motion_vector fn · f6dd3c68
      Debargha Mukherjee authored
      Also supports homography models for future experiments.
      
      Change-Id: I4510540f54133e063891ed491c95c087222f7810
      f6dd3c68
    • Adrian Grange's avatar
      Remove unnecessary #ifdef · d152fc04
      Adrian Grange authored
      The line of code is already within the scope
      of an #if CONFIG_EC_MULTISYMBOL.
      
      Change-Id: I62e28c8586f5d04a1e1be4ea5a2551d3123fde9f
      d152fc04
    • Debargha Mukherjee's avatar
      Integerize warped motion computation · e6eb3b53
      Debargha Mukherjee authored
      Integerizes computation of the least squares for warped motion.
      The model is restricted to only Affine. Affine seems easiest
      to compute and integerize since it can be split into two 3-dim
      least squares problems, as opposed to rotation-zoom which needs
      a 4-dim least-squares problem to be solved.
      The current implementation requires only one division per block.
      
      BDRATE impact is mminimal. The upgrade to the affine model improves
      coding efficiency but integerization also degrades efficiency a
      little. Overall there is a net gain of about -0.07% BDRATE on
      the lowres set.
      BDRATE lowres: -1.113% with ----enable-warped-motion vs. without
      (up from -1.044%).
      
      Change-Id: I6b9216ac0737d76f59054293eabee48e17739ec4
      e6eb3b53
    • Angie Chiang's avatar
      Prefer using get_tx_size() · 7fcfee40
      Angie Chiang authored
      Change-Id: Ifcdd3ce2953c1ecb1d0962da412a4b5ba2cda912
      7fcfee40
    • Yaowu Xu's avatar
      Correct a macro · 345a22db
      Yaowu Xu authored
      --enable-lowbitdepth defines the flag CONFIG_LOWBITDEPTH, not
      CONFIG_AOM_LOWBITDEPTH.
      
      Change-Id: Ifa1c12847bee4978d08d010f4fc3601d75e59c31
      345a22db
    • Steinar Midtskogen's avatar
      CLPF: Add quality dependent damping in the constrain function · 4305e6be
      Steinar Midtskogen authored
      PSNR YCbCr:  -0.17%     -0.03%     -0.40%
      APSNR YCbCr: -0.17%     -0.02%     -0.39%
      PSNRHVS:     -0.06%
      SSIM:        -0.17%
      MSSSIM:      -0.07%
      CIEDE2000:   -0.12%
      
      Change-Id: I69a4b6a4e18c22c3930069396540a6fee45cb30d
      4305e6be
  4. 25 Feb, 2017 3 commits
  5. 24 Feb, 2017 6 commits
    • Michael Bebenita's avatar
      Clear MMX FP state in PVQ code. · e6862004
      Michael Bebenita authored
      Not clearing the FP state was causing acos to return NaN on OSX / LLVM.
      This was not causing problems Linux or AWCY.
      
      Change-Id: I278d02839e4de858b5f55cfb380fa3968937995e
      e6862004
    • Thomas Davies's avatar
      Use default CDF tables when initialising coef probs. · 87aeeb85
      Thomas Davies authored
      When creating the CDF head, do not use 8-bit probabilities
      to make the CDF tables, but load them directly.
      
      CDF tail values are created from the ONE_TOKEN relative
      probability as before.
      
      No change to BDR.
      
      Change-Id: I7386b8952f6f69cc9b77aa1b2bee71cf8e3cc9ff
      87aeeb85
    • Fangwen Fu's avatar
      improving palette throughput · 33bcd117
      Fangwen Fu authored
      * code the palette color index using 45 wavefront
      * interleave the coeff and palette color index in
        transform block level
      * the above change does not change code efficiency
      
      Details: 
      The 45 wavefront scan allows to compute the ctx of
      the diagonal samples' indices  at the same time. 
      Interleaving palette indices and palette residual
      on a transform block basis means that the entropy
       decoding and further processing of the palette 
      residual is not delayed by the entropy decoding 
      of all the color indices of the palette encoded 
      block.
      Change-Id: Ie9f576002a9a68394b99c23b01e9730df06df070
      33bcd117
    • Sebastien Alaiwan's avatar
      Allow disabling the 8-bit (low-bitdepth) operating path. · 98378137
      Sebastien Alaiwan authored
      This allows compiling a codec using the same operating path (the generic
      "high-bitdepth" one), regardless of the profile of the input bitstream.
      For now, keep the 16-bit (generic) pixel operating path disabled by default.
      
      Change-Id: Idd31a842b801a82c4918b1cfa7cc0bff5b11d060
      98378137
    • Thomas Davies's avatar
      EC_MULTISYMBOL: make all CDFs have a extra element. · f3eb840a
      Thomas Davies authored
      This will make it easier to add native CDFs for all the
      dependent experiments without excessive macros.
      
      Change-Id: Iee4710f0fe1c1b4300f686cdf2c5b879a36de987
      f3eb840a
    • Luc Trudeau's avatar
      Add get_plane_type() helper function. · 005feb6b
      Luc Trudeau authored
      Adds the static inline function get_plane_type to convert a plane number
      to the corresponding PLANE_TYPE.
      
      There's no change to the bitstream, it only encapsulates the logic to
      get the PLANE_TYPE.
      
      Change-Id: I1199db3a32c89437d9c029ab5b2b2e62582a13a2
      005feb6b
  6. 23 Feb, 2017 3 commits
    • Jingning Han's avatar
      Add chroma 2x2 block experiment · 31b6a4f9
      Jingning Han authored
      Support the use of 2x2 prediction and transform block size for
      chroma components. This experiment builds on top of cb4x4. It
      brings back the loss in performance gains due to 4x4 chroma
      component constrain. The coding gains for lowres are up from 1.5%
      to 2.5%.
      
      Change-Id: I8e461e230c2d920f6df1af9d935ebe9dfa3820d9
      31b6a4f9
    • David Barker's avatar
      Change gm_get_motion_vector · 45390c18
      David Barker authored
      Since gm_get_motion_vector is trying to give a motion vector for
      "the frame as a whole", it makes more sense for it to calculate
      the motion of the *center* of the block rather than the top-left
      corner of the frame.
      
      In theory, this change should also help the encoder make better
      decisions on when to use global motion. It avoids an issue
      where, early in the frame, NEARESTMV looks like a good way to use
      the global motion vector *without* paying the rate cost applied
      to the first few global motion blocks in each frame. This seems
      to lead to a better overall result.
      
      Change-Id: Ia5c6259ceb8b4ff3d00a5d553e1d18bdb802da59
      45390c18
    • Yushin Cho's avatar
      Another fix for building pvq and palette together · cc715089
      Yushin Cho authored
      Fixes that pack_palette_tokens() was disabled when pvq is enabled and
      av1_decode_palette_tokens() was not complied.
      
      Change-Id: I468bdc4d77ae7ddbca7fb5ed8e1da5506486a58c
      cc715089
  7. 22 Feb, 2017 6 commits
  8. 18 Feb, 2017 2 commits
    • Jean-Marc Valin's avatar
      Merging the dering and clpf experiments into a single experiment: CDEF · 01435130
      Jean-Marc Valin authored
      The result is identical to enabling both deringing and CLPF
      
      Change-Id: I71db5ba9e21fcaf11ad87e94841eaf80be58c0a8
      01435130
    • Nathan E. Egge's avatar
      Remove tx_size_prob from compressed header with EC_ADAPT. · b353a8ed
      Nathan E. Egge authored
      When run with --enable-ec_adapt, forward updates to the tx_size_prob
       array will not be made.
      
      objective-1-fast:
      
      master-ec_adapt-e568e6f0@2017-02-17T15:30:27.109Z ->
       tx_size-ec_adapt@2017-02-17T15:31:49.504Z
      
         PSNR | PSNR Cb | PSNR Cr | PSNR HVS |    SSIM | MS SSIM | CIEDE 2000
      -0.0113 | -0.0112 | -0.0113 |  -0.0114 | -0.0114 | -0.0114 |    -0.0112
      
      master-ec_adapt-robust-e568e6f0@2017-02-17T20:29:45.315Z ->
       tx_size-ec_adapt-robust@2017-02-17T20:33:06.405Z
      
         PSNR | PSNR Cb | PSNR Cr | PSNR HVS |    SSIM | MS SSIM | CIEDE 2000
      -0.0244 | -0.0243 | -0.0243 |  -0.0245 | -0.0245 | -0.0245 |    -0.0243
      
      Change-Id: I5873c5d14e3f3868997775f85fa743d2d55d81b7
      b353a8ed
  9. 17 Feb, 2017 3 commits
    • Yaowu Xu's avatar
      Change to use correct size · 0a79a1b1
      Yaowu Xu authored
      Replace obselete size "4" with correct one "tile_size_bytes". This
      fixes a decoder crash.
      
      BUG=aomedia:352
      
      Change-Id: I5b1c606a4d5be946acc68b3cfe0d0603a5591c44
      0a79a1b1
    • Debargha Mukherjee's avatar
      Support trapezoidal models for global motion · 5dfa9300
      Debargha Mukherjee authored
      Adds functinoality for least-squares, RANSAC as well as encoding and
      decoding with new constrained homographies that warp blocks to horizontal
      and/or vertical trapezoids. This is for future experimentation. None
      of the models are actually enabled in the code.
      
      Change-Id: I1936018c6b11587d6fd83c3a2c63548cb641b33f
      5dfa9300
    • Nathan E. Egge's avatar
      Use tx_size_cdf with CONFIG_EC_MULTISYMBOL. · 2ea519e5
      Nathan E. Egge authored
      This commit produces a bit-exact bitstream because prior calls to code
       the tx_size using aom_write_tree() would automatically convert the
       aom_tree_index on the fly to a CDF.
      The tx_size_cdf[]'s are now computed once per frame.
      Based on recent tests, this patch reduces decode time by 4%.
      
      Change-Id: I920dbf036b8a9574ea6e65ae5f9c43eef1c3f864
      2ea519e5
  10. 16 Feb, 2017 2 commits
  11. 14 Feb, 2017 2 commits
  12. 13 Feb, 2017 2 commits
  13. 12 Feb, 2017 1 commit
    • Jingning Han's avatar
      Make adapt-scan support multi-thread encoding · 5d0b310b
      Jingning Han authored
      This commit makes the adaptive scan order system support multi-
      thread encoding. It fixes unit test failure issue associated with
      AV1/AVxEncoderThreadTest.EncoderResultTest/0.
      
      BUG=aomedia:353
      
      Change-Id: I61cbf9531c8deab97fb3bb17428d0b2a63cf309a
      5d0b310b