1. 31 Mar, 2017 4 commits
    • Debargha Mukherjee's avatar
      Refactoring related to shear parameter computation · 3b6c5447
      Debargha Mukherjee authored
      Shear parameters for global motion are now computed once
      when the parameters are determined.
      
      Change-Id: Idfd53410079a81a81ddd4728f173a0d0ec60230b
      3b6c5447
    • Urvang Joshi's avatar
      RTCD defs: Remove empty specialize statements once and for all. · 5ddac0aa
      Urvang Joshi authored
      A similar cleanup happened before, but the empty statements have since
      reappeared. I added a check in 'specialize' subroutine to die whenever
      such an empty specialize call is found, so that config+make would fail.
      
      Change-Id: I300ca0f0b077c0aeca8096d6460d8fb1c364d9b9
      5ddac0aa
    • David Barker's avatar
      Allow NEAR_NEARMV and NEW_NEWMV modes to use ref_mv_idx · 404b2e87
      David Barker authored
      When ext-inter and ref-mv are both enabled, this patch
      allows the NEAR_NEARMV and NEW_NEWMV modes to pick from
      the extended reference mv list, just like the NEARMV and
      NEWMV modes can.
      
      Change-Id: Ibcc9e19dba7779422c1c9589d5498159e83bf61e
      404b2e87
    • Alex Converse's avatar
      Crop distortion to visible MIs · 61f37b87
      Alex Converse authored
      Ported from VP9 with some heavy modifications
      
      bsize_dist@2017-03-29T23:18:27.564Z -> bcropped_dist@2017-03-29T23:21:00.200Z
      
         PSNR | PSNR Cb | PSNR Cr | PSNR HVS |    SSIM | MS SSIM | CIEDE 2000
      -0.0966 | -0.0922 |  0.0032 |  -0.0618 | -0.0579 | -0.0441 |  -0.0959
      
      Change-Id: Icdfcf47a9017fd3180e7fbc963196a43c5376c4e
      61f37b87
  2. 30 Mar, 2017 8 commits
    • Yi Luo's avatar
      Add SSE2 av1_fht32x32 · 9a3d29ea
      Yi Luo authored
      BUG=aomedia:407
      
      Change-Id: I27a7a230bbc701920a996d1e22ae4d22ca8cfead
      9a3d29ea
    • Jean-Marc Valin's avatar
      Prevent PVQ SSE search from putting pulses beyond n-1 · 133a9878
      Jean-Marc Valin authored
      Change-Id: Ib9fec5f2e00ecd73006a603a61d3fddee5229cf8
      133a9878
    • Yunqing Wang's avatar
      Enable/disable unit tests correctly in decoder-only build case · 80360585
      Yunqing Wang authored
      While building the decoder-only AV1, the unit tests need to be the ones
      that only call decoder functions.
      
      BUG=aomedia:395
      
      Change-Id: Iac7b464aa222a177c06b2e037faa6717305cd59d
      80360585
    • Debargha Mukherjee's avatar
      A few fixes for global motion · 11f0e40d
      Debargha Mukherjee authored
      Handles a rare divisin by 0 case.
      Also adds a check on global motion parameters to disable
      if the parameters obtained are outside the range that the
      shear supports. This fixes a rare assert failure.
      Also changes the recode loop threshold somewhat.
      
      Change-Id: I4c6e74b914ac653cd9caa0563d78b0a19a2a8627
      11f0e40d
    • Alex Converse's avatar
      Make aom_sum_squares_2d_i16 take width and height parameters. · 4c5b0204
      Alex Converse authored
      SSE2 may be needed for nx4 and 4xn.
      
      Change-Id: I3c10112447fdb5fe51a68bc2c6e2f2641b102723
      4c5b0204
    • Jean-Marc Valin's avatar
      SSIM-like contrast term for CDEF distortion function · 2d5c2016
      Jean-Marc Valin authored
      high-latency, cpu=0:
      
        PSNR | PSNR Cb | PSNR Cr | PSNR HVS |    SSIM | MS SSIM | CIEDE 2000
      0.0378 |  0.1946 |  0.1385 |  -0.1159 | -0.2058 | -0.2085 |     0.1353
      
      low-latency, cpu=0:
      
        PSNR | PSNR Cb | PSNR Cr | PSNR HVS |    SSIM | MS SSIM | CIEDE 2000
      0.2388 |  0.2234 |  0.3290 |   0.0623 | -0.1716 | -0.1704 |     0.2542
      
      low-latency, cpu=4:
      
        PSNR | PSNR Cb | PSNR Cr | PSNR HVS |    SSIM | MS SSIM | CIEDE 2000
      0.4089 |  0.3477 |  0.6132 |   0.1729 | -0.1905 | -0.1610 |     0.5522
      
      Change-Id: I35b8596667d82a127847b209416ad83e3b839a9a
      2d5c2016
    • Steinar Midtskogen's avatar
      Optimise od_dir_find8() for SSE4.1 · 40fbd217
      Steinar Midtskogen authored
      Change-Id: I56a35b0d3d76294cc7b3d601770f7dcef12a8bc9
      40fbd217
    • Yue Chen's avatar
      Restrict # of neighbors in obmc blending · 1bd42be6
      Yue Chen authored
      Only blend with the first N neighbors at each side. If the size of
      one dimenstion is 8/16/32/64, the max # of neighbors to overlap
      with is 1/2/3/4.
      Previously we disable obmc mode if there are too many neighbors.
      
      Change of performance in AWCY, compared to disabling obmc if
      at any side there are more than 2 overlappable neighbors.
      HL improved by 0.02%
      LL improved by 0.09%
      
      Change-Id: I93d9a65c6c4aabf0b4a4946e2253d3e2ef21a662
      1bd42be6
  3. 29 Mar, 2017 8 commits
  4. 28 Mar, 2017 11 commits
    • Joe Young's avatar
      Fix compile error if ref_mv is disabled. · 1bf75bca
      Joe Young authored
      Change-Id: I2290eea6dc0b57f8bd3416ceae52ed75c24dd6ab
      1bf75bca
    • Jingning Han's avatar
      Refactor pick cdef to support cb4x4 · 31d044d3
      Jingning Han authored
      Replace hard coded numbers to support the 4x4 coding block
      structure.
      
      Change-Id: I3602e09c8cfae9765069848828b534d177a75774
      31d044d3
    • Yaowu Xu's avatar
      fix calls to av1_tx_block_rd_b() · 481af670
      Yaowu Xu authored
      Fix the calls to be compatible with the new interface introduced in a
      previous commit#77368af8.
      
      Change-Id: I6944c189d2d53978250df9dee460a2ba9b8ccc83
      481af670
    • hui su's avatar
      Add av1_ prefix to fwd_txfm() · f11fb882
      hui su authored
      Change-Id: Ie18fd2b8a3caf3948748ee353fe41e37f5803ba3
      f11fb882
    • Steinar Midtskogen's avatar
      Move dering strength mapping to od_dering() · 233ef947
      Steinar Midtskogen authored
      This patch also makes it easier to tune the mapping later.
      
      Change-Id: I69f49b9dd1fddb306931599a354526abe0232eb8
      233ef947
    • Alex Converse's avatar
      ext_partition_types: Uncopy-paste update_ext_partition_context · ffabff35
      Alex Converse authored
      Change-Id: I8cd35f4697bc5ee90cfcb1fd37042770d6b5a544
      ffabff35
    • Thomas Davies's avatar
      NEW_MULTISYMBOL: Code extra_bits using multi-symbols. · 9b8393fd
      Thomas Davies authored
      Code the extra_bits using up to 5 non-adaptive symbols,
      starting from the LSB. The number of skipped bits is
      truncated to fit into the multi-symbol groups.
      
      Change-Id: I147b5b0c3815bd39c338ee9a4779638ae75d7ab5
      9b8393fd
    • Steinar Midtskogen's avatar
      Let od_dering() handle 16 to 8 bit conversion · 302d2c18
      Steinar Midtskogen authored
      Change-Id: Ief5df3d5b1b81f09190d34022a3cb7d500992da2
      302d2c18
    • Jingning Han's avatar
      Refactor read_partition() · 5fe79db3
      Jingning Han authored
      Replace multiple calls for partition_cdf with a unified variable
      in ec-multisymbol. This siliences a compiler warning in the
      ec-multisymbol.
      
      Change-Id: I56b07579e89e8fba565c4960d081817c86bc0097
      5fe79db3
    • Jingning Han's avatar
      Explicitly use block size to determine partition info · cd95976b
      Jingning Han authored
      Replace the use of num_4x4_log2 with the actual block size as the
      condition to check if a block is partitionable. This avoids conflict
      issues when multiple experiments are turned on.
      
      Change-Id: I666d52458590a6f88c3995a140d20b0d66d27bfb
      cd95976b
    • Fergus Simpson's avatar
      frame_superres: Add scale to uncompressed header · e7508413
      Fergus Simpson authored
      A bit and a three bit literal have been added to the uncompressed frame
      header for use by the frame superres experiment.
      
      The bit is true if scaling is to be used, and is immediately followed by
      a three bit literal that encodes the scale to use. If the first bit is
      false, scaling is disabled and the scale factor numerator is set to the
      denominator (ie. 1:1 scaling). No literal follows if scaling is
      disabled.
      
      The denominator has been defined as a constant 16. The literal is biased
      by a defined constant of 8 - allowing fractions from 1/2 to 15/16
      scaling in steps of 1/16 when scaling is used. Experimentation will be
      needed to discover which of these are useful.
      
      The bit and literal are immediately after the optional render_width and
      render_height, so that the superres parameters can be written and read
      just after the regular width and height, without interfering with the
      render_size parameters.
      
      This patch also adds an arbitrary write to make the scale 1:1, so as to
      not trigger any scaling until it's ready.
      
      Accompanying encode and decode helper functions are added.
      
      Change-Id: I8caa6247c73f5c7f84ef1fde1e80eb9b20bde0e3
      e7508413
  5. 27 Mar, 2017 9 commits
    • Jean-Marc Valin's avatar
      Don't run cdef when cm->mi_grid_visible[]==NULL · b37226e4
      Jean-Marc Valin authored
      Change-Id: Id2bcdad731c27a71cca29205d37c781a3f99bb3d
      b37226e4
    • Jingning Han's avatar
      Fix compiler warnings in av1_loopfilter · afeb9219
      Jingning Han authored
      Change-Id: Ieec83d0b067ec36c35878aee02eeba436ede14a5
      afeb9219
    • hui su's avatar
      rect-tx/ext-tx: fix an assertion fail · ff5e2098
      hui su authored
      Fix an assertion fail in rd_pick_intra_sub_8x8_y_subblock_mode().
      
      BUG=aomedia:410
      
      Change-Id: I22d4aaea0566336605230e09d9590bc235719685
      ff5e2098
    • Angie Chiang's avatar
      Add const to rate in cost_coeffs_b · 4d8b8f49
      Angie Chiang authored
      Change-Id: I9780e4e4f736b92b676f8a03a445a88749d4022e
      4d8b8f49
    • Angie Chiang's avatar
      Use txb_entropy_ctx to store entropy ctx of lv_map · 74e2307b
      Angie Chiang authored
      1) Add txb_entropy_ctx into MACROBLOCK_PLANE and PICK_MODE_CONTEXT
      
      2) Add av1_get_txb_entropy_context() to compute the entropy context
      
      3) Compute and sore the entropy context before av1_xform_quant()
      return
      
      Change-Id: Ia2170523af3163b9456f7c6a305c1e77ad2b23be
      74e2307b
    • Angie Chiang's avatar
      Compute lv_map's coeff cost in av1_cost_coeffs() · 47e4b369
      Angie Chiang authored
      1) move the original implementation in av1_cost_coeffs() to
      cost_coeffs() and let av1_cost_coeffs become a switch for
      choosing original coeff cost or lv_map's coeff cost
      
      2) change get_txb_ctx's naming. Use plane_bsize instead of
      bsize to make the intention clear.
      
      3) remove txb context computing in get_txb_ctx
      Change-Id: I17e3d39d796e051d1c90f0a0c5d7d0888b9ca292
      47e4b369
    • Debargha Mukherjee's avatar
      Adds binary code lib for coding various symbols · 47748b56
      Debargha Mukherjee authored
      Adds a variable length binary code library for
      coding various symbols for typical use in headers.
      
      The main codes implemented are:
      1. Coding a symbol from an n-ary alphabet using a
      quasi-uniform code.
      2. A bilevel code for coding symbols from an n-ary
      alphabet based on a reference value for the symbol
      also taken from the same alphabet.
      The code has two steps. If the symbol is close to
      the reference a shorter code is used, while if it is
      farther away a longer code is used.
      3. A finite (terminated) subexponential code that codes
      a symbol from an n-ary alphabet using subexp parameter k.
      4. A finite (terminated) subexponential code that codes
      a symbol from an n-ary alphabet using subexp parameter k,
      based on a given reference also taken from the same
      alphabet. This code essentially reorders the values
      before using the same code as 3.
      
      Also adds corresponding encoder side functions to count
      the number of bits used.
      
      These codes will be subsequently used for more efficient
      encoding of loop-restoration parameters and global motion
      parameters.
      
      Change-Id: I28c82b611925c1ab17f544c48c4b1287930764b7
      47748b56
    • Jean-Marc Valin's avatar
      CDEF: Fix allocation of row_dering · e84eaf03
      Jean-Marc Valin authored
      Change-Id: Ic4c4f0ff7cf4063e2a0366af05442858b4b7fcca
      e84eaf03
    • Yushin Cho's avatar
      Remove av1 coeff context setting when PVQ is used · 6341f5c5
      Yushin Cho authored
      Entropy context of above and left block is not used
      when PVQ is turned on.
      
      Change-Id: I50c908bba800382438a48f7cc83f8b0f177393a1
      6341f5c5