1. 12 Apr, 2017 1 commit
    • 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
  2. 11 Apr, 2017 11 commits
  3. 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
  4. 08 Apr, 2017 4 commits
  5. 07 Apr, 2017 9 commits
  6. 06 Apr, 2017 7 commits
    • Yue Chen's avatar
      Disable OBMC + compound · 8636da61
      Yue Chen authored
      Disable OBMC mode if the current block uses compound prediction.
      Results if we only disable this combination for small
      block sizes are also listed.
      
      Loss of gain (lowres/midres/AWCYHL)
      no compound :         0.230%/0.105%/0.15%
      no compound <= 8x8:   0.043%/-0.016%/0%
      no compound <= 16x16: 0.153%/0.029%/0.05%
      
      
      Change-Id: I94c9d704172dd02e53f3b2004a8032a4f1265057
      8636da61
    • Urvang Joshi's avatar
      av1_has_bottom() Bugfix. · 1c247974
      Urvang Joshi authored
      This function was incorrectly using transform width instead of height.
      The bug wasn't caught yet, because all calls to this function currently
      use square transform sizes only.
      
      Change-Id: Id206c64aa26a8deecbbf90844220ad2f93230c15
      1c247974
    • David Barker's avatar
      Add SSSE3 highbd warp filter · 521383ae
      David Barker authored
      Change-Id: Ic3b8508c3364aecff1b2f53c7246a5e381b63018
      521383ae
    • Jingning Han's avatar
      Fix compiler error in sub8x8mc · 679a6be8
      Jingning Han authored
      Change-Id: Iab9c6dce5157b5e6ed1fa1046c28a8ebda90e73b
      679a6be8
    • David Barker's avatar
      Prepare for vectorizing highbd warp filter · 2bcf280e
      David Barker authored
      This applies the same refactorings to highbd_warp_plane
      which were applied to warp_plane a while ago, and lays the
      groundwork for the relevant tests.
      
      Change-Id: Ic4c00bce1accc5a3624bba0c3b4b325e69a42c1a
      2bcf280e
    • Timothy B. Terriberry's avatar
      new_multisymbol: Fix some illegal CDF values. · 417f58a6
      Timothy B. Terriberry authored
      The probability of several of the symbols used for extra bits for
      category 6 tokens, which as far as I can tell are legal to code,
      was set to zero, and in one case even negative.
      
      Change-Id: If6bd539b53889d75f974d444d666ed031faf18e0
      417f58a6
    • Timothy B. Terriberry's avatar
      new_tokenset: Fix out-of-bounds reference. · 439f2309
      Timothy B. Terriberry authored
      cdf_head[i - 1] is not defined for i == 0.
      
      Change-Id: Ia071cd9db939497be331978a0fc64c6fa0cd528d
      439f2309
  7. 05 Apr, 2017 2 commits
    • Jean-Marc Valin's avatar
      Fixing CDEF right and bottom tile boundaries · 19339a78
      Jean-Marc Valin authored
      We just get the top and left flags from the next superblock
      
      Change-Id: I2ea59541edaa46208f3328cc118ebdc7cc2cde08
      19339a78
    • Yushin Cho's avatar
      PVQ uses backward updated context in a tile · c49ef3a1
      Yushin Cho authored
      In the beginning of encoding and bitstream packing,
      the frame context in common of codec is copied to the frame context
      in each tile.
      Initial prob and context is based on flat probability and
      does not come from table at the moment.
      
      The bd-rate change for the test set objective-1-fast
      on awcy with high delay mode is:
      
      PSNR   PSNR  HVS  SSIM  CIEDE 2000  PSNR Cb PSNR Cr MS SSIM
      -0.77  -1.05      -0.74 -0.67       -0.67   -0.77   -0.88
      
      Change-Id: Ic9105ac68aceb7486cb5f6f1c0b19df5853f2cb9
      c49ef3a1