1. 15 Jun, 2017 8 commits
    • Sebastien Alaiwan's avatar
      Fix unit tests with --disable-lowbitdepth · 8b7a4e16
      Sebastien Alaiwan authored
      This moves up to the main the decision of which coding path to use,
      aligning the decoder's logic on the encoder's logic.
      
      Change-Id: I61c709ca1160aefb156d0be25cab8bb1c20ff92a
      8b7a4e16
    • David Barker's avatar
      Remove unused speed feature · cc8a1bed
      David Barker authored
      The 'intra_y_mode_bsize_mask' speed feature is never set or
      checked, so can be deleted from the SPEED_FEATURES structure.
      
      Change-Id: I3094ab7e8e87334e35a6646f6fbf0a8adaf78c00
      cc8a1bed
    • Alex Converse's avatar
      intrabc: Fix compatibility with global motion · 7d5559cc
      Alex Converse authored
      Change-Id: I64ec8d3b67db10b2d2d1cc130f845baf26d122c2
      7d5559cc
    • Ryan's avatar
      clean up the logic for generating tile boundary information · 639a9eba
      Ryan authored
      the tile boundary info flag was updated for each mi data structure
      which starts from cm->mi. there is the second level buffer which
      contains the pointer to the mi structure. it starts at
      cm->mi_grid_visible. for every coded block, pointer in the second level
      buffer only points to the top left mi structure of that particular coded
      block. in order to get the correct boundary info for each mi. we have to
      access the mi structure from cm->mi instead of cm->mi_grid_visible.
      this change doesn't impact the result, it only cleans up the logic.
      
      Change-Id: I8f883a284f600e3075754124b8197d78898a56be
      639a9eba
    • Urvang Joshi's avatar
      optimize_b_greedy: Avoid left shift of negative value. · 6eb35eb4
      Urvang Joshi authored
      Before:
      -------
      accu_error was always <= 0:
      - It was initialized to zero, and
      - Became more and more negative through the iterations.
      
      This meant that RDOPT() macro usage on accu_error was causing left shift
      of negative value.
      
      Now:
      ----
      - accu_error is initialized to a large positive value.
      - It becomes smaller on every iteration but remains >= always.
      
      This is functionally equivalent: verified that there's no change in
      output due to this patch.
      
      BUG=aomedia:600
      
      Change-Id: I654572a72234c588c8f332d5b66a5587fc6610b4
      6eb35eb4
    • Arild Fuldseth (arilfuld)'s avatar
      Fix a bug in determination of reference_mode · 6c20c78f
      Arild Fuldseth (arilfuld) authored
      Fix a bug where the encoder sets reference_mode =
      COMPOUND_REFERENCE even if the frame contains some
      4x4 blocks (but no larger blocks) that are single
      reference. This occurs only in corner cases,
      typically for very small frame sizes (e.g. 16x8).
      
      BUG=aomedia:575
      
      Change-Id: I5caedaa753a56e9f9b48995c1d2e0a0886aa4366
      6c20c78f
    • Debargha Mukherjee's avatar
      Unify and clean up resize arguments · 29e40a65
      Debargha Mukherjee authored
      Unifies the command line arguments for resize and superes.
      Removes resize arguments that are currently unused.
      
      Change-Id: I1362dffceb8257cee539f92679d1e8d79df08e66
      29e40a65
    • Fergus Simpson's avatar
      frame_superres: Add aomenc argument · c4e78942
      Fergus Simpson authored
      Adds "superres-mode" and "superres-numerator" arguments to configure
      superres scaling.
      
      There are only two modes right now: SUPERRES_FIXED and SUPERRES_DYNAMIC.
      0 sets the fixed mode and 1 sets the dynamic mode.
      
      For the fixed mode superres will scale to the provided numerator where
      possible. The cumulative scale change over resizing and superres is
      limited to 1/2, so it may have to back off.
      
      For the dynamic mode, the provided numerator will be used as the initial
      numerator. Asides from that it's just random for now.
      
      Change-Id: Ibae01c77abba2599fbf51096459d09ddca458d4f
      c4e78942
  2. 14 Jun, 2017 14 commits
  3. 13 Jun, 2017 12 commits
    • Yi Luo's avatar
      Add fast path quantizer AVX2 · 2d44b697
      Yi Luo authored
      - Function level improves 36% against sse2.
      - Encoder speeds up 2.6% at user level on i7-6700.
      
      Change-Id: I9e43ce60b1e0de8f532249e5c035851463d75dbb
      2d44b697
    • Yushin Cho's avatar
      Fix to use correct tx w/h sizes with daala-dist · 1c602b38
      Yushin Cho authored
      In function av1_xform_quant().
      
      For subset1, high delay mode:
         PSNR | PSNR Cb | PSNR Cr | PSNR HVS |    SSIM | MS SSIM | CIEDE 2000
      -0.0565 | -0.0975 |  0.0317 |  -0.0937 | -0.0930 | -0.1261 |    -0.0994
      
      Change-Id: I638c2a4c2ad359709069c1587b677a813fb589c2
      1c602b38
    • Lester Lu's avatar
      Add experimental flag for line graph transforms · 46fd1a05
      Lester Lu authored
      Change-Id: Iba98b07d2f19fd98be07d0c2c80c855661df778d
      46fd1a05
    • Fergus Simpson's avatar
      Make loop-restoration compatible w/ frame_superres · 9cd57cf8
      Fergus Simpson authored
      There were several places where loop_restoration used the encoded width
      and height while superres was active. This patch changes it to use the
      upscaled width and height, since loop_restoration is supposed to occur
      after superres has done its upscaling.
      
      Change-Id: I2b9bbb06b5370618758bf81d8eb63f2eef26af80
      9cd57cf8
    • David Barker's avatar
      Replace '#ifdef CONFIG_...' with '#if CONFIG_...' · 26762357
      David Barker authored
      This affects two places:
      * Fixes a compile error with frame-superres when
        highbitdepth is disabled.
      * Avoids including some supertx-related code when supertx
        is disabled
      
      BUG=aomedia:602
      
      Change-Id: Idfc478fd88ade91d48c93cfd8abdd2bea86de898
      26762357
    • David Barker's avatar
      Remove unused 'inter_mode_probs/cdf' · 846f1086
      David Barker authored
      Change-Id: I4ac551f52f9a5f589d58b643a9849ec17e3c11e8
      846f1086
    • Sebastien Alaiwan's avatar
      Remove dead member · 57c1b8c9
      Sebastien Alaiwan authored
      Change-Id: I58644fe61a1893d96958722d6044486f924ef2e9
      57c1b8c9
    • Tom Finegan's avatar
      Add README.md. · 9e57db29
      Tom Finegan authored
      And mark README as deprecated.
      
      Change-Id: I9b353f70de9261a1877e520928df30b42226c02f
      9e57db29
    • Yushin Cho's avatar
      Fix a bug in daala-dist · 09b01a24
      Yushin Cho authored
      Fix the bug that height of a partition is used as a stride mistakenly.
      This fixes the regression caused by sub8x8 tx size rd search
      for a partition >= 8x8.
      
      Change-Id: I6114814dcec70fd5198f681c0a861bc9849286fd
      09b01a24
    • Thomas Davies's avatar
      AOM_QM: Fix bug with applying QMs to 1D and identity transforms. · be44e512
      Thomas Davies authored
      Only apply quantisation matrices when the transform is 2D.
      
      Change-Id: Iae9ac910c11199f7944a80d10d334db3b711059d
      be44e512
    • Zoe Liu's avatar
      Add encoder/decoder pipeline to support single ref comp modes · 85b66463
      Zoe Liu authored
      Now the single ref comp mode should work with WEDGE and
      COMPOUND_SEGMENT. For motion_var, the OBMC_CAUSAL mode uses the 2nd
      predictor if the neighboring block is single ref comp mode predicted.
      
      This patch removes the mode of SR_NEAREST_NEWMV and leaves four
      single ref comp modes in total:
      
      SR_NEAREST_NEARMV
      SR_NEAR_NEWMV
      SR_ZERO_NEWMV
      SR_NEW_NEWMV
      
      Change-Id: If6140455771f0f1a3b947766eccf82f23cc6b67a
      85b66463
    • Yushin Cho's avatar
      Another fix of daala-dist for cb4x4 · c0f6bf25
      Yushin Cho authored
      Daala-dist replaces the luma distortion of sub8x8 partitions with
      its own distortion thus requires to split the luma distortion only.
      Doing so, there has been a bug that INT_MAX64 value comes
      when the sub8x8 parition is skipped. This happened because the existing
      code does not initialize the rd_stats_y or tmp_rd_stats_y, i.e. rd_stat struct
      for luma only in several places.
      
      Change-Id: If229b53bb7a6cff0b8751138a32b1dcf02665624
      c0f6bf25
  4. 12 Jun, 2017 6 commits
    • Fergus Simpson's avatar
      frame_superres: Fix bad assert · abd4343a
      Fergus Simpson authored
      Commit 12311 had a misplaced assert set that was causing superres debug
      runs to fail. The asserts just needed to be moved to where they were
      relevant to fix the issue.
      
      Change-Id: Ic370686c7156fcaf9380d8d8fd9d35b892d77e46
      abd4343a
    • Yue Chen's avatar
      Add a new experimental flag SBL_SYMBOL · 536e5520
      Yue Chen authored
      A new experiment SBL_SYMBOL, meaning superblock-level symbols, will
      be explored. It allows some symbols being coded at superblock level
      (64x64) by checking whether a symbol(e.g. motion_mode, tx depth,
      and interpolation filter) is identical across macroblocks in a
      superblock.
      
      Change-Id: I38408325c9b7a4b94c11c400a5060036ce36405e
      536e5520
    • Sarah Parker's avatar
      Clean up hbd transform code · 30dfa883
      Sarah Parker authored
      Responding to some left over cosmetic comments from
      2b5cdb1cf87c933331a16cc0221455d0a8c255e1
      
      Change-Id: I42e126593526cedd6675adf35b9c1df78e1ddf54
      30dfa883
    • Yushin Cho's avatar
      Fix a compile warning with global-motion off · c9751c59
      Yushin Cho authored
      Change-Id: I8379e4055e9c2737f1ad310095d7a318e6e74b2f
      c9751c59
    • Yushin Cho's avatar
      Fix a compile warning with dual-filter off · 60baa359
      Yushin Cho authored
      Change-Id: I68bb6ea8e26efe44bbbfb0f1a956620578578d55
      60baa359
    • Fergus Simpson's avatar
      frame_superres: Post encode/decode upscaling · d2bcbb56
      Fergus Simpson authored
      This patch implements the post-encode and post-decode upscaling for the
      frame superresolution experiment to work.
      
      Upscaling happens after cdef and before loop restoration.
      
      For now, this patch forces on random-superres.
      
      The patch also cleans up some broken rate control hooks from VP9
      days, to be brought back later when the resize and superres tools
      are stable.
      
      Change-Id: If0a8f69224dfaa0f4ae7703bd429ea2af953c7a6
      d2bcbb56