1. 09 May, 2017 11 commits
    • Alex Converse's avatar
      intrabc: Allow ext_tx transforms · daa15e4e
      Alex Converse authored
      objective-1-fast results:
      
      sequence       PSNR    PSNR HVS    SSIM    CIEDE   APSNR   MS SSIM VMAF
      average        -0.02    0.01       -0.02   -0.03   -0.02    0.00    0.06
      1080p           0.02    0.01        0.03    0.00    0.01    0.02    0.09
      1080p-screen   -0.32   -0.28       -0.32   -0.44   -0.31   -0.27    0.00
      360p            0.06    0.14        0.10    0.10    0.08    0.11    0.22
      720p            0.00    0.04       -0.05    0.01    0.00   -0.01   -0.10
      wikipedia_420  -1.04   -0.95       -1.05   -1.30   -1.03   -0.88   -0.29
      
      Change-Id: I30ce8a869daf1c3ed539ffed552786cbb785e7d0
      daa15e4e
    • Thomas Daede's avatar
      Re-add encoder speed 8, but without VAR_BASED_PARTITION. · 1206a685
      Thomas Daede authored
      Partial revert of "Remove encoder speed 8 in AV1"
      6c29f464.
      
      Change-Id: I474e26700047854353347ce97cc7d545e3ca0642
      1206a685
    • Yaowu Xu's avatar
      Prevent access array with -1 index · 37fe5fbc
      Yaowu Xu authored
      Change-Id: I9fdf3b543a00700d47b3012b3de7b30ae455900f
      37fe5fbc
    • Urvang Joshi's avatar
      rdopt.c: Add intra-only sanity checks. · 330aec86
      Urvang Joshi authored
      Adds sanity checks to methods that should only be called for intra
      blocks.
      
      Change-Id: I34b24dbb24f6d35ff42bbdf31d29eef2980a05b4
      330aec86
    • Jingning Han's avatar
      Rework inter prediction process in cb4x4 mode · c44009c1
      Jingning Han authored
      Use 2x2 inter prediction for chroma component. This improves the
      compression performance by 0.6% for lowres.
      
      Change-Id: If9d98e49cee63f40085b179652bfacc31ff462ea
      c44009c1
    • Sebastien Alaiwan's avatar
      Reduce variable scope · b507bf19
      Sebastien Alaiwan authored
      This fixes a warning about unused computed values when
      CONFIG_HIGHBITDEPTH is 1.
      
      Change-Id: Ibf1076c4838f750da4a1b940b550ef8ecac6ba02
      b507bf19
    • Fergus Simpson's avatar
      resize-refactor: Change resizing process with helpers · fecb2abc
      Fergus Simpson authored
      Adds three new helpers and changes one other. The intention of this is
      to make the triggering and function of resizing simpler. The new process
      is to resize to the next state and then update the current state to
      match. The new helpers reflect this change and make the overall flow
      simpler.
      
      resize_pending is now a helper instead of a member, so it doesn't need
      to be raised manually. A resize is pending when the numerator or
      denominator of the next resize state is different from the current one.
      resize_pending could be 1 (scale down), 0 (no change), or -1 (return to
      original resolution if 1-pass CBR), but now it can only be 1 or 0. To
      return to the original resolution just set the scale to 1:1. This
      reduces complexity with no change in functionality.
      
      resize_unscaled just returns 1 if the current numerator and denominator
      are equal. This makes some if conditions cleaner.
      
      resize_step makes the current scale equal to the next scale. This
      signifies that a resize is complete and will cause resize_pending to be
      false until the next state is changed. This is the end of the new
      resizing procedure.
      
      av1_calculate_coded_size has been changed to calculate the next size
      instead of the current size. The current state can't be updated until
      the resize is complete because if it were, the resize_pending state
      would drop and the resize wouldn't finish. This just means the next
      resolution is the target resolution until the resize is complete.
      
      Change-Id: I5d5855cc83f532d3a8b1f8853ba70a0d43221fbf
      fecb2abc
    • Zoe Liu's avatar
      A small cleanup on LOWDELAY_COMPOUND · 3ca58dfb
      Zoe Liu authored
      BUG=aomedia:442
      
      Change-Id: I98ada843016d0dd046f89bbcb2e9ae72442a101e
      3ca58dfb
    • Fangwen Fu's avatar
      Sync enc/dec for tempmv_signaling · 930c51c3
      Fangwen Fu authored
      * Change ref parameter to use LAST FRAME instead of
       previous frame, which makes it consistent in
       enc/dec for tempmv_signaling.
      
      BUG=aomedia:511
      
      Change-Id: I02f1101623b7b3b09cd4d3f2977e9503b95818ec
      930c51c3
    • Luc Trudeau's avatar
      [CFL] Support for skip_chroma_rd in CB4X4 · 2c317905
      Luc Trudeau authored
      CFL is disabled when skip_chroma_rd is enabled. This is done by reusing
      the logic in CB4X4. To facilitate integration, the skip logic used in CfL is
      moved inside the read/write functions.
      
      Results on Subset1:
      master@2017-05-08T19:54:48.196Z -> cfl_baseline@2017-05-08T20:06:55.292Z
        PSNR |  PSNR Cb |  PSNR Cr | PSNR HVS |   SSIM | MS SSIM | CIEDE 2000
      0.2668 | -12.0951 | -10.4138 |   0.3095 | 0.2998 |  0.2831 |    -3.6579
      https://arewecompressedyet.com/?job=master%402017-05-08T19%3A54%3A48.196Z&job=cfl_baseline%402017-05-08T20%3A06%3A55.292Z
      
      Change-Id: I45644baa1aceef5ad4da3332fcb10f3fbaac052b
      2c317905
    • Fangwen Fu's avatar
      Make tile dependency experiment work with ext tile. · 70bcb89b
      Fangwen Fu authored
      * Add tile dependency support when ext tile enabled.
      
      Change-Id: I8fe40adf285e171b5b761b15590a8b1c6758b8f7
      70bcb89b
  2. 08 May, 2017 9 commits
    • hui su's avatar
      Palette: avoid memory leak with encoder buffers · 5d493143
      hui su authored
      For multi-thread encoding, previously the encoder buffers are
      allocated at every frame, but only freed at the end of encoding,
      causing memory leaks.
      
      Change-Id: Id0e9d7fba8330e82be9cec1d42b7d4b017b8d772
      5d493143
    • Urvang Joshi's avatar
      Add a new experiment SMOOTH_HV. · e6ca8e83
      Urvang Joshi authored
      This experiment extends ALT_INTRA by adding two new modes:
      smooth horizontal and smooth vertical.
      
      Improvement on *intra frames* in BDRate (PSNR):
      ===============================================
      
      AWCY (high latency): -0.46%
      (Also, -1.0% or more on PSNR Cb,Cr and APSNR Cb,Cr).
      
      AWCY (low latency): -0.43%
      (Also, -0.88% to -0.94% on PSNR Cb,Cr and APSNR Cb,Cr).
      
      Google sets:
      lowres: -0.454
      midres: -0.484
      hdres:  -0.525
      
      Improvement on *video overall* in BDRate (PSNR):
      ================================================
      
      AWCY (high latency): -0.15%
      
      Google sets:
      lowres: -0.085
      midres: -0.079
      
      Change-Id: I9f4e7c1b8ded1fe244c72838f336103ccc715d50
      e6ca8e83
    • Yaowu Xu's avatar
      Convert to use int64_t to aovid int oout-of-range · 0c33b15f
      Yaowu Xu authored
      BUG=aomedia:518
      
      Change-Id: Ia88b50b084c6370073ac4916e00a019963cf0254
      0c33b15f
    • Urvang Joshi's avatar
      Palette: Special case for 2 unique colors. · 773e3542
      Urvang Joshi authored
      When a block only contains 2 unique colors, there's no need to run
      K-means, as 'lb' and 'ub' can directly be used as the centroids.
      
      Two benefits:
      1. Encoding will be faster for this special case, and
      2. Can potentially avoid sub-optimal/duplicate centroids generation
      (due to integer rounding) when 'ub' and 'lb' values are very close.
      
      Change-Id: Ice04fc8577e3cc8c74f87d623a16ac8de3257cdd
      773e3542
    • Debargha Mukherjee's avatar
      Some cleanups on ext-inter config macros · ed057990
      Debargha Mukherjee authored
      Also includes a change in the wedge primary functions providing
      a slight improvement.
      
      Change-Id: I536d3209f59624e23128708e29fa85c1e6fcd97e
      ed057990
    • Luc Trudeau's avatar
      [CFL] Change cfl_load to use width and height · 30596fb2
      Luc Trudeau authored
      Since the size used with cfl_load can either be based on the transform
      block size and the prediction block size, width and height are used as
      parameters instead of TX_SIZE.
      
      This resolves a problem where cfl_compute_alpha_ind was reading
      uninitialized memory.
      
      Change-Id: I187dbdd5b2e8bd85e82bb77eb74859bee2cd3f1e
      30596fb2
    • Angie Chiang's avatar
      Change plane_rd_mult inter uv param from 5 to 6 · ebcdb25e
      Angie Chiang authored
      This will improve the lowres performance by 0.1%
      No significant change on midres and hdres
      
      Change-Id: I0c6e69bf48596e7e5ad49631ed9f9be73bbf3c9a
      ebcdb25e
    • Yaowu Xu's avatar
      Revert "Upgrade to int64_t to avoid out-of-range" · 03013c53
      Yaowu Xu authored
      This reverts commit 9395b34e, because it
      did not have any effect in eliminate ubsan warnings as intended.
      
      Change-Id: I9221385217f062a0356fe0c68643b12751048f69
      03013c53
    • Urvang Joshi's avatar
      Palette: Handle case of too few unique centroids. · 5fb95f7d
      Urvang Joshi authored
      Even though number of unique colors in a block may be at least
      PALETTE_MIN_SIZE, sometimes the K-means can generate fewer than
      PALETTE_MIN_SIZE unique centroids due to integer rounding.
      
      This was resulting in "k - PALETTE_MIN_SIZE" being negative and using
      that as an index into palette_y_size_cost array was causing a UBSan
      error.
      
      BUG=aomedia:515
      
      Change-Id: Ia00b4bb2efebbe43d1fec7b619ebb837b1ae961c
      5fb95f7d
  3. 07 May, 2017 1 commit
  4. 06 May, 2017 2 commits
  5. 05 May, 2017 12 commits
    • Debargha Mukherjee's avatar
      Add speed feature to control global motion compute · 2a9d746c
      Debargha Mukherjee authored
      Adds a speed feature to control which references to use
      to compute global motion.
      Also adds logic to not compute duplicate sets of
      parameters when reference frames point to the same
      buffers.
      Includes some renaming of functions to set good speed
      features to make things clearer.
      
      Change-Id: I641d33441fde98af18cad8d4db49cf7d5d153ead
      2a9d746c
    • Yaowu Xu's avatar
      Initialize int variables to 0 instead of 0.0 · fc4585b5
      Yaowu Xu authored
      fixes a couple of type conversion warnings for msvc2015
      
      Change-Id: I004f072661c981e204bd62b2740201658ad67294
      fc4585b5
    • Yaowu Xu's avatar
      Change to use correct type for token_cost · 42350322
      Yaowu Xu authored
      The conversion of return value to int64_t appears to be unnecessary.
      
      fixes a number of type conversion warnings for MSVC2015
      
      Change-Id: Ibca24468e73bf22ad07c469ce5d1223635390ecb
      42350322
    • Yaowu Xu's avatar
      Remove unnecessary const · 1e4e5b96
      Yaowu Xu authored
      Removed "const" from parameters that are passed by value, also fixes
      msvc2015 compiler warnings.
      
      Change-Id: I0c7555b4245fa55fabda1c27762fb9f0860bfa18
      1e4e5b96
    • Frederic Barbier's avatar
      Simplify txfm code using helper function · bbf7bb02
      Frederic Barbier authored
      Change-Id: Ib92f54480035a85ab7279ffa9f8b9237d0a3f334
      bbf7bb02
    • Debargha Mukherjee's avatar
      Redo / refactor affine and rot-zoom least squares · 7ae7aeaf
      Debargha Mukherjee authored
      Use a simpler least-squares function for affine and rotzoom
      model estimation, instead of computing the pseudo inverse.
      Also refactors the code into a separate mathutils.h file.
      
      The SVD code is currently used only for estimation of the
      homography models which can be removed when we remove the
      homography models.
      
      Coding efficiency change is in noise range, with the small
      difference coming from numerical precision issues.
      
      Change-Id: I0a9eb79495911cea21a7945b397d596e22a2a186
      7ae7aeaf
    • hui su's avatar
      Fix a conflict between ext-intra and alt-intra · 9cc10654
      hui su authored
      The angle estimation in ext-intra didn't account for
      alt-intra.
      
      Also use c99 variable declaration style.
      
      BUG=aomedia:444
      
      Change-Id: I001b0278eb8cf560975c873a423de024c10d08b4
      9cc10654
    • Luc Trudeau's avatar
      [CFL] Alpha signaling · f533400a
      Luc Trudeau authored
      Writes and reads alpha to and from the bitstream.
      
      A special case is needed on the encoder side to handle prediction block
      skips. Since whether or not a prediction block is skipped during CfL, a
      rollback is required if the block was skipped and the alpha index was
      not zero. The advantage of this is that no signaling is required when
      the prediction block is skipped as it is assumed tha the alpha index is
      zero.
      
      A encode facade is added to the intra prediction facade as CfL requires
      special encoder side operations.
      
      Change-Id: Ic3b11d0fdbd51389d862112eb09d8785127a6b06
      f533400a
    • Yushin Cho's avatar
      Remove unused variable ctx->pred_pixel_ready · 6d72a2f7
      Yushin Cho authored
      Change-Id: I705bbb79104eda4a7db8146e49795dbe80a31a3f
      6d72a2f7
    • Yunqing Wang's avatar
      Use CHECK_MEM_ERROR while allocating memory · f5dc71e7
      Yunqing Wang authored
      Used CHECK_MEM_ERROR in cpi->mbmi_ext_base memory allocation.
      
      Change-Id: Ief8629d2b420b073f233c7c8e5e0b6d4269aea5c
      f5dc71e7
    • Sebastien Alaiwan's avatar
      Merge ref-mv into codebase · e140c508
      Sebastien Alaiwan authored
      Change-Id: I96e386678f6227f3ca735c9be2725cb9795b3296
      e140c508
    • Jingning Han's avatar
      Fix compiler warnings on config_subframe_prob_update · 911c964a
      Jingning Han authored
      Remove the unused codes under the experimental flag.
      
      Change-Id: I4e1c176d13a58f6677f32d52bbfaa7f0aad4249d
      911c964a
  6. 04 May, 2017 5 commits