1. 12 Jun, 2017 4 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
    • 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
    • Zoe Liu's avatar
      Add encoder/decoder support for var-refs · 7b1ec7a9
      Zoe Liu authored
      Check the availability of the reference frames at the frame level at
      both encoder and decoder, and if a reference frame is not available
      for a specific video frame, remove the signaling of such reference
      frame info at the block level.
      
      This patch adds the consideration of the bit saving inside the RD
      optimization loop.
      
      Change-Id: I4c22f1b843b21c7d2b47e118c99c3ad615a3d4e4
      7b1ec7a9
    • Steinar Midtskogen's avatar
      Speed up CDEF parameter selection for cpu-used > 0 · b1555c93
      Steinar Midtskogen authored
      High delay cpu-used=4
         PSNR | PSNR Cb | PSNR Cr | PSNR HVS |    SSIM | MS SSIM | CIEDE 2000
       0.0579 |  0.1380 | -0.1975 |   0.0361 |  0.0226 |  0.0072 |     0.0470
      
      Low delay cpu-used=4
         PSNR | PSNR Cb | PSNR Cr | PSNR HVS |    SSIM | MS SSIM | CIEDE 2000
      -0.1016 | -0.0695 |  0.1013 |  -0.1324 | -0.0903 | -0.1260 |    -0.1710
      
      Change-Id: I5a66a1ffc2d1fb2a203065b7fbb2fd2bd2b281ad
      b1555c93
  2. 02 Jun, 2017 1 commit
    • Jingning Han's avatar
      Resolve extremely large stack alloc in rdopt · d064cf03
      Jingning Han authored
      Move the large stack allocation from stack initialization to
      dedicated mem space. This resolves the extremely large stack issue
      when ext-partition, motion-var, and high bit-depth are all turned
      on.
      
      BUG=aomedia:415
      
      Change-Id: I85b77bbc6429093fcb0152176d9e237087d6bbd8
      d064cf03
  3. 31 May, 2017 2 commits
  4. 30 May, 2017 1 commit
  5. 29 May, 2017 1 commit
  6. 25 May, 2017 1 commit
  7. 24 May, 2017 1 commit
    • David Barker's avatar
      ext-inter: Further cleanup · f19f35f7
      David Barker authored
      * Rename the 'masked_compound_*' functions to just 'masked_*'.
        The previous names were intended to be temporary, to distinguish
        the old and new masked motion search pipelines. But now that the
        old pipeline has been removed, we can reuse the old names.
      
      * Simplify the new ext-inter compound motion search pipeline
        a bit.
      
      * Harmonize names: Rename
        aom_highbd_masked_compound_sub_pixel_variance* to
        aom_highbd_8_masked_sub_pixel_variance*, to match the naming of
        the corresponding non-masked functions
      
      Change-Id: I988768ffe2f42a942405b7d8e93a2757a012dca3
      f19f35f7
  8. 23 May, 2017 1 commit
    • David Barker's avatar
      ext-inter: Delete dead code · 0f3c94e1
      David Barker authored
      Patches https://aomedia-review.googlesource.com/c/11987/
      and https://aomedia-review.googlesource.com/c/11988/
      replaced the old masked motion search pipeline with
      a new one which uses different SAD/SSE functions.
      This resulted in a lot of dead code.
      
      This patch removes the now-dead code. Note that this
      includes vectorized SAD/SSE functions, which will need
      to be rewritten at some point for the new pipeline. It
      also includes the masked_compound_variance_* functions
      since these turned out not to be used by the new pipeline.
      
      To help with the later addition of vectorized functions, the
      masked_sad/variance_test.cc files are kept but are modified
      to work with the new functions. The tests are then disabled
      until we actually have the vectorized functions.
      
      Change-Id: I61b686abd14bba5280bed94e1be62eb74ea23d89
      0f3c94e1
  9. 20 May, 2017 1 commit
  10. 19 May, 2017 3 commits
    • Fergus Simpson's avatar
      frame_superres: Refactor pre-encode frame size set · bc189939
      Fergus Simpson authored
      Before this commit set_frame_size decided on the frame size to use and
      then set it. It has been changed to just take an arbitrary size to make
      it more flexible.
      
      The decision of what size to use has been moved to the new
      set_scaled_size and existing av1_calculate_superres_size.
      
      setup_frame_size implements the old logic of getting the scaled size,
      then superres size, then setting the frame to use it.
      
      This change will make post-encode upscaling possible using
      set_frame_size since it can now be given a target resolution.
      
      Change-Id: I2f0f20740a54f751bc9963f279d6bcfdfb2722c2
      bc189939
    • Fergus Simpson's avatar
      frame_superres: Set superres scale to 1:1 at init · dac6aff9
      Fergus Simpson authored
      The superres scale was not initialized correctly, which prevented
      regular resizing if CONFIG_FRAME_SUPERRES was set. This patch
      initializes superres scaling to 1:1 so it won't interfere with anything
      else.
      
      Change-Id: I9e3c89e91a4eb66146b9b924e8c19d0ed44a8dc4
      dac6aff9
    • Fergus Simpson's avatar
      resize-refactor: Make av1_set_size_literal use int · 0a30c882
      Fergus Simpson authored
      av1_set_size_literal took unsigned ints as its size inputs. This was
      inconsistent with elsewhere in the code base so this change makes it
      take signed ints instead.
      
      Change-Id: I5f39f813714f5d6cb1fc93f928f33b3633b653ec
      0a30c882
  11. 18 May, 2017 1 commit
    • David Barker's avatar
      ext-inter: Use joint_motion_search for masked compounds · c155e018
      David Barker authored
      Add functions which take both components of a masked compound and
      compute the resulting SAD/SSE. Extend joint_motion_search to understand
      masked compounds, and use it to evaluate NEW_NEWMV modes.
      
      Change-Id: I782199a20d119a6c61c6567df157508125ac7ce7
      c155e018
  12. 15 May, 2017 1 commit
    • Fergus Simpson's avatar
      frame-superres: Pre-encode downscaling · 3502d08b
      Fergus Simpson authored
      Adds handling needed for the pre-encode downscaling for superres
      encoding. Makes use of the existing resizing functionality, just
      adjusting the target resolution after the resize logic and before the
      resize has actually occurred.
      
      Since the upscaling portion of superres is not yet implemented, superres
      scaling is not yet allowed to trigger. The numerator is set to be equal
      to the denominator and the superres_pending flag is not set.
      
      Change-Id: Ia5dac752d653c3bda319f0c8196e95bac2c8c554
      3502d08b
  13. 12 May, 2017 2 commits
    • Fergus Simpson's avatar
      frame_superres: Move av1_scale_if_requrired to common · 090bb60f
      Fergus Simpson authored
      This commit moves the av1_scale_if_required functions from
      av1/encoder/encoder to av1/common/resize. They take the
      scale_and_extend_frame_nonnormative function with them.
      
      This will be useful for resizing received frames in the decoder for the
      FRAME_SUPERRES experiment.
      
      Change-Id: I83afc3d97ff8ebce5ecb2e1205ba6c271156cb31
      090bb60f
    • Sebastien Alaiwan's avatar
      Fix HBD compilation of intrabc · 1dcb7075
      Sebastien Alaiwan authored
      Change-Id: Ie5718de1eb70fd753c2bfd7df9581aa92e13984c
      1dcb7075
  14. 09 May, 2017 2 commits
    • 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
    • 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
  15. 08 May, 2017 1 commit
    • 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
  16. 05 May, 2017 2 commits
  17. 04 May, 2017 5 commits
    • Thomas Daede's avatar
      Store pre_fc in AV1_COMMON rather than computing it on the spot. · 10e1da9a
      Thomas Daede authored
      Prep work for changing how frame contexts are signaled.
      
      Change-Id: I0db8ec631fc2d616d16fabaf72eac5663ffe3630
      10e1da9a
    • Fergus Simpson's avatar
      resize-refacor: Remove changing of scale by rate control · 0757fd8f
      Fergus Simpson authored
      This patch removes resize triggering by rate control and also removes
      pending resizes causing recodes in encode_with_recode_loop. The removed
      functionality will be replaced in the future, but it is simply being
      removed for now to simplify the work to do.
      
      Change-Id: Ia4a5840dcb463faab5aab1c08f640a7bcf5e6c5a
      0757fd8f
    • hui su's avatar
      Remove subframe_prob_update experiment · ed5a30f2
      hui su authored
      The coding gain from this experiment can be mostly obtained
      from ec-adapt.
      
      BUG=aomedia:450
      
      Change-Id: Ia7f9df9b2c13d8cdb962eeb39624f3e4e3f036ba
      ed5a30f2
    • Sebastien Alaiwan's avatar
      Remove some special cases for CONFIG_HIGHBITDEPTH · cd167c4e
      Sebastien Alaiwan authored
      This also avoids having 'bit_depth'/'bd' members whose presence
      is decided by the preprocessor.
      
      The goal is to simplify statements accessing the bitdepth value.
      (instead of forcing them to also rely on the preprocessor to query
      the member presence through #if CONFIG_HIGHBIDEPTH).
      
      Change-Id: I68b822bbaa2b1c67bde81cb4f3f8b9988b798b0d
      cd167c4e
    • Fergus Simpson's avatar
      resize-refactor: Refactor 2-pass VBR resizing · ddc846ea
      Fergus Simpson authored
      Replaces resizing's table and index approach to frame sizes with
      numerator and denominator integers in the AV1_COMP struct.
      
      This approach is more flexible and will be simpler going forward as it
      is much more similar to the 1-pass CBR approach that is also being
      refactored. The intention is to merge both approaches and this is the
      first step toward that.
      
      Change-Id: I5733c0687390f8a8e2790dcddfa09fb08ab88376
      ddc846ea
  18. 03 May, 2017 1 commit
  19. 29 Apr, 2017 1 commit
  20. 28 Apr, 2017 3 commits
  21. 25 Apr, 2017 1 commit
    • Fangwen Fu's avatar
      Extend delta q to have delta lf · 231fe424
      Fangwen Fu authored
      This is the second patch.
      * Add delta loop filter level at super block level.
      * Add symbol coding for delta lf syntax
      * Allow delta lf to work with segments
      
      Change-Id: I393a021a875d03c6e113127cbb3543fc077308e4
      231fe424
  22. 24 Apr, 2017 2 commits
    • Fangwen Fu's avatar
      Extend delta q with segments · 6160df29
      Fangwen Fu authored
      This is the first patch for ext_delta_q experiment.
      * Allow delta q to work with segment features
      
      Change-Id: I9455ebb3b5b23b41daa4afa1149672a20d3a3f2c
      6160df29
    • Luc Trudeau's avatar
      [CFL] Custom block-level DC_PRED · f8164157
      Luc Trudeau authored
      Adds the CfL experiment flag and computes a block-level DC_PRED that is
      required by CfL in order to compute alpha_cb and alpha_cr.
      
      The rate-distorsion impact of computing DC_PRED at the prediction block level
      for chroma planes is rather small
      
      Subset 1:
      master_no_cdef@2017-04-18T20:37:05.712Z
        -> block_DCPRED_no_cdef@2017-04-18T20:38:07.381
        PSNR | PSNR Cb | PSNR Cr | PSNR HVS |   SSIM | MS SSIM | CIEDE 2000
      0.0712 |  0.0337 | -0.1692 |   0.0693 | 0.0814 |  0.0710 |    -0.0063
      Note: CDEF was disabled because of problematic asserts.
      
      Change-Id: I44d1cde8605b108366f4bd4cedbf5159dbbb5880
      f8164157
  23. 20 Apr, 2017 2 commits