1. 17 Apr, 2017 1 commit
  2. 14 Apr, 2017 9 commits
  3. 13 Apr, 2017 6 commits
    • Yue Chen's avatar
      Reduce the bandwidth requirement of sub8x8 chroma obmc · 85c7e906
      Yue Chen authored
      HW does not support < 4x4 prediction. To limit the bandwidth
      requirement, for small blocks, only blend with neighbors from one
      side. If block-size of current plane is 4x4 or 8x4, the above
      neighbor will be skipped. If it is 4x8, the left neighbor (dir = 1)
      will be skipped.
      This change will keep the bandwidth requirement of OBMC not more
      than what is required by normal compound inter modes.
      
      Loss of gain (PSNR-Y/PSNR-Cb/PSNR-Cr/CIEDE2000)
      AWCY HL: 0.05/0.09/0.14/0.04
      AWCY LL: 0.06/0.07/0.10/0.12
      
      Change-Id: I3854afc69c3014da99bde4b19bb726e4c077d59e
      85c7e906
    • Debargha Mukherjee's avatar
      Adds option to use 1/32 subpel precision for gm/wm · 16056f5b
      Debargha Mukherjee authored
      Adds filters for 1/32 subpel precision for warping.
      To use 1/32 subpel precision make WARPEDPIXEL_PREC_BITS 5.
      By default, WARPEDPIXEL_PREC_BITS is set as 6 in common/mv.h,
      which uses 1/64 subpel precision.
      
      If 1/32 precision is used, BDRATE drops:
      on lowres:
      -1.101 (vs. -1.186% with 1/64) w/warped-motion
      -1.587 (vs. -1.650% with 1/64) w/global-motion
      
      on cam_lowres:
      -2.638 (vs. -2.707% with 1/64) w/warped-motion
      -3.396 (vs. -3.453% with 1/64) w/global-motion
      
      Change-Id: I82fbfddaad9bd9be658fe382401d212833c7ceef
      16056f5b
    • Yi Luo's avatar
      Add EOB threshold calculation for ADAPT_SCAN · cfe0fede
      Yi Luo authored
      Change-Id: I0c58fb5ee2a77ae15f6243b1c645dbe601171e67
      cfe0fede
    • Steinar Midtskogen's avatar
      CDEF: Optionally filter 8x8 skip blocks · 7b069a57
      Steinar Midtskogen authored
      Optionaly filter 8x8 skip blocks, but still leave superblocks that are
      completely skipped unchanged.  Use one bit in the dering level to
      signal replacing the signal for dering damping.
      
      This works better with cb4x4 that now is enabled by default.
      
      Low latency, used-cpu=4 change:
         PSNR|PSNR Cb|PSNR Cr|PSNR HVS|   SSIM|MS SSIM|CIEDE 2000
      -0.6260|-0.3263|-0.3797| -0.3574|-0.7072|-0.4828|   -0.6584
      
      Change-Id: I42c4290b52a50779770884fbabb020fdb1034ff7
      7b069a57
    • Jean-Marc Valin's avatar
      Can't skip deringing on threshold=0 because chroma needs direction · 87c24a1d
      Jean-Marc Valin authored
      Change-Id: I7481fe139e1c9454c73948de3d8b8fefaf37e79a
      87c24a1d
    • Sarah Parker's avatar
      Disable neighbor warping for gm + obmc · a036d86f
      Sarah Parker authored
      Adds an option to disable warp when obmc is used with a
      global motion neighbor.
      
      Change in BDRATE on cam_lowres
      gm + obmc enabled: 0.035%
      gm + obmc + wm enabled: -0.005%
      
      Change-Id: I1d6de75c7ead325cec31ed3748b5532f3658d8a7
      a036d86f
  4. 12 Apr, 2017 2 commits
    • Sebastien Alaiwan's avatar
      Homogenize configuration option name. · 71e87847
      Sebastien Alaiwan authored
      Rename '--enable-aom-highbitdepth' to '--enable-highbitdepth'
      
      Change-Id: I1de13c3508c30c552532993419d8ace326142ab6
      71e87847
    • Timothy B. Terriberry's avatar
      pvq: Remove support for disabling nodesync. · 44bb6d06
      Timothy B. Terriberry authored
      This was broken by commit 1238137c.
      
      When calling the generic coder with a max, it truncates the CDF, but
      then tries to encode/decode with the Q15 entropy coder functions
      with built-in adaptation. That causes assertion failures, because the
      total probability isn't 32768.
      
      We could fix it by re-scaling the CDF, and then doing adaptation
      assuming there was no max, but that requires several special-case
      code paths.
      
      Instead, since non-robust streams were the only thing that still
      required calling the generic coder with a max, and since the gain
      from them is very small (and they require doing more DSP just to be
      able to parse the stream), we simply remove the option and force
      the use of robust streams all the time.
      
      With robust streams enabled, encoder output should not change, and
      all streams should remain decodable without decoder changes.
      
      Thanks to Nathan Egge for reporting the problem.
      
      Change-Id: I6c81481abb796688bf703d68f164d208e6a69f20
      44bb6d06
  5. 11 Apr, 2017 11 commits
  6. 10 Apr, 2017 6 commits
    • Fergus Simpson's avatar
      frame-superres: Move resize from encoder to common · d0565006
      Fergus Simpson authored
      The resizing functions in resize.h and resize.c are useful for the
      frame super-res experiment. These functions will be needed in both the
      encoder and decoder, so the files have been moved into av1/common.
      
      Change-Id: I66154b7ec0eade0df460c4f4cf8eaa5f663c8904
      d0565006
    • Debargha Mukherjee's avatar
      Reduce precision of shear parameters to 16 bits · 27f6e66e
      Debargha Mukherjee authored
      Change-Id: I9cd9362edbb7b642f4b632bf574abfe5b2159ff3
      27f6e66e
    • Sarah Parker's avatar
      Turn on SEPARATE_GLOBAL_MOTION by default · 27f3f988
      Sarah Parker authored
      Change-Id: I7e64307f4bd8821e0abfe804d00d022414759706
      27f3f988
    • Fergus Simpson's avatar
      scaling: Avoid SSSE3 convolution instructions when scaling · fc59389f
      Fergus Simpson authored
      The SSE3 convolve functions do not work when scaling is involved. If
      either x_step_q4 or y_step_q4 is not 16 scaling will occur and an assert
      fails.
      
      This patch creates a C version of av1_convolve, av1_convolve_c. This
      function in turn calls all C versions of what av1_convolve calls. New C
      versions of these called functions have been created where needed and
      the same for the functions they call. This means that when scaling is
      enabled no asserts fail. av1_convolve_c is called instead of
      av1_convolve when x_step_q4 or y_step_q4 is not 16.
      
      Change-Id: I604d2716e034e23a0553fb7004133d3075514a7a
      fc59389f
    • Angie Chiang's avatar
      Use block_idx rather than block_raster_idx · 752ccce7
      Angie Chiang authored
      1) block_raster_idx is actually raster order only when tx_size
      is TX_4x8.
      It's very specific, so we should put it near to the place it's
      actually used.
      
      2) Sync the meaning of block_idx on encoder/decoder sides
      
      Change-Id: I7d37a992cb773503e29f9c0d9d2586e580aa6173
      752ccce7
    • Debargha Mukherjee's avatar
      Reduce max mv allowed for local warp · d49c5c41
      Debargha Mukherjee authored
      Reduces value from 512 to 256.
      
      Change-Id: Ia1f924e8b0f38baee812740d7f90e6b95c6df15f
      d49c5c41
  7. 08 Apr, 2017 4 commits
  8. 07 Apr, 2017 1 commit